Разработка и проектирование ПИД-регуляторов

Изучение общих принципов построения пропорционально-интегрально-дифференциальных технологических регуляторов. Проектирование алгоритма регуляторов температуры на базе дешевых микроконтроллеров MSP430 (Texas Instruments). Дискретная форма регулятора.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 12.10.2015
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

4. Настройка параметров регулятора. основные принципы

4.1 Выбор параметров регулятора. Ручная и Автоматическая настройки

Впервые методику расчёта параметров ПИД-регуляторов предложили Зиглер и Никольс в 1942 году. Эта методика очень проста и даёт не очень хорошие результаты. Тем не менее, она до сих пор часто используется на практике, хотя до настоящего времени появилось множество более точных методов.

После расчёта параметров регулятора обычно требуется его ручная подстройка для улучшения качества регулирования. Для этого используется ряд правил, хорошо обоснованных теоретически.

Для настройки ПИД-регуляторов можно использовать и общие методы теории автоматического управления, такие как метод назначения полюсов и алгебраические методы. В литературе опубликовано и множество других методов, которые имеют преимущества в конкретных применениях. Мы приведём только самые распространённые из них.

Все аналитические (формульные) методы настройки регуляторов основаны на аппроксимации динамики объекта моделью первого или второго порядка с задержкой. Причиной этого является невозможность аналитического решения систем уравнений, которое необходимо при использовании моделей более высокого порядка. В последние годы в связи с появлением мощных контроллеров и персональных компьютеров получили развитие и распространение численные методы оптимизации. Они являются гибким инструментом для оптимальной настройки параметров регулятора для моделей любой сложности и легко учитывают нелинейности объекта управления и требования к робастности.

Настройка параметров регулятора по методу Зиглера и Никольса. Зиглер и Никольс предложили два метода настройки ПИД-регуляторов. Один из них основан на параметрах отклика объекта на единичный скачок, второй - на частотных характеристиках объекта управления. Для расчёта параметров ПИД-регулятора по первому методу Зиглера-Никольса используются всего два параметра: a и L (рисунок 23). Формулы для расчёта коэффициентов ПИД-регулятора сведены в таблице 1.

В качестве примера на рисунке 22 приведён отклик на единичный скачок системы с объектом второго порядка и ПИД-регулятором, настроенным по таблице 1, и переходная характеристика самого объекта управления. Из характеристики объекта получены значения a = 0,135 и L = 0,135 c. По таблице 1 для этих значений a и L можно найти коэффициенты ПИД-регулятора: K = 8,9, Ti = 0,00796 c, Td = 0,156 c. На рисунке 24 приведён также отклик на единичный скачок той же системы при параметрах K =15, Ti = 0,013 c, Td = 0,525 c, полученных путём ручной подстройки. Как видим, метод Зиглера-Никольса даёт параметры, далёкие от оптимальных. Это объясняется не только упрощённостью самого метода (он использует только 2 параметра для описания объекта), но и тем, что параметры регулятора в этом методе определялись Зиглером и Никольсом, исходя из требования к декременту затухания, равному 4, что и даёт медленное затухание процесса колебаний.

Метод Зиглера-Никольса никак не учитывает требования к запасу устойчивости системы, что является вторым его недостатком. Судя по медленному затуханию переходного процесса в системе, этот метод даёт слишком малый запас устойчивости.

Метод CHR. В отличие от Зиглера и Никольса, которые использовали в качестве критерия качества настройки декремент затухания, равный 4, Chien, Hrones и Reswick (CHR) [9] использовали критерий максимальной скорости нарастания при отсутствии перерегулирования или при наличии не более чем 20-процентного перерегулирования. Такой критерий позволяет получить больший запас устойчивости, чем в методе Зиглера-Никольса.

Рисунок 22 - Критерии качества регулирования в частотной области

Рисунок 23 - Переходная характеристика объекта второго порядка - сплошная линия и его аппроксимация моделью (1) - штриховая линия

Метод CHR даёт две разные системы параметров регулятора. Одна из них получена при наблюдении отклика на изменение уставки (таблица 2), вторая - при наблюдении отклика на внешние возмущения (таблица 3). Какую систему параметров выбирать, зависит от того, что важнее для конкретного регулятора: качество регулирования при изменении уставки или ослабление внешних воздействий. Если же важно и то и другое, то необходимо использовать регуляторы с двумя степенями свободы.

Метод CHR использует аппроксимацию объекта моделью первого порядка с задержкой (1).

В CHR используются те же исходные параметры a и L, что и в методе Зиглера-Никольса.

Обратим внимание, что пропорциональный коэффициент в методе CHR меньше, чем в методе Зиглера-Никольса.

Ручная настройка ПИД-регулятора, основанная на правилах. Расчёт параметров по формулам не может дать оптимальной настройки регулятора, поскольку аналитически полученные результаты основываются на сильно упрощённых моделях объекта. В частности, в них не учитывается всегда присутствующая нелинейность типа «ограничение» для управляющего воздействия. Кроме того, модели используют параметры, идентифицированные с некоторой погрешностью. Поэтому после расчёта параметров регулятора желательно сделать его подстройку. Подстройку можно выполнить на основе правил, которые используются для ручной настройки. Эти правила получены из опыта, теоретического анализа и численных экспериментов. Они сводятся к следующему:

- увеличение пропорционального коэффициента увеличивает

быстродействие и снижает запас устойчивости;

- с уменьшением интегральной составляющей ошибка регулирования с течением времени уменьшается быстрее;

- уменьшение постоянной интегрирования уменьшает запас устойчивости;

- увеличение дифференциальной составляющей увеличивает запас устойчивости и быстродействие.

Таблица 1 - Формулы для расчёта коэффициентов регулятора по методу Зиглера-Никольса

Таблица 2 - Формулы для расчёта коэффициентов регулятора по методу CHR, по отклику на изменение уставки

Таблица 3 - Формулы для расчёта коэффициентов регулятора по методу CHR,по отклику на внешние возмущения

Перечисленные правила применяются также для регуляторов, использующих методы экспертных систем и нечёткой логики.

Ручную настройку с помощью правил удобно выполнять с применением интерактивного программного обеспечения на компьютере, временно включённом в контур управления.

T1 = T2 = 0,1 c ; L = 0,001 c

Рисунок 24 - Результат настройки ПИД-регулятора по методу Зиглера- Никольса для объекта второго порядка T1 = T2 = 0,1 c и L = 0,001 c

Для оценки реакции системы на изменение уставки, внешние воздействия или шумы измерений подают искусственные воздействия и наблюдают реакцию на них. После выполнения настройки значения коэффициентов регулятора записывают в память ПИД-контроллера, а компьютер удаляют.

Отметим, что применение правил возможно только после предварительной настройки регулятора по формулам. Попытки настроить регулятор без начального приближённого расчёта коэффициентов могут быть безуспешными.

При регулировке тепловых процессов настройка по правилам может занять недопустимо много времени.

Сформулированные правила справедливы только в окрестности оптимальной настройки регулятора. Вдали от неё эффекты могут быть иными.

Численные методы оптимизации для настройки ПИД-регуляторов. Методы оптимизации для нахождения параметров регулятора концептуально очень просты. Выбирается критерий минимизации, в качестве которого может быть один из показателей качества или комплексный критерий, составленный из нескольких показателей с разными весовыми коэффициентами. К критерию добавляются ограничения, накладываемые требованиями робастности. Таким путём полу чается критериальная функция, зависящая от параметров ПИД-регулятора. Далее используются численные методы минимизации критериальной функции с заданными ограничениями, которые и позволяют найти искомые параметры ПИД-регулятора.

Методы, основанные на оптимизации, имеют следующие достоинства:

- позволяют получить оптимальные значения параметров, не требующие дальнейшей подстройки;

- не требуют упрощения модели объекта, модель может быть как угодно сложной;

- позволяют быстро достичь конечного результата (избежать процедуры длительной подстройки параметров).

Однако реализация данного подхода связана с большими проблемами, которые не один десяток лет являются предметом научных исследований. К этим проблемам относятся:

- длительность процесса поиска минимума;

- низкая надёжность метода (во многих случаях вычислительный процесс может расходиться и искомые коэффициенты не будут найдены);

- низкая скорость поиска минимума для овражных функций и функций с несколькими минимумами.

Тем не менее методы оптимизации являются мощным средством настройки ПИД-регуляторов с помощью специально разработанных для этого компьютерных программ.

Автоматическая настройка и адаптация. Естественным направлением развития коммерческих ПИД-регуляторов является разработка методов, позволяющих снизить затраты человеческого труда на инсталляцию, настройку и обслуживание. Несмотря на то что многие методы автоматической настройки и адаптации ПИД-регуляторов, используемые в настоящее время, были разработаны ещё в 60-х годах XX века, в промышленных контроллерах адаптивная техника начала использоваться только с середины 80-х. Это связано с технической сложностью реализации адаптивных алгоритмов на элементной базе, которая существовала до появления микроконтроллеров.

Настройка может выполняться вручную или автоматически, без участия человека (автонастройка).

Автонастройка может выполняться полностью автоматически и по требованию, когда человек является инициатором настройки. Полностью автоматическая настройка может инициироваться при наступлении заранее заданного условия (например, при изменении нагрузки, при изменении внешних воздействий, при изменении погрешности регулирования) или непрерывно во времени. Автоматическая настройка, инициируемая без участия человека, называется адаптацией. Примером адаптации может быть автонастройка при изменении числа яиц в инкубаторе или при изменении нагрузки на валу двигателя. Иногда термин «адаптация» трактуют более широко, как приспособление регулятора к реальному объекту на стадии ввода системы в эксплуатацию .

Разновидностью адаптации является разомкнутое управление параметрами регулятора (табличная автонастройка), когда заранее найденные параметры регулятора для разных условий работы системы заносятся в таблицу, из которой они извлекаются при наступлении условий, по которым инициируется адаптация. Отметим, что адаптация в принципе является медленным процессом, поэтому её нельзя рассматривать как непрерывное слежение параметров регулятора за изменяющимися параметрами объекта.

Отметим, что регуляторы, настроенные в автоматическом режиме, чаще настроены хуже, чем настроенные в ручном режиме. Объясняется это философским умозаключением, что компьютер не может выполнять сложные и плохо формализуемые задачи лучше человека. В настоящий момент отсутствуют простые, надёжные и общепринятые методы автоматической настройки.

Основные принципы. Все виды автоматической настройки используют три принципиально важных этапа: идентификация, расчёт параметров регулятора, настройка регулятора. Часто конечный этап включает этап подстройки (заключительная оптимизация настройки). Оптимизация настройки необходима в связи с тем, что методы расчёта параметров регулятора по формулам не учитывают нелинейности объекта, в частности, всегда присутствующую нелинейность типа «ограничение», а идентификация параметров объекта выполняется с некоторой погрешностью. Подстройка регулятора может быть поисковой (без идентификации объекта, путём поиска оптимальных параметров) и беспоисковой (с идентификацией). Поисковая идентификация базируется обычно на правилах или на итерационных алгоритмах поиска минимума критериальной функции. Наиболее распространён поиск оптимальных параметров с помощью градиентного метода: находят производные от критериальной функции по параметрам ПИД-регулятора, которые являются компонентами вектора градиента, а далее производится изменение параметров в соответствии с направлением градиента.

Важно подчеркнуть, что несмотря на наличие автоматической подстройки, контроллер может не дать требуемого качества регулирования по причинам, не зависящим от качества заложенных в него алгоритмов. Например, объект управления может быть плохо спроектирован (зависимые контуры регулирования, большая задержка, высокий порядок объекта); объект может быть нелинейным; датчики могут быть расположены не в том месте, где нужно, и иметь плохой контакт с объектом, уровень помех в канале измерения может быть недопустимо большим; разрешающая способность датчика может быть недостаточно высокой; источник входного воздействия на объект может иметь слишком большую инерционность или гистерезис; могут быть также ошибки в монтаже системы, плохое заземление, обрывы проводников и т.д. Поэтому, прежде чем начинать автоматическую настройку, необходимо убедиться в отсутствии перечисленных проблем. Например, если вследствие износа механической системы появился непредусмотренный проектом гистерезис и поэтому система находится в режиме колебаний, подстройка регулятора может не дать желаемого результата, пока не устранена причина проблемы.

Структурная схема самонастраивающейся системы приведена на рисунке 25. Автонастройка практически не имеет никаких особенностей по сравнению с описанными ранее методами, за исключением того, что она выполняется в автоматическом режиме. Основным этапом автоматической настройки и адаптации является идентификация модели объекта. Она выполняется в автоматическом режиме обычными методами идентификации параметров моделей объектов управления. Автоматическая настройка может выполняться и без идентификации объекта, основываясь на правилах или поисковых методах.

Рисунок 25 - Общая структура системы с автоматической настройкой

Для выполнения качественного регулирования, в том числе после автоматической настройки ПИД-регулятора, необходимы знания о динамическом поведении объекта управления. Процесс получения (синтеза) математического описания объекта на основе экспериментально полученных сигналов на его входе и выходе называется идентификацией объекта. Математическое описание может быть представлено в табличной форме или в форме уравнений. Идентификация может быть структурной, когда ищется структура математического описания объекта, или параметрической, когда для известной структуры находят величины параметров, входящих в уравнения модели. Когда ищутся параметры модели с известной структурой, то говорят об идентификации параметров модели, а не объекта.

Результатом идентификации может быть импульсная или переходная характеристика объекта, а также соответствующие им спектральные характеристики, которые могут быть представлены в виде таблицы (массива), а не в форме математических зависимостей. Табличные характеристики могут использоваться в дальнейшем для структурной и параметрической идентификации математической модели объекта регулирования или непосредственно для определения параметров ПИД-регулятора.

Несмотря на разнообразие и сложность реальных объектов управления, в ПИД-регуляторах используются, как правило, только две структуры математических моделей: модель первого порядка с задержкой и модель второго порядка с задержкой. Гораздо реже используются модели более высоких порядков, хотя они могут более точно соответствовать объекту.

Существуют две причины, ограничивающие применение точных моделей. Первой из них является невозможность аналитического решения системы уравнений, описывающих ПИД-регулятор с моделью высокого порядка (а именно аналитические решения получили наибольшее распространение в ПИД-регуляторах с автоматической настройкой). Вторая причина состоит в том, что при большом числе параметров и высоком уровне шума измерений количество информации, полученной в эксперименте, оказывается недостаточным для идентификации тонких особенностей поведения объекта.

Выбор оптимальной модели обычно основан на критерии достаточности качества регулирования при минимальной сложности модели. Для нелинейных процессов и при повышенных требованиях к качеству регулирования разрабатывают модели с индивидуальной структурой, основываясь на физике процессов, протекающих в объекте управления.

Если процесс любой сложности аппроксимировать моделью первого порядка с транспортной задержкой (рисунок 26), то полученные таким способом постоянная времени Т и задержка L называются соответственно эффективной постоянной времени и эффективной задержкой.

Идентификация может выполняться с участием оператора или в автоматическом режиме, а также непрерывно (в реальном времени) - в адаптивных регуляторах либо по требованию оператора - в регуляторах с самонастройкой.

Теория ПИД-регуляторов хорошо развита для линейных объектов управления. Однако практически все реальные объекты имеют нелинейность типа «ограничение управляющего воздействия». Ограничение может быть связано, например, с ограниченной мощностью нагревателя при регулировании тепловых процессов, с ограничением площади сечения перепускного клапана, с ограничением скорости потока жидкости и т.п. Ограничение «снизу» в тепловых системах связано с тем, что источник тепла не может, как правило, работать в режиме холодильника, когда этого требует закон регулирования.

Для минимизации нелинейных эффектов при идентификации объекта в рабочей точке («в малом») используют малые изменения управляющего воздействия, когда нелинейности системы можно не учитывать. При этом процесс вывода системы в зону линейности является предметом отдельного рассмотрения.

Идентификацию можно выполнять в замкнутом контуре с обратной связью или в разомкнутом. Идентификация в замкнутом контуре может быть косвенной и прямой. При косвенной идентификации измеряется тестовый сигнал и отклик на него системы с обратной связью, затем путём вычислений по уравнениям системы находится передаточная функция объекта управления. При прямой идентификации передаточная функция объекта находится по измерениям сигналов непосредственно на его входе и выходе.

Различают активную идентификацию (с помощью воздействия на систему, которое подаётся специально с целью идентификации) и пассивную (в качестве воздействий используют сигналы, имеющиеся в системе в процессе её нормального функционирования). В пассивном эксперименте производят только наблюдение за поведением системы в нормальном режиме её функционирования, пытаясь извлечь из этого наблюдения информацию, достаточную для настройки регулятора.

Существуют два способа получения модели объекта управления: формальный и физический. При формальном подходе используют модель типа «чёрный ящик», в которой не содержится информация о физических процессах, происходящих в объекте, или о его структуре. Синтез формальной модели сводится к выбору одной из небольшого числа моделей, описываемых далее, и идентификации её параметров.

Модель первого порядка. Наиболее распространёнными объектами управления являются системы, описываемые уравнениями тепломассопереноса. Реакция таких объектов (при условии, что они являются линейными по входному воздействию) на ступенчатое входное воздействие имеет задержку L и точку перегиба (рисунок 26). Точное решение этих уравнений осуществляется численными методами и в теории автоматического управления не используется. Используют достаточно простое выражение передаточной функции объекта управления (модель первого порядка с транспортной задержкой):

, (37)

где s - комплексная частота;

Kp - коэффициент передачи в установившемся режиме;

T - постоянная времени;

L - транспортная задержка.

Как видим, модель первого порядка описывается тремя параметрами: Kp, T, L, которые должны быть найдены в процессе идентификации. На рисунке 26 приведена переходная характеристика реального объекта, измеренная в производственном цехе с помощью модуля NL-4RTD серии RealLab! (НИЛ АП), датчика ТСМ-50, OPC_сервера NLopc и программы MS Excel. Погрешность измерений составляет 1 градус, разрешающая способность - 0,01 градуса. Экспериментально снятые точки (несколько тысяч) образуют сплошную линию, кривая аппроксимирующей модели показана штриховой линией.

Модель второго порядка. Если описанная модель первого порядка оказывается слишком грубой, используют модель второго порядка:

, (38)

где T1, T2 -- две постоянные времени объекта управления.

Модель второго порядка имеет характерную точку перегиба на передаточной характеристике. Другими примерами интегрирующих процессов могут быть перемещение ленты транспортёра, поворот оси двигателя, налив жидкости в ёмкость, рост давления в замкнутом сосуде.

Применение более сложных моделей позволяет улучшить качество регулирования, однако делает невозможным простой аналитический расчёт параметров регулятора на основании параметров модели. Для сложных моделей качество регулирования ограничивается не точностью модели, а возможностями ПИД-регулятора. Поэтому наибольшее распространение в

ПИД-регуляторах нашли простейшие линейные модели первого и второго порядка.

Рисунок 26 - Температура трубы отопления здания после включения клапана подачи теплоносителя (аппроксимация моделью первого порядка)

Выбор тестовых сигналов и измерение динамических характеристик. Для идентификации объекта управления необходимо измерять сигнал на его входе u(t) и реакцию y(t) на выходе. Идентификацию можно выполнить не только путём подачи тестового сигнала на вход системы, но и посредством изменения нагрузки (например, нагрузки на валу двигателя), а также параметров объекта (например, количества яиц в инкубаторе). Идентификация в пассивном эксперименте привлекательна тем, что не вносит погрешность в нормальное течение технологического процесса, однако её достоверность крайне низка в принципе и может привести не к настройке, а расстройке ПИД-регулятора. Тем не менее, число патентов по ПИД-регуляторам с пассивной идентификацией равно числу патентов с активной идентификацией.

При проведении активного эксперимента возникает задача выбора формы тестового воздействия. Используют сигналы в форме ступеньки (скачка), в форме прямоугольного импульса, линейно нарастающего сигнала, треугольного импульса, псевдослучайного двоичного сигнала (ПСДС), шума, синусоидальных воздействий (частотный метод). Наиболее часто для настройки

ПИД-регуляторов используют скачок и двойной прямоугольный импульс (первый импульс - вверх, второй - вниз относительно установившегося значения).

Тестовое воздействие должно иметь достаточно малую амплитуду, чтобы переходный процесс в объекте оставался в границах линейности. В то же время оно должно быть достаточно большим, чтобы увеличить отношение сигнала к шуму и внешним возмущениям.

Объект должен находиться в установившемся состоянии перед подачей тестового сигнала и быть устойчивым.

Граничная частота спектра тестового сигнала должна быть выше наибольшего по абсолютной величине полюса передаточной функции объекта. Точнее, выше, чем частота единичного усиления щ1 разомкнутого контура с обратной связью. До настройки регулятора, когда частота щ1 ещё неизвестна, верхнюю граничную частоту спектра тестового сигнала выбирают выше частоты щ180, на которой фазовый сдвиг выходного синусоидального сигнала объекта относительно входного составляет -180°. Указанный диапазон частот важен потому, что именно на частоте щ180 возникают колебания, когда объект находится на границе устойчивости в замкнутом контуре с релейным регулятором или П-регулятором. В контуре с ПИ-регулятором частота затухающих колебаний может быть ниже и соответствовать точке, где сдвиг фаз в объекте составляет около -145° [2] вследствие дополнительного фазового сдвига, вносимого интегратором. В ПИД-регуляторах дифференцирующее звено может скомпенсировать этот фазовый сдвиг, и колебания возникнут на частоте щ180.

Нижняя граница диапазона, в котором необходимо достаточно точно идентифицировать передаточную функцию, должна быть примерно в 10 раз ниже частоты единичного усиления щ1. Более точно нижнюю границу диапазона можно определить только после настройки ПИД-регулятора.

5. Программирование встраиваемых систем

5.1 Общие принципы разработки встраиваемых систем

Существует 2 общих принципа разработки практически любой технической системы: т. н. принцип разработки «сверху вниз» и «снизу вверх». В первом случае в начале описывается функционирование системы в целом, абстрагируясь от конкретной архитектуры микроконтроллера, далее этот функционал начинает делиться по какому-либо признаку, например, идет разделение микропроцессорного устройства на различные функциональные подсистемы. Затем все подсистемы устройства снова делятся на более малые функциональные блоки. При этом после очередного выделения работа конкретного блока описывается все более детально. Так продолжается до тех пор, пока от схематичного описания нельзя будет перейти к конкретной последовательности операций описываемой на том или ином языке программирования.

При проектировании микропроцессорной системы по принципу «снизу верх» вначале на языке программирования высокого или низкого уровня описываются отдельные элементарные функциональные блоки приложения, затем объединяются в более крупные с предоставлением более абстрактного интерфейса взаимодействия.

5.2 Этапы создания ПО для встраиваемых систем

Процесс создания программного обеспечения (ПО) к устройству состоит из нескольких этапов:

- написание и отладка рабочего макета устройства;

- создание версии для тестирования в различных условиях работы прибора, а также для тестирования ПО на предмет удобства работы пользователем;

- сопровождение ПО с момента выхода первой серийной партии (исправление сбоев и ошибок в работе, которые были упущены в процессе тестирования).

Исходный код был написан нами на языке высокого уровня Си. При написании исходного кода были использованы руководство пользователя по микроконтроллерам TI семейства MSP430x1xx, описание на микроконтроллер MSP430F149, руководство по использованию программатора.

Производителем МК поставляются средства для его программирования через инструментальное ПО - т.н. аппаратные программаторы, обеспечивающие взаимодействие инструментального ПО с микроконтроллером. Авторами был использован фирменный программатор MSP-FET430UIF, подключаемый к персональному компьютеру разработчика (ПК) через интерфейс USB и позволяющий вести внутрисхемную отладку прошивки МК через интерфейс JTAG.

5.3 Иерархия исполняемого кода во встраиваемых системах

Весь код созданной программы микроконтроллера может быть разделен на 3 условных уровня:

1) Приложение. На уровне приложения происходит отработка основного алгоритма терморегулятора: обсчет регулирующего воздействия по ПИД-алгоритму и изменение настроек регулятора. Весь функционал системы реализуется посредством обращения приложения верхнего уровня к различным драйверам периферийных устройств через предоставляемый этими драйверами интерфейс.

2) Уровень API (application programming interface) - это уровень различных подпрограмм-драйверов регулятора [4]. К ним можно отнести упомянутый драйвер индикатора, драйвер барграфической шкалы, драйвер выдачи измеренной текущей температуры от датчика, драйвер выходных реле и формирования ШИМ-сигнала, а также драйвер опроса клавиатуры. Структура драйверов тесно связана со схемным решением устройства. К примеру индикатор может управляться как напрямую через порты ввода/вывода, так и через сдвиговый регистр; посредством динамической индикации или через специализированную микросхему-контроллер по цифровому интерфейсу. Основные внутрисхемные интерфейсы встречающиеся в микропроцессорных устройствах на сегодняшний день - это I2C, SPI, USART. Также ими могут быть IDE, SATA и USB. К типовым аппаратным интерфейсам также относятся порты ввода для опроса клавиатуры или энкодера с устранением эффекта «дребезга контактов», а также интерфейсы для работы с ЖКИ-матрицами. К последним можно отнести АЦП для опроса сенсорной панели, а также интерфейсы для подключения TFT-матриц - LVDS и RGB-шины.

3) Уровень HAL (hardware abstraction layer) - т. е. уровень абстракции аппаратной части. В коде данного уровня описаны определения различных периферийных регистров, системных констант (например, задержки обновления символов на индикаторе), и другая информация для абстрагирования текста кода от конкретной аппаратной реализации МК. Целью создания кода на данном уровне является возможность быстрого и удобного переноса написанного приложения и его функционала на более или менее мощные микроконтроллеры данного семейства. К примеру если в одном МК ножка сигнала совпадения аппаратного таймера выведена на порт PB4, а в другом МК этот сигнал реализован на ножке PC2, то для изменения кода прошивки достаточно переопределить «сигнал таймера» на тот или иной порт только в коде HAL. В остальных частях кода нет ни одного упоминания о конкретных портах - вместо этого используется абстракция «сигнал таймера».

Исходя из представленной иерархии функционала весь код прошивки может быть представлен как минимум тремя отдельными файлами, включенными в проект среды разработки:

- main.c;

- drivers.c;

- HAL.c.

Т. к. все эти отдельные фрагменты кода должны быть связаны при сборке проекта на Си, необходимо включить еще 3 заголовочных файла:

- main.h;

- drivers.h;

- HAL.h.

В случае, если какой-либо из уровней имеет более богатый функционал, также имеет смысл разбиение этого функционала на отдельные файлы с кодом. Например, при наличии развитой системы отображения информации отдельно от файлов drivers.c и drivers.h могут быть созданы файлы display_driver.c и display_driver.h содержащие исключительно код для вывода информации на дисплей. Такое разбиение кода (рисунок 27) может сильно облегчить труд разработчика при внесении изменений в конструкцию встраиваемой системы. при переходе на другой тип дисплея не придется тратить время на просмотр и правку всего кода, достаточно внести изменения в 2-х вышеуказанных файла.

Рисунок 27 - Иерархическое разбиение кода встраиваемой системы

6. Алгоритм работы созданного программного обеспечения

6.1 Описание алгоритма работы ПИД-регулятора температуры на базе микроконтроллера MSP430F149

Общий алгоритм работы построенного ПИД-регулятора представлен на рисуноке 28. Как видно из этого рисунка при подаче питания устройство начинает циклически производить измерение температуры, расчет управляющего воздействия, опрос клавиатуры на предмет команд от пользователя и обновление содержимого буфера семисегментного индикатора. Перед запуском основного цикла работы соответствующие порты ввода-вывода настроены для восприятия сигналов от клавиатуры и выдачи информации на индикатор. Помимо портов ввода-вывода также проинициализированы прерывания от аппаратных таймеров-счетчиков - таймера A и таймера B. Таймер B настроен на режим выдачи широтно-импульсного сигнала на внешний вывод МК. Таймер A - настроен на периодический счет импульсов с последующим сбросом при переполнении и выдачей сигнала прерывания по переполнению. Этот таймер используется для периодического запуска аналого-цифрового преобразователя, к которому подключен датчик температуры. Помимо запуска АЦП таймер A управляет работой индикатора и опросом 3-х аппаратных кнопок.

Кроме того ПО ПИД-регулятора реализует функции сохранения пользовательских настроек во внутренней Flash-памяти устройства. К настройкам пользователя относятся П, И, Д - коэффициенты регулирования, коэффициенты сдвига и наклона характеристики термодатчика, уставка регулирования и верхние/нижние значения калибровок АЦП и выходного ШИМ-сигнала.

Рисунок 28 - Общий алгоритм работы разработанного ПИД-регулятора

Измерение температуры при помощи термопары может быть реализовано при помощи нескольких известных способов :

- Ввод коэффициента пропорциональности между измеряемым напряжением термо-ЭДС и температурой термопары в ограниченном диапазоне температур. Является простейшим методом измерения, однако и наименее точным

- Сопоставление измеренной термо-ЭДС со значением температуры из таблицы номинальной статической характеристики для конкретной термопары. Данное решение позволяет добиться приемлемой для большинства задач точности измерений. Недостатком метода является требование к наличию достаточного объема памяти в устройстве для хранения таблицы значений термо-ЭДС в заданном диапазоне температур.

- Наиболее точным способом преобразования «термо-ЭДС - температура» является применение уравнений высокого порядка позволяющих математически точно описать характеристику того или иного типа термопары. Например полином для термопары типа ТХК (хромель-копель) имеет вид:

, (39)

гдеE - измеренная термо-ЭДС;

t - температура.

Ci - коэффициенты полинома, причем:

С0 = 3,1116085 * 10-2

С1 = 1,5632542 * 10

С2 = -0,2281310

С3 = 1,6061658 * 10-2

С4 = -1,2036818 * 10-3

С5 = 5,7602230 * 10-5

С6 = -1,6144584 * 10-6

С7 = 2,5988757 * 10-8

С8 = -2,2286755 * 10-10

С9 = 7,8910747 * 10-13

Очевидным недостатком такого подхода является повышенное требование к вычислительной мощности аппаратного обеспечения. При его нехватке скорость преобразования может заметно снизиться.

В предложенном алгоритме ПО реализован 2-й метод преобразования термо-ЭДС от датчика в значение температуры.

Функция преобразования и таблица НСХ термопары находится в дополнительном программном модуле Termocouple.c. Таблица реализована в виде массива чисел отражающих значение термо-ЭДС с шагом в 1 градус Цельсия. Поиск наиболее подходящего значения термо-ЭДС в массиве реализован методом дихотомии. Причем в случае получения значения термо-ЭДС находящегося между 2-х конкретных точек НСХ, будет возвращено значение нижней точки + 0,5 градуса. Также для более точного преобразования рекомендуется применение линейной аппроксимации между вышеупомянутыми точками НСХ. Диапазон значений температуры отраженных в массиве равен -50 … +750 °С. Для возвращения значения температуры необходимо от позиции выбранного в массиве числа отнять смещение в 50 градусов.

Процесс получения рабочего значения термо-ЭДС заключается в наборе в отдельный массив (int ADC_data[256]) 256-ти значений термо-ЭДС от АЦП с последующим вычислением среднего арифметического значения.

Результат расчета управляющего воздействия u, которое необходимо подать на выход регулятора состоит из нескольких этапов и осуществляется циклически по прерываниям от таймера А.

Если поднят флаг OUTPUT_Update происходит обновление выходного постоянного тока аналогового выхода регулятора. Во-первых, в переменной int ERR вычисляется разность текущей температуры и уставки, т. е. невязка. Далее происходит накопление интегратора путем прибавления к содержимому переменной INTEGRATOR значения произведения ERR на коэффициент интегральной составляющей I. Поскольку в настройках пользовательского меню этот коэффициент представлен как число с десятичной дробной составляющей, результат всего выражения дополнительно делится на константу 10. Таким образом происходит обработка интегрирующего звена без участия в ячейках памяти чисел с плавающей точкой.

Значение дифференциальной составляющей обновляется с периодом дифференцирования, который в 1000 раз больше периода изменения значения регулирующего воздействия. В рамках данной задачи время дифференцирования выбрано с фиксированным значением, однако для расширения круга применения ПИД-регулятора это время может быть и изменяемым через пользовательское меню. Значение дифференциатора хранящееся в переменной int DIFFERENCIATOR вычисляется как произведение коэффициента дифференцирования D на разность значений текущей невязки ERR и невязки во время предыдущего дифференцирования PREV_ERR. Аналогично, как и в случае с интегрирующим звеном, результат выражения дополнительно делится на константу 10. После установления нового значения переменной DIFFERENCIATOR значение переменной PREV_ERR становится равным значению переменной ERR, поскольку для следующей операции дифференцирования значение ERR будет расцениваться как предыдущее.

На завершающем этапе вычисления регулирующего воздействия суммируются значения невязки, дифференциатора и интегратора с последующим умножением суммы на значение коэффициента пропорциональности.

Также во время вычисления значения регулирующего воздействия u происходит немедленная обработка исключительных ситуаций связанных с переполнением интегратора и выходом за границы значений дифференциатора и переменной U.

Вычисленное в процентах значение u является аргументом функции PWM_set(U); которая осуществляет изменение значения регистра TBCCR3 таймера-счетчика B. Этот регистр хранит граничное значение счетного регистра таймера. В случае настройки работы таймера-счетчика B в режиме «установка/сброс выхода» (output mode 7), после превышения этого значения состояние ШИМ-выхода МК инвертируется на противоположное. Т. о. изменяя значение этого регистра можно менять скважность выходного ШИМ-сигнала МК, а следовательно, и силу выходного постоянного тока преобразователя регулятора. Принцип работы этого механизма поясняется рис. 8 взятым из документации на МК.

Рисунок 29 - Режимы выдачи выходного сигнала от таймера-счетчика B в МК серии MSP430

Одной из особенностей программируемого МК является отсутствие EEPROM-памяти для долговременного хранения настроек прибора. Вместо работы с внешней микросхемой EEPROM-памяти было принято решение записи параметров настроек в отдельный банк FLASH-памяти называемый производителем МК «information memory» (память для информации) объемом 256 байт.

Алгоритм программирования FLASH-памяти для МК серии MSP430 следующий:

- Запрещение всех прерываний;

- Запись в бит WRT регистра FCTL1 значения 1 и установка ключа разрешения записи;

- Выбор источника тактирования контроллера FLASH-памяти путем конфигурирования регистра FCTL2;

- Снятие блокировки доступа к FLASH-памяти записью ключа разрешения в регистр FCTL3;

- Запись необходимых значений в целевые ячейки памяти;

- Сброс бита WRT;

- Блокирование доступа к FLASH-памяти;

- Разрешение всех необходимых прерываний.

Алгоритм работы средств индикации обеспечивает выполнение следующих функций:

Отображение текущего значения температуры измеренной прибором от термопары на основном дисплее;

Отображение текущего состояния аналогового выхода при помощи барграфической шкалы;

Отображение различных пунктов меню на вспомогательном разряде дисплея в виде условных символов и букв латинского алфавита, а также их текущих значений на основном индикаторе.

Алгоритм индикации поддерживает отображение целочисленных знаковых величин. Отображение величины выходного управляющего воздействия осуществляется при помощи барграфа состоящего из 40 светодиодов, т. о. разрешающая способность барграфической шкалы составляет 2,5%.

Из-за значительной развитости алгоритма отображения часть его функций была вынесена в отдельный программный модуль Display_driver.c, который состоит из следующих компонентов:

Буфер отображения семисегментных индикаторов display_buffer. Этот буфер является массивом из 5-ти элементов типа char;

Буфер отображения барграфической шкалы bargraph_buffer. Также является пятиэлементным массивом типа char;

Массив digits типа char, хранящий коды отображения цифр от 0 до 9;

Массив symbols типа char для хранения кодов отображения символов относящихся к пунктам меню;

Функция display_driver_init(), осуществляющая установку портов ввода-вывода необходимых для работы индикации в начальные состояния;

Функция show_int(int number), реализующая запись в буфер отображения индикаторов числа number, а также выводящая маркер текущего выбранного разряда при изменении значения пункта меню;

Функции show_menu_item(char i) и clear_func_display() управляющаие выводом информации на вспомогательный разряд;

Функция temperature(), осуществляющая преобразование значения термо-ЭДС в градусы Целсия и посылку этого значения в буфер отображения;

Функция display_refresh() управляющая сигналами динамической индикации всего дисплея (в том числе и барграфичекой шкалы);

- Функция bargraph_show(int percent), преобразующая аргумент percent в код записываемый в буфер барграфа;

Функция display_refresh() вызывается в процедуре прерывания таймера-счетчика A, обеспечивая строгую периодичность обновления импульсов тока поступающих на семисегментные нидикаторы. В противном случае информация отображаемая дисплеем будет иметь непостоянную яркость, что затрудняет считывание информации оператором.

Аппаратная часть подсистемы индикации состоит из 8-битного регистра-защелки, выход которого является шиной кода символа и портов выбора разряда / участка барграфа.

Система пользовательского меню настроек состоит из 3-х различных режимов-уровней:

- режим работа (переменная-маркер menu=0);

- первый уровень меню (menu может принимать значения от 1 до 10);

- второй уровень меню (menu может принимать значения от 101 до 110).

Первый уровень является уровнем просмотра и выбора значений различных настроек прибора. К этим настройкам относятся:

Значение температурной уставки;

Коэффициент пропорциональности;

Коэффициент интегрирования;

Коэффициент дифференцирования;

Настройка дополнительного смещения номинальной статической характеристики термопары;

Настройка крутизны номинальной статической характеристики термопары;

Значение калибровки сигнала аналогового выхода соответствующее нулевому значению регулирующего воздействия u. Минимум аналогового выхода;

Значение калибровки максимума аналогового выхода;

Калибровка АЦП измерителя. Нижнее значение температурной шкалы;

Калибровка АЦП измерителя. Верхнее значение температурной шкалы;

При переходе пользователем на второй уровень меню появляется возможность изменения значения текущего отображаемого параметра настройки. При этом периодически вместо одного из знаков значения появляется маркер в виде горизонтальной черты указывающий на текущий разряд, который будет изменять значение. Также в случае выбора изменения знака вместо горизонтального маркера происходит одновременное мигание всех отображаемых разрядов.

Вход в первый или второй уровень меню осуществляется при нажатии кнопки с символом «P». Также эта кнопка служит для подтверждения внесенного изменения в какой-либо параметр и перехода со второго уровня меню обратно на первый.

Кнопка с символом «<» позволяет пользователю переходить либо на значение следующего параметра в первом уровне меню, либо переставлять маркер изменения разряда/знака на следующую позицию. При достижении в первом уровне меню последнего пункта нажатие на кнопку «<» приводит к возврату прибора в режим «Работа». При нажатии этой кнопки во втором уровне меню в случае, когда маркер выбора разряда/знака указывает на изменение знака, маркер будет перемещен на самый младший разряд.

Пользовательская кнопка с символом «^» позволяет циклически устанавливать от 0 до 9 значение разряда выбранного во втором уровне меню.

Калибровка входа АЦП осуществляется нажатием на кнопку «P» в первом уровне меню, но вместо перехода во второй уровень значение текущего напряжения поданного на АЦП будет преобразовано в отсчеты АЦП, записано в памяти прибора и отображено в соответствующем пункте меню как верхнее (нижнее) предельное.

При изменении значения калибровки аналогового выхода барграфическая шкала будет отображать нижнее и верхнее значение аналогового выхода соответственно как 0 и 100 %.

Заключение

В настоящей выпускной квалификационной работе проведен обзор ПИД-регуляторов. Рассмотрены общие вопросы создания ПИД-регуляторов. Проанализированы погрешности, которые вносит в процесс регулирования дифференциальный узел. Подробно рассмотрен интегральный узел ПИД-регулятора. Подробно обсуждается круг вопросов, связанных с устойчивостью ПИД-регулирования. Сформулирован критерий Найквиста, частотный критерий устойчивости. Обсуждаются аналитические свойства передаточной функции. Проведен обзор существующих методов оцифровки сигналов от термопар.

В качестве практического приложения теории ПИД-регулирования были получены следующие результаты:

1 Разработаны рекомендации по иерархическому методу построения программного обеспечения встраиваемых систем, включая ПИД-регуляторы на микроконтроллерах.

Выработан алгоритм работы ПИД-регулятора на микроконтроллере MSP430F149.

Участвовал в разработке исходного кода алгоритма работы ПИД-регулятора.

Список использованных источников

1 Втюрин В.А. Автоматизированные системы управления технологическими процессами. Основы АСУ ТП /Втюрин В.А. // Санкт-Петербургская государственная лесотехническая академия им. С. М. Кирова .- СПб.- 2006.- 154 С.

2 Денисенко В. ПИД - регуляторы: принципы построения и модификации, часть 1 /Денисенко В. // СТА Современные Технологии Автоматизации. - 2006. - №4. - С. 66 - 74

3 SLAU278U.- May 2009.- Revised January 2015. URL : http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber

=SLAU278&fileType=pdf [11.02.2015].

4 SLAS272F.? JULY 2000.? REVISED JUNE 2004. URL : http://www.ti.com/lit/ds/symlink/msp430f149.pdf [11.02.2015].

5 MSP430x1xx Family User's Guide. URL : http://www.ti.com/lit/ug/slau049f/slau049f.pdf // 2006 [11.02.2015].

6 URL : http://issuu.com/soel/docs/___2011-1/34 [11.02.2015].

7 Astrom K.J., Hagglund T. Advanced PID control. -- ISA (The Instrumentation, Systems, and Automation Society), 2006. -- 460 p.

8 Денисенко В.В., Халявко А.Н. Защита от помех датчиков и соединительных проводов систем промышленной автоматизации // Современные технологии автоматизации. 2001. № 1. С. 68-75.

9 Воронов А.А. Устойчивость, управляемость, наблюдаемость. -- М.: Наука, 1979. -- 336 с.

10 Ротач В.Я. Теория автоматического управления. -- М. : Издательство МЭИ, 2004. -- 400 с.

11 Изерман Р. Цифровые системы управления. -- М. : Мир, 1984. -- 541 с.

12 Ziegler J.G., Nichols N.B. Optimum settings for automatic controllers// Trans. ASME. 1942. Vol. 64. P. 759-768.

13 Chien K.L., Hrones J.A., Reswick J.B. On automatic control of generalized passive systems // Trans. ASME. 1952. Vol. 74. P. 175-185.

14 Справочник по теории автоматического управления / Под ред. А.А. Красовского. - М. : Наука, 1987. - 712 с.

15 O'Dwyer A. PID compensation of time delayed processes 1998_2002: a survey // Proceedings of the American Control Conference, 4_6 June 2003. Vol. 2. P. 1494-1499.

16 Li Y., Ang K.H., Chong G.C.Y. Patents, Software, and Hardware for PID control: an overview and analysis of the current art // IEEE Control Systems Magazine. Feb. 2006. P. 42-54.

17 Ang K.H., Chong G., Li Y. PID control system analysis, design, and technology // IEEE Trans. on Control Systems Technology. July 2005. Vol. 13. No. 4. P. 559-576.

18 Silva G.J., Datta A., Bhattacharyya S.P. On the stability and controller robustness of some popular PID tuning rules // IEEE Trans. on Automatic Control. Sept. 2003. Vol. 48. No. 9. P. 1638-1641.

19 Ho M._T., Lin C._Y. PID controller design for robust performance // IEEE Trans. on Automatic Control. Aug. 2003. Vol. 48. No. 8. P. 1404-1409.

20 Keel L.H., Rego J.I., Bhattacharyya S.P. A new approach to digital PID controller design // IEEE Trans. on Automatic Control. April 2003. Vol. 48. No. 4. P. 687-692.

21 Obika M., Yamamoto T. An evolutionary design of robust PID controllers // Mechatronics and Automation, 2005 IEEE International Conference, 29 July _ 1 Aug. 2005. Vol. 1. P. 101-106.

22 Moradi M.H. New techniques for PID controller design // Proceedings of 2003 IEEE Conference on Control Applications (CCA 2003), 23_25 June 2003. Vol. 2. P. 903-908.

23 Hodel A.S., Hall C.E. Variable_structure PID control to prevent integrator windup // IEEE Trans. on Industrial Electronics. 2001. Vol. 48. No. 2. P. 442-451.

24 Shouli W., Watanabe K., Muramatsu E., Ariga Y., Endo S. Robust stability of approximate Smith predictor control systems // SICE 2004 Annual Conference, 4_6 Aug. 2004. Vol. 2. P. 1522-1527.

25 Jing_Chung Shen, Huann_Keng Chiang. PID tuning rules for second order systems // Control Conference, 2004 (5th Asian), 20-23 July 2004. Vol. 1. P. 472-477.

26 Silva G.J., Datta A., Bhattacharyya S.P. New results on the synthesis Of PID controllers // IEEE Trans. on Automatic Control. Feb. 2002. Vol. 47. No. 2. P. 241-252.

27 Skoczowski S., Domek S., Pietrusewicz K., Broel_Plater B. A method for improving the robustness of PID control // IEEE Trans. on Industrial Electronics. Dec. 2005. Vol. 52. No. 6. P. 1669_1676.

28 Karimi A., Garcia D., Longchamp R. PID controller tuning using Bode's integrals // IEEE Trans. on Control Systems Technology. Nov. 2003. Vol. 11. No. 6. P. 812-821.

29 Sanchez_Gasca J.J., Clark K., Miller N.W., Okamoto H., Kurita A., Chow J.H. Identifying linear models from time domain simulations // IEEE Computer Applications in Power. Apr. 1997. Vol. 10. No. 2. P. 26-30.

30 Hemerly E.E. PC_based packages for identification, optimization, and adaptive control // IEEE Control Systems Magazine. Feb. 1991. Vol. 11. Issue 2. P. 37-43.

31 Oviedo J.J.E., Boelen T., van Overschee P. Robust advanced PID control (RaPID): PID tuning based on engineering specifications // IEEE Control Systems Magazine. Feb. 2006. Vol. 26. Issue 1. P. 15-19.

32 Leva A. Autotuning process controller with enhanced load disturbance rejection // American Control Conference, 30 June _ 2 July 2004. Proceedings. Vol. 2. P. 1400-1405.

33 Takao K., Yamamoto T., Hinamoto T. Design of a memory_based selftiming PID controller // 43rd IEEE Conference on Decision and Control (CDC 2004), 14_17 Dec. 2004. Vol. 2. P. 1598-1603.

34 Qiwen Yang, Yuncan Xue, Jiao Huang. Simultaneous PID selftuning and control // Proceedings of the 2004 IEEE International Symposium on Intelligent Control, 2_4 Sept. 2004. P. 363-367.

35 Ho H.F., Wong Y.K., Rad A.B. Adaptive PID controller for nonlinear system with H? Physics and Control, 2003 International Conference, 20-22 Aug. 2003. Proceedings. Vol. 4. P. 1315-1319.

36 Calcev G., Gorez R. Iterative technique for PID controller tuning //Proceedings of the 34th IEEE Conference on Decision and Control, 13-15 Dec. 1995. Vol. 3. P. 3209-3210.

37 Glickman S., Kulessky R., Nudelman G. Identification_based PID control tuning for power station processes // IEEE Trans. on Control System Technology. 2004. Vol. 12. No. 1. P. 123-132.

38 Rad A.B., Lo W.L., Tsang K.M. Self_tuning PID controller using Newton_Raphson search method // IEEE Trans. on Industrial Electronics. Oct. 1997. Vol. 44. No. 5. P. 717-725.

39 Jih_Jenn Huang, DeBra D.B. Automatic Smith_predictor tuning using optimal parameter mismatch // IEEE Trans. on Control Systems Technology. May 2002. Vol. 10. No. 3. P. 447-459.

40 Ivanova E., Hadjiski M. Rules based adaptation of Smith predictor // Intelligent Systems, First International IEEE Symposium, 2002. Proceedings. Vol. 3. P. 26-30.

41 Ren X.M., Rad A.B., Lo W.L., Chan P.T. Adaptive H/sub 2/ optimal control based on Smith predictor for continuous_time systems with unknown time delay // International Conference on Control and Automation (ICCA `05), 26-29 June 2005. Vol. 1. P. 159-164.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.