что это такое, регулирование температуры ПИД регулятором
Дифференциальный пропорционально-интегральный регулятор – устройство, которое устанавливают в автоматизированных системах для поддержания заданного параметра, способного к изменениям.
На первый взгляд все запутанно, но можно объяснить ПИД регулирование и для чайников, т.е. людей, не совсем знакомых с электронными системами и приборами.
Что такое ПИД регулятор?
ПИД регулятор – прибор, встроенный в управляющий контур, с обязательной обратной связью. Он предназначен для поддержания установленных уровней задаваемых величин, например, температуры воздуха.
Устройство подает управляющий или выходной сигнал на устройство регулирования, на основании полученных данных от датчиков или сенсоров. Контроллеры обладают высокими показателями точности переходных процессов и качеством выполнения поставленной задачи.
Три коэффициента ПИД регулятора и принцип работы
Работа ПИД-регулятора заключается в подаче выходного сигнала о силе мощности, необходимой для поддержания регулируемого параметра на заданном уровне. Для вычисления показателя используют сложную математическую формулу, в составе которой есть 3 коэффициента – пропорциональный, интегральный, дифференциальный.
Возьмем в качестве объекта регулирования ёмкость с водой, в которой необходимо поддерживать температуру на заданном уровне с помощью регулирования степени открытия клапана с паром.
Пропорциональная составляющая появляется в момент рассогласования с вводными данными. Простыми словами это звучит так – берется разница между фактической температурой и желаемой, умножается на настраиваемый коэффициент и получается выходной сигнал, который должен подаваться на клапан. Т.е. как только градусы упали, запускается процесс нагрева, поднялись выше желаемой отметки – происходит выключение или даже охлаждение.
Дальше вступает интегральная составляющая, которая предназначена для того, чтобы компенсировать воздействие окружающей среды или других возмущающих воздействий на поддержание нашей температуры на заданном уровне. Поскольку всегда присутствуют дополнительные факторы, влияющие на управляемые приборы, в момент поступления данных для вычисления пропорциональной составляющей, цифра уже меняется. И чем больше внешнее воздействие, тем сильнее происходят колебания показателя. Происходят скачки подаваемой мощности.
Интегральная составляющая пытается на основе прошлых значений температуры, вернуть её значение, если оно поменялось. Подробнее процесс описан в видео ниже.
А дальше выходной сигнал регулятора, согласно коэффициенту, подается для повышения или понижения температуры. Со временем подбирается та величина, которая компенсирует внешние факторы, и скачки исчезают.
Интеграл используется для исключения ошибок путем расчета статической погрешности. Главное в этом процессе – подобрать правильный коэффициент, иначе ошибка (рассогласование) будет влиять и на интегральную составляющую.
Третий компонент ПИД – дифференцирующий. Он предназначен для компенсации влияния задержек, возникающих между воздействием на систему и обратной реакцией. Пропорциональный регулятор подает мощность до тех пор, пока температура не достигнет нужной отметки, но при прохождении информации к прибору, особенно при больших значениях, ошибки всегда возникают. Это может привести к перегреву. Дифференциал прогнозирует отклонения, вызванные задержками или воздействием внешней среды, и снижает подаваемую мощность заранее.
Настройка ПИД регулятора
Настройка ПИД-регулятора осуществляется 2 методами:
- Синтез подразумевает вычисление параметров на основании модели системы. Такая настройка получается точной, но требует глубоких познаний теории автоматического управления. Она подвластна только инженерам и ученым. Так как необходимо снимать расходные характеристики и производить кучу расчетов.
- Ручной способ основывается на методе проб и ошибок. Для этого за основу берутся данные уже готовой системы, вносятся некоторые коррективы в один или несколько коэффициентов регулятора. После включения и наблюдений за конечным результатом проводится изменение параметров в нужном направлении. И так до тех пор, пока не будет достигнут нужный уровень работоспособности.
Теоретический метод анализа и настройки на практике применяются крайне редко, что связано с незнанием характеристик объекта управления и кучей возможных возмущающих воздействий. Более распространены экспериментальные методы на основе наблюдения за системой.
Современные автоматизированные процессы реализуются как специализированные модули под управлением программ для настройки коэффициентов регулятора.
Назначение ПИД регулятора
ПИД регулятор предназначен для поддержания на требуемом уровне некой величины – температуры, давления, уровня в резервуаре, расхода в трубопроводе, концентрации чего-либо и т.д., изменением управляющего воздействия на исполнительные механизмы, такие как автоматические регулирующие клапана, используя для этого пропорциональную, интегрирующую, дифференцирующую величины для своей настройки.
Целью использования является получение точного управляющего сигнала, который способен контролировать большие производства и даже реакторы электростанций.
Пример схемы регулирования температуры
Часто ПИД регуляторы используются при регулировке температуры, давайте на простом примере подогрева воды в ёмкости рассмотрим данный автоматический процесс.
В емкости налита жидкость, которую нужно подогреть до нужной температуры и поддерживать её на заданном уровне. Внутри бака установлен датчик измерения температуры – термопара или термометр сопротивления и напрямую связан с ПИД-регулятором.
Для подогрева жидкости будем подавать пар, как показано ниже на рисунке, с клапаном автоматического регулирования. Сам клапан получает сигнал от регулятора. Оператор вводит значение температурной уставки в ПИД-регуляторе, которую необходимо поддерживать в ёмкости.
Если настройки коэффициентов регулятора неверны, будут происходить скачки температуры воды, при этом клапан будет то полностью открыт, то полностью закрыт. В этом случае необходимо рассчитать коэффициенты ПИД регулятора и ввести их заново. Если все сделано правильно, через небольшой промежуток времени система выровняет процесс и температура в ёмкости будет поддерживаться на заданной отметке, при этом степень открытия регулирующего клапана будет находиться в среднем положении.
odinelectric.ru
Принцип работы ПИД-регуляторов
Принцип работы
Регуляторы процесса
Регуляторы процесса (Process Controllers) – это параметрируемые цифровые контроллеры со встроенным набором стандартных функций для регулирования технологических переменных (температуры, давления и т.п.).
В качестве сигналов задания (Reference) могут использоваться как фиксированные уставки (Fixed Setpoints), так и внешние (External).
Аналоговые входы используются для подключения датчиков обратной связи (термометров сопротивления, термопар, манометров и т.п.).
Дискретные входы используются для задания фиксированных уставок и переключения между режимами.
Дискретные выходы используются для сигнализации: готовности, аварий, состояния.
Релейные выходы используются для дискретного управления, а аналоговые выходы – для непрерывного управления.
Дискретное управление
- 2-х позиционный регулятор использует только 2 состояния:
- включено (открыто)
- выключено (закрыто)
- 3-х позиционный регулятор использует 3 состояния:
- выключено
- вращение по часовой стрелке
- вращение против часовой стрелки (реверс) Пример: управление реверсивным электродвигателем.
- 5-и позиционный регулятор использует 5 состояний:
- выключено
- вращение на первой скорости по часовой стрелке
- вращение на второй скорости по часовой стрелке
- вращение на первой скорости против часовой стрелки
- вращение на второй скорости против часовой стрелки Пример: управление 2-скоростным реверсивным двигателем.
Непрерывное управление
Для непрерывного управления используются ПИД-регуляторы. Возможна реализация каскадного (подчинённого) управления.
Замкнутая система управления
Переходный процесс
Переходный процесс – это реакция системы на внешнее воздействие (задание, возмущение).
Неустойчивый (расходящийся) переходный процесс
Устойчивый (сходящийся) переходный процесс
Колебательный | Апериодический | Монотонный |
ПИД-регулятор
С помощью настройки ПИД-регулятора (PID-controller) мы можем скорректировать переходный процесс так, как нам нужно для решения своей задачи.
Хзад – заданное (желаемое) значение выходной переменной
Xmax – верхний допустимый предел выходной переменной
Xmin – нижний допустимый предел выходной переменной
Т – период колебаний
Тн – время нарастания
Тр – время переходного процесса (последняя точка пересечения кривой с Xmin или Xmax)
А1 – первое перерегулирование
А2 – второе перерегулирование
d=А1/A2 — степень (декремент) затухания переходного процесса (отношение первого перерегулирования ко второму)
Рассогласование, перерегулирование, время нарастания, время переходного процесса, степень
затухания характеризуют
Пример
ПИД-регулятор открывает и закрывает регулирующий вентиль на горячей трубе так, чтобы из крана текла вода с температурой +40°С с погрешностью плюс-минус 2 градуса. Регулятор вычисляет рассогласование (ошибку) — отклонение реальной температуры (например, +20°С) от заданного значения (+40°С) и решает – когда и насколько необходимо приоткрыть горячий вентиль, чтобы температура повысилась на 20С. Реальную (фактическую) температуру регулятор узнаёт с помощью датчика температуры (обратная связь), а заданную температуру (уставку) ему сообщает оператор, например, набирая число «40» на своём ПК.
Чтобы настроить ПИД-регулятор, необходимо подобрать правильную комбинацию трёх коэффициентов:
- Пропорционального – Kp
- Интегрального – Ki
- Дифференциального – Kd
Могут использоваться и более простые — П и ПИ-регуляторы.
Формула ПИД-регулятора
где e(t) — ошибка (рассогласование), u(t) — выходной сигнал регулятора (управляющее воздействие).
Чем больше Пропорциональный коэффициент, тем выше быстродействие, но меньше запас устойчивости. Но! простой П-регулятор не может полностью отработать рассогласование, т.е. всегда работает с ошибкой.
ПИ-регулятор позволяет избавиться от статической (установившейся) ошибки, но, чем больше Интегральный коэффициент, тем больше перерегулирование (динамическая ошибка).
ПИД-регулятор позволяет нам уменьшить перерегулирование, но, чем больше Дифференциальный коэффициент, тем больше погрешность из-за влияния шумов.
Если шумы идут по каналу обратной связи, то мы можем их отфильтровать с помощью фильтра низкой частоты, но чем больше постоянная этого фильтра, тем медленнее регулятор будет отрабатывать возмущения.
Настройка ПИД-регулятора по методу Циглера-Николса
Циглер и Николс предложили свой вариант быстрой настройки ПИД-регулятора для периодического переходного процесса, в котором затухание примерно равно 4.
- Обнуляем Ki и Kd
- Постепенно увеличиваем Kp до критического значения Kc, при котором возникают автоколебания
- Измеряем период автоколебаний Т
- Вычисляем значения Kp, Ki и Kd по разным формулам для разных регуляторов:
- для П-регулятора: Kp=0,50*Kc
- для ПИ-регулятора: Kp=0,45*Kc, Ki=1,2*Kp/T
- для ПИД-регулятора: Kp=0,60*Kc, Ki=2,0*Kp/T, Kd=Kp*T/8
Каскадный регулятор (подчинённое управление)
Продолжение примера
Теперь нам захотелось добавить комфорта и сделать так, чтобы уставка задания температуры воды менялась в зависимости от температуры воздуха на улице (на улице мороз – вода горячая, на улице жара – вода прохладная). Можно установить ещё один регулятор комфортной температуры, который по показаниям термометра узнаёт фактическую температура наружного воздуха и решает, что комфортная температура воды должна быть, например, +40°С, поэтому он выдаёт задание регулятору температуры воды – поддерживать температуру на уровне +40С (см. пример выше). Здесь мы имеем каскадное регулирование: контур регулирования температуры воды подчинён контуру регулирования комфортной температуры воды.
С помощью регуляторов процесса мы можем реализовать и более сложные связи. Например, поддерживать постоянный расход и температуру воды, независимо от давления и температуры горячего и холодного трубопроводов.
Упреждающее регулирование (Feedforward Control)
Не всегда простой ПИД-регулятор в системе с обратной связью может обеспечить требуемое быстродействие
из-за возникновения нежелательных колебаний или недопустимо большого перерегулирования.
Для улучшения характеристик регулирования применяют
Продолжение примера
Если мы доверяем прогнозу погоды, то вместо каскадного управления мы можем реализовать упреждающее регулирование без измерения уличной температуры: читаем прогноз на завтра, задаём уставку +40°С по таймеру времени на завтра на 7 утра.Если измерить возмущение, то можно подать упреждающее воздействие, которое компенсирует влияние этого возмущения на процесс до того, как начнёт изменяться регулируемый параметр.
www.maxplant.ru
принцип работы, теория и практика
Содержание:
- Общие сведения о ПИД-регуляторе
- Три составляющих рабочего процесса ПИД-регулятора
- Теория и практика использования ПИД-устройств
- Видео: О PID регуляторе простым языком
Среди множества приборов, предназначенных для коммутации, управления и выполнения других функций хочется отметить ПИД-регулятор, используемый в цепях обратной связи. Он устанавливается в системы с автоматическим управлением и поддерживает на определенном уровне значение какого-либо параметра. В большинстве случаев ПИД-регулятор участвует в регулировке температурных режимов и других величин, участвующих в различных процессах.
Общие сведения о ПИД-регуляторе
Аббревиатура ПИД происходит от английского понятия PID, и расшифровывается как Proportional, Integral, Derivative. На русском языке это сокращение включает в себя три компонента или составляющие: пропорциональную, интегрирующую, дифференцирующую.
Принцип работы ПИД-регулятора наилучшим образом подходит для контуров управления, схема которых оборудована звеньями обратной связи. В первую очередь, это различные автоматические системы где формируются сигналы управления, обеспечивающие высокое качество и точность переходных процессов.
В состав управляющего сигнала ПИД-регулятора входят три основных компонента, складывающиеся между собой. Каждый из них находится в пропорции с определенной величиной:
- Первый – с сигналом рассогласования.
- Второй – с интегралом сигнала рассогласования.
- Третий – с производной сигнала рассогласования.
Если какой-либо компонент выпадет из этого процесса, то данный регулятор уже не будет представлять собой ПИД. В этом случае его схема будет просто пропорциональной, пропорционально-дифференцирующей, пропорционально-интегрирующей.
Поскольку эти приборы чаще всего используются для поддержания заданного уровня температуры, в том числе для чайников, целесообразно ПИД-регулятор рассматривать на практических примерах именно в этом ракурсе.
В самом процессе будет участвовать объект, на котором должна поддерживаться заданная температура. Все регулировки осуществляются извне. Другой составляющей будет само устройство с микроконтроллером, которое непосредственно решает имеющуюся задачу. Через измеритель на контроллер поступают данные об уровне температуры на данный момент. Мощность нагревателя отдельно контролируется специальным устройством. Для того чтобы установить требуемое значение параметров температуры, микроконтроллер нужно подключить к компьютеру.
Таким образом, исходными данными служат следующие температурные показатели: текущее значение и уровень, до которого должен нагреться или остыть рассматриваемый объект. На выходе должна получиться величина мощности, передаваемой к нагревательному элементу. Именно она обеспечивает необходимый температурный режим, позволяющий выполнить поставленную задачу. Для ее решения будут задействованы все три компонента, рассмотренные выше.
Три составляющих рабочего процесса ПИД-регулятора
Формирование выходного сигнала осуществляет пропорциональная составляющая. Данный сигнал удерживает входную величину, подлежащую регулировке, на нужном уровне и не дает ей отклоняться. С повышением этого отклонения возрастает и уровень сигнала.
Если на входе регулируемая величина сравняется с заданным значением, то уровень выходного сигнала будет равен нулю. Однако на практике невозможно отрегулировать нужную величину с помощью лишь одной пропорциональной составляющей и стабилизировать ее на определенном уровне. Всегда существует вероятность статической ошибки, равной величине отклонения, поэтому стабилизация выходного сигнала останавливается на этом значении.
Данная проблема решается за счет использования второго, интегрирующего компонента. Его основным элементом является интеграл по времени, взятый от общей величины рассогласования. То есть, интегральная составляющая находится в пропорции с этим интегралом. Данный компонент способен ликвидировать статическую ошибку, так как регулятор постепенно накапливает учет статической погрешности.
Таким образом, при отсутствии внешних воздействий, через определенный период времени регулируемая величина будет приведена в стабильное состояние на отметке правильного значения. В этом случае величина пропорциональной составляющей будет нулевой, а интегрирующая полностью обеспечивает точность выходных данных. Однако и она может вызвать неточности, требующие исправления, в случае неправильного выбора коэффициента.
Эти отклонения устраняются за счет третьих – дифференциальных составляющих, пропорциональных с темпом изменяющегося отклонения величины. Она препятствует отклонениям, возможным в перспективе под влиянием задержек или внешних воздействий. Все три компонента дискретно связаны между собой.
Теория и практика использования ПИД-устройств
ПИД-регулятор температуры способен поддерживать заданное значение какой-то величины на протяжении определенного промежутка времени. С этой целью используется изменение напряжения и других величин, которые можно рассчитать по специальным формулам. При этом учитывается величина уставки и заданного значения, а также разница или рассогласование.
1.
2.
В идеальном варианте напряжение u задается с помощью формулы 1. В ней хорошо просматриваются коэффициенты пропорциональности ПИД-регулятора, предусмотренные для каждого компонента. На практике используется другая формула 2 с коэффициентом усиления, подходящим к любому из трех составляющих.
На практике ПИД-регулирование систем в теоретическом плане анализируются довольно редко. Это связано с недостатком информации о характеристиках регулируемого объекта, нелинейностью и нестабильностью всей системы, когда невозможно использовать дифференцирующий компонент.
Рабочий диапазон устройств, функционирующих на практике, обычно ограничивается верхним и нижним пределами. В связи с нелинейностью, каждая настройка выполняется экспериментально, при подключении объекта к системе управления.
Величина, образуемая с помощью программного алгоритма управления, имеет специфические особенности. Например, для нормальной регулировки температуры может потребоваться вместо одного сразу два прибора: один будет управлять нагревом, а другой – охлаждением. В первом случае осуществляется подача разогретого теплоносителя, а во втором – хладагента. Самым современным прибором считается цифровой ПИД-регулятор, воплотивший в своей конструкции все варианты практических регулировочных решений.
electric-220.ru
ПИД-регулятор своими руками / Habr
; PID управление
CalcMainEnd:
; Вычисления, Go-Go.
CalcPid:
; 1. Eo = E | 16bit
Pid1:
MOV Err0H, ErrH
MOV Err0L, ErrL
; 2. E = Y-X | 16bit
Pid2:
CLR C
MOV A, SettingL
SUBB A, ThermoL
MOV ErrL, A
MOV A, SettingH
SUBB A, ThermoH
MOV ErrH, A
JNB OV, Pid2Ov
JB ACC.7, Pid2Max
Pid2Min:
MOV ErrL, #LOW(-500*32)
MOV ErrH, #HIGH(-500*32)
SJMP Pid2End
Pid2Max:
MOV ErrL, #LOW(500*32)
MOV ErrH, #HIGH(500*32)
SJMP Pid2End
Pid2Ov:
JNB ACC.7, Pid2OvP
Pid2OvN: ; Проверим на ограничение вниз
CLR C
MOV A, ErrL
SUBB A, #LOW(-500*32)
MOV A, ErrH
SUBB A, #HIGH(-500*32)
JNC Pid2End ; Если > -500 => всё ок
SJMP Pid2Min
Pid2OvP:
CLR C
MOV A, ErrL
SUBB A, #LOW(500*32)
MOV A, ErrH
SUBB A, #HIGH(500*32)
JNC Pid2Max ; Если < 500 => всё ок
Pid2End:
; 3. Int = Int + (E+Eo)/2 | 32bit+16bit
Pid3:
JNB PowerReady, Pid3End ; Если нет сети -- интегральную часть не копим
MOV A, ErrL
ADD A, Err0L
MOV R0, A ; временно
MOV A, ErrH
ADDC A, Err0H
MOV C, ACC.7 ; Полусумма всегда влезает в 16 бит, поэтому при сдвиге надо сохранить знак
RRC A ; Поделим без потери знака
XCH A, R0 ; A= младшая часть, R0 - старшая часть полусуммы
RRC A ; Доделили
JNB IntS, Pid3IntPos
; Int отрицательный, изменим знак для R0:A, тем самым можно будет просто сложить с Int
CLR C
CPL A
ADD A, #1
XCH A, R0
CPL A
ADDC A, #0
XCH A, R0
Pid3IntPos:
; У Int и R0:A сейчас согласованы знаки, поэтому складываем обычным образом
ADD A, IntLL
MOV IntLL, A
MOV A, IntLH
ADDC A, R0
MOV IntLH, A
MOV A, R0
JB ACC.7, Pid3Neg ; Прибавляли отрицательную разность?
; Если разность положительная, просто распространим перенос
JNC jPid3End ; Если прибавили слово и переноса небыло -- делать нам ничего не требуется.
INC IntHL ; Распространяем перенос выше
MOV A, IntHL
JNZ Pid3End ; Если перенос не ушел в 4й байт -- всё нормально
INC IntHH ; Распространяем перенос на САМЫЙ старший байт
MOV A, IntHH
JNZ Pid3End ; Если перенос не ушел еще выше -- всё нормально
MOV IntHH, #0FFh ; Если перенс был выше -- ограничиваем интеграл потолком
MOV IntHL, #0FFh
MOV IntLH, #0FFh
MOV IntLL, #0FFh
jPid3End:
SJMP Pid3End
Pid3Neg: ; Если разность отрицательная, то надо продолжать добавлять оба раза, но FFh
MOV A, IntHL
ADDC A, #0FFh
MOV IntHL, A
MOV A, IntHH
ADDC A, #0FFh
MOV IntHH, A
JC Pid3End ; Если тут был перенос, значит знак интеграла не изменился
CPL IntS ; Если переноса небыло, значит у интеграла изменился знак
CPL C ; Обратим знак получившегося числа
MOV A, #0
SUBB A, IntLL
MOV IntLL, A
MOV A, #0
SUBB A, IntLH
MOV IntLH, A
MOV A, #0
SUBB A, IntHL
MOV IntHL, A
MOV A, #0
SUBB A, IntHH
MOV IntHH, A
; так как оно стало отрицательным -- то перенос тут будет всегда
Pid3End:
; 5. cI = Int*(1/Ti) | 32*32=>32bit
Pid5: ; R3:R2:R1:R0 = Int*(1/Ti)
JB Ti_sh2, Pid5Calc ; если Ti_sh2=0, то 1/Ti=1 или Ti=0. и ничего делать не надо
MOV A, Ti_mLL
ORL A, Ti_mLH
ORL A, Ti_mHL
ORL A, Ti_mHH
JZ Pid5Zero
MOV R0, IntLL
MOV R1, IntLH
MOV R2, IntHL
MOV R3, IntHH
AJMP Pid5End
Pid5Zero:
MOV A, #0
MOV R0, A
MOV R1, A
MOV R2, A
MOV R3, A
MOV IntLL, A
MOV IntLH, A
MOV IntHL, A
MOV IntHH, A
AJMP Pid5End
Pid5Calc:
; R7:R6:R5:R4[:R3] = MULUH(Int*Ti_m) // R3 считаем как часть для округления
MOV R2, #0
;; R7:R6 = IntHH*Ti_mHH
MOV A, IntHH
MOV B, Ti_mHH
MUL AB
MOV R7, B
MOV R6, A
; R6:R5 += IntHL*Ti_mHH
MOV A, IntHL
MOV B, Ti_mHH
MUL AB
MOV R5, A
MOV A, R6
ADD A, B
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
; R5:R4 += IntLH*Ti_mHH
MOV A, IntLH
MOV B, Ti_mHH
MUL AB
MOV R4, A
MOV A, R5
ADD A, B
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
; R4:R3 += IntLL*Ti_mHH
MOV A, IntLL
MOV B, Ti_mHH
MUL AB
MOV R3, A
MOV A, R4
ADD A, B
MOV R4, A
MOV A, R2 ; A=0
ADDC A, R5
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
;; R6:R5 += IntHH*Ti_mHL
MOV A, IntHH
MOV B, Ti_mHL
MUL AB
ADD A, R5
MOV R5, A
MOV A, R6
ADDC A, B
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
; R5:R4 += IntHL*Ti_mHL
MOV A, IntHL
MOV B, Ti_mHL
MUL AB
ADD A, R4
MOV R4, A
MOV A, R5
ADDC A, B
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
; R4:R3 += IntLH*Ti_mHL
MOV A, IntLH
MOV B, Ti_mHL
MUL AB
MOV A, R3
MOV R3, A
MOV A, R4
ADDC A, B
MOV R4, A
MOV A, R2 ; A=0
ADDC A, R5
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
;; R5:R4 += IntHH*Ti_mLH
MOV A, IntHH
MOV B, Ti_mLH
MUL AB
ADD A, R4
MOV R4, A
MOV A, R5
ADDC A, B
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
; R4:R3 += IntHL*Ti_mLH
MOV A, IntHL
MOV B, Ti_mLH
MUL AB
ADD A, R3
MOV R3, A
MOV A, R4
ADDC A, B
MOV R4, A
MOV A, R2 ; A=0
ADDC A, R5
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
;; R4:R3 += IntHH*Ti_mLL
MOV A, IntHH
MOV B, Ti_mLL
MUL AB
ADD A, R3
MOV R3, A
MOV A, R4
ADDC A, B
MOV R4, A
MOV A, R2 ; A=0
ADDC A, R5
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
;;; Если R3 > 7F --
MOV A, R3
JNB ACC.7, Pid5Shift ; Если R3<80 -- округление не надо
ANL A, #7Fh
JZ Pid5Round ; Если = 80 -- округляем до нечетного
MOV A, #1
ADD A, R4
MOV R4, A
MOV A, R2 ; A=0
ADDC A, R5
MOV R5, A
MOV A, R2 ; A=0
ADDC A, R6
MOV R6, A
MOV A, R2 ; A=0
ADDC A, R7
MOV R7, A
SJMP Pid5Shift
Pid5Round:
MOV A, R4
ORL A, #01h
MOV R4, A
;JMP Pid5Shift
Pid5Shift:
; R3:R2:R1:R0 = (Int-R7:R6:R5:R4) >> 1
CLR C
MOV A, IntLL
SUBB A, R4
MOV R0, A
MOV A, IntLH
SUBB A, R5
MOV R1, A
MOV A, IntHL
SUBB A, R6
MOV R2, A
MOV A, IntHH
SUBB A, R7
RRC A ; >>1 без потери переноса
MOV R3, A
MOV A, R2
RRC A
MOV R2, A
MOV A, R1
RRC A
MOV R1, A
MOV A, R0
RRC A
;MOV R0, A
; R3:R2:R1:R0 += R7:R6:R5:R4
;MOV A, R0
ADD A, R4
MOV R0, A
MOV A, R1
ADDC A, R5
MOV R1, A
MOV A, R2
ADDC A, R6
MOV R2, A
MOV A, R3
ADDC A, R7
MOV R7, A
; Теперь сдвинуть вправо на sh3.
; sh3 может быть до 16 (так как у нас Ti 16разрядный; проверим необходимость сдвига на 16 бит)
MOV A, Ti_sh3
JNB ACC.4, Pid5ShiftUnder16
; Надо сдвинуть >=16 -- 2 байта сдвинем mov'ами
MOV R0, 18h+2; R2, bank 3
MOV R1, 18h+3; R3, bank 3
MOV R2, #0
MOV R3, #0
Pid5ShiftUnder16:
JNB ACC.3, Pid5ShiftUnder8
; Надо сдвинуть на >=8 -- 1 байт сдвигаем mov'ами
MOV R0, 18h+1; R1, bank 3
MOV R1, 18h+2; R2, bank 3
MOV R2, 18h+3; R3, bank 3
MOV R3, #0
Pid5ShiftUnder8:
ANL A, #07h
JZ Pid5End ; Если внутри байта двигать не надо -- всё
MOV R4, A
SJMP Pid5ShiftRight
Pid5NextShift:
CLR C
; К этому моменту C у нас еще возможнозначимый старший бит!
Pid5ShiftRight:
MOV A, R3
RRC A
MOV R3, A
MOV A, R2
RRC A
MOV R2, A
MOV A, R1
RRC A
MOV R1, A
MOV A, R0
RRC A
MOV R0, A
DJNZ R4, Pid5NextShift
; Всё, после всех сдвигов получили результат
; Не забываем, что у вычисленного в R3:R2:R1:R0
; сейчас число положительное, а знак его в IntS
Pid5End:
; 4. PID += [ cD = Td * (E-Eo) ] | 16*16=>32bit
Pid4: ; cD = R7:R6:R5:R4; ErrD = E-Eo
CLR C
MOV A, ErrL
SUBB A, Err0L
MOV DiffL, A
MOV A, ErrH
SUBB A, Err0H
MOV DiffH, A
MOV C, ACC.7 ; Берём знак результата
MOV DiffS, C ; Сохраним знак E-Eo
JNC Pid4Mul
; Diff -- орицательный, обратим знак
MOV A, DiffL
CPL A
ADD A, #1
MOV DiffL, A
MOV A, DiffH
CPL A
ADDC A, #0
MOV DiffH, A
Pid4Mul:
; R7:R6 = DiffH*TdH
; MOV A, DiffH = в любом случае A=DiffH
MOV B, TdH
MUL AB
MOV R6, A
MOV R7, B
; R5:R4 = DiffL*TdL
MOV A, DiffL
MOV B, TdL
MUL AB
MOV R4, A
MOV R5, B
; R6:R5 += DiffH*TdL
MOV A, DiffH
MOV B, TdL
MUL AB
ADD A, R5
MOV R5, A
MOV A, R6
ADD A, B
MOV R6, A
MOV A, R7
ADDC A, #0
MOV R7, A
; R6:R5 += DiffL*TdH
MOV A, DiffL
MOV B, TdH
MUL AB
ADD A, R5
MOV R5, A
MOV A, R6
ADD A, B
MOV R6, A
MOV A, R7
ADDC A, #0
MOV R7, A
; 6. PID = E + cI + cD | 32bit
Pid6: ; R3:R2:R1:R0 равно cI, знак в IntS;
; R7:R6:R5:R4 = cD; знак в DiffS
; E в обратном дополнительном коде
JB IntS, ChkDiffN
JNB DiffS, Pid6Add ; Int>0, Diff>0 => Add
SJMP Pid6Sub ; Int>0, Diff<0 => Sub
ChkDiffN:
JNB DiffS, Pid6Sub ; Int<0, Diff>0 => Sub
; Int<0, Diff<0 => Add
Pid6Add:
; Одинаковый знак => складываем их с проверкой на переполнение
MOV A, R0
ADD A, R4
MOV R0, A
MOV A, R1
ADDC A, R5
MOV R1, A
MOV A, R2
ADDC A, R6
MOV R2, A
MOV A, R3
ADDC A, R7
MOV R3, A
JNC Pid6Err ; Если нет переноса - в результате сложения переполнения небыло
MOV R3, #0FFh
MOV R2, #0FFh
MOV R1, #0FFh
MOV R0, #0FFh
SJMP Pid6Err
Pid6Sub:
; Знаки разные -- вычтем одно из другого и проверим знак результата
CLR C
MOV A, R4
SUBB A, R0
MOV R0, A
MOV A, R5
SUBB A, R1
MOV R1, A
MOV A, R6
SUBB A, R2
MOV R2, A
MOV A, R7
SUBB A, R3
MOV R3, A
JNC Pid6Err ; Если нет заимствования -- знак результата равен знаку DiffS
CPL DiffS ; Если заимствование было, у DiffS и результата надо обратить знак
MOV R6, #0 ; R6=0
MOV A, R0
CPL A
ADDC A, R6 ; R6=0, C=1 => действие +1
MOV R0, A
MOV A, R1
CPL A
ADDC A, R6 ; +перенос
MOV R1, A
MOV A, R2
CPL A
ADDC A, R6
MOV R2, A
MOV A, R3
CPL A
ADDC A, R6
MOV R3, A
Pid6Err:
MOV R6, #0 ; R6=0
; В R3:R2:R1:R0 -- лежит cI+cD; знак суммы в DiffS
; надо прибавить/отнять Err, записанное в обратном коде
; Приведём знак Err к DiffS
MOV R4, ErrL
MOV A, ErrH
JB ACC.7, Pid6ChkDiffS
JNB DiffS, Pid6SumErrNoInv ; Err>0, Diff>0 => NoInv
SJMP Pid6SumErrInv
Pid6ChkDiffS:
JNB DiffS, Pid6SumErrNoInv ; Err<0, Diff>0 => NoInv
Pid6SumErrInv:
; У Err знак отличается от DiffS -- инвертируем
SETB C ; Не уверен в состоянии C
MOV A, ErrL
CPL A
ADDC A, R6 ; A+=R6+C, R6=0 C=1 => A+=1
MOV R4, A ; R4=ErrL
MOV A, ErrH
CPL A
ADDC A, R6
Pid6SumErrNoInv:
MOV R5, A ; ErrH
Pid6SumErr:
; Итак, в R5:R4 лежит Err, знак которого согласован с DiffS; но в обратно-дополнительном коде
MOV A, R0
ADD A, R4
MOV R0, A
MOV A, R5
CLR F0
JNB ACC.7, Pid6SubErrPos
SETB F0
MOV R6, #0FFh ; Добавляем отрицательное => дополняем FFами
Pid6SubErrPos:
ADDC A, R1
MOV R1, A
MOV A, R2
ADDC A, R6 ; +расширение
MOV R2, A
MOV A, R3
ADDC A, R6 ; +расширение
MOV R3, A
MOV R6, #0
; Надо проверить нет ли смены знака итоговой суммы
JNC Pid6ChkF0
JB F0, Pid7 ; Err<0, был перенос => Знак не сменился, переполнения нет
SJMP Pid6SumOv ; Err>0, был перенос => переполнение
Pid6ChkF0:
JNB F0, Pid7 ; Err>0, небыло переноса => нет переполнения
;SJMP Pid6SumUf ; Err<0, небыло переноса => сменился знак
Pid6SumUf:
; Если Err<0 и небыло переноса => сменился знак
CPL DiffS
MOV A, R0
CPL A
ADD A, #1 ; C=?, поэтому прибавляем 1 обычным методом
MOV R0, A
MOV A, R1
CPL A
ADDC A, R6
MOV R1, A
MOV A, R2
CPL A
ADDC A, R6
MOV R2, A
MOV A, R3
CPL A
ADDC A, R6
MOV R3, A
SJMP Pid7 ; Знак у результата и DiffS приведены в норму
Pid6SumOv:
; Было переполнение => округляем до максимума
MOV R0, #0FFh
MOV R1, #0FFh
MOV R2, #0FFh
MOV R3, #0FFh
; 7. U = K*PID/256 | 32bit*16bit/8bit => 40bit,
; | которые усекаются до 10bit
; | при вычислениях
Pid7: ; В R3:R2:R1:R0 лежит результат PID, в DiffS его знак
; Нужно вычислить K*PID/256, ограничив результат до 10бит
; K всегда положительно, поэтому если PID < 0 => минимум
JB DiffS, Pid7Umin
; поскольку мы можем жестко ограничить сверху 16ю битами,
; то если R3 != 0 => ставим максимум в любом случае
MOV A, R3
JNZ Pid7Umax
; [R2:R1:R0 * KH:HL] = [R7:R6:R5:R4:R3]
; вычисляем, учитывая что должно получиться R7=0 R6=0,
; иначе переполнение, поэтому R7 и R6 вообще не трогаем
; но проверяем результат
; R7:R6 = R2*KH
MOV A, R2
JZ Pid7S1
MOV A, KH
JNZ Pid7Umax ; Если R2!=0 и KH!=0 => R7:R6>0 => переполнение
Pid7S1:
; R6:R5 = R2*KL
MOV A, R2
MOV B, KL
MUL AB
MOV R5, A
MOV A, B
JNZ Pid7Umax ; Если R6 > 0 => переполнение
; R6:R5 = R1*KH
MOV A, R1
MOV B, KH
MUL AB
ADD A, R5
JC Pid7Umax ; Если R6 > 0 => переполнение
MOV R5, A
MOV A, B
JNZ Pid7Umax ; Если R6 > 0 => переполнение
; R5:R4 = R0*KH
MOV A, R0
MOV B, KH
MUL AB
MOV R4, A
MOV A, R5
ADD A, B
JC Pid7Umax ; Если R6 > 0 => переполнение
MOV R5, A
; R5:R4 = R1*KL
MOV A, R1
MOV B, KL
MUL AB
ADD A, R4
MOV R4, A
MOV A, R5
ADDC A, B
JC Pid7Umax ; Если R6 > 0 => переполнение
MOV R5, A
; R4:R3 = R0*KL
MOV A, R0
MOV B, KL
MUL AB
RLC A ; C = R3>=0x80, Z=R3>0x80
MOV R3, #0FFh ; R3<>0x80 => ничего
JNZ Pid7S2
MOV R3, #0FEh ; R3==0x80 => округление до четного
Pid7S2:
MOV A, R4
ADDC A, B ; Складываем умножение, регистр, и перенос-округление
ANL A, R3 ; А так же если округление до четного -- отбрасываем после младший бит
MOV R4, A
MOV A, R5
ADDC A, R6 ; R6=0 у нас с давних пор, хоть мы туда и не складывали ничего во время перемножения
JC Pid7Umax ; Если R6 > 0 => переполнение
MOV R5, A
; R5:R4 => ограниченный в 16 бит результат
; Теперь надо ограничить R5:R4 до Umax/Umin
MOV A, UmaxL
SUBB A, R4 ; C=0 на текущий момент
MOV A, UmaxH
SUBB A, R5
JC Pid7Umax ; Если R5:R4>Umax => R5:R4 = Umax
MOV A, UminL
SUBB A, R4 ; C=0 на текущий момент
MOV A, UminH
SUBB A, R5
JNC Pid7Umin ; Если R5:R4<Umin => R5:R4 = Umin
; Мощность вычислена
MOV UH, R5
MOV UL, R4
SETB UReady
AJMP CalcExit
Pid7Umax: ; Установить максимальную мощность
MOV UH, UmaxH
MOV UL, UmaxL
SETB UReady
AJMP CalcExit
Pid7Umin: ; Установить минимальную мощность
MOV UH, UminH
MOV UL, UminL
SETB UReady
AJMP CalcExit
habr.com
ПИД регулирование в частотных преобразователях. Настройка
Для процессов системы требуется способность параметров к реагированию на внешнее действие и поддержание системных постоянных величин. Для примера, система насосов с клапанами отвода. Для каждого клапана поддержание потока в постоянном виде обеспечивает постоянное давление в трубах. Помпа в системе приводится в действие приводом, при открывании клапана скорость двигателя увеличивается и снижается при закрытии, чтобы поддерживать давление в трубах на одном уровне.
Настраивание ПИД-регулятора общего вида
Для такого поддержания давления существует прибор, который называется регулятором задания. Давление в трубах на датчике идет в сравнение с параметром заданного давления. Регулятор сравнивает системное давление с давлением задания, определяет задачу скорости для двигателя для изменения ошибки. Простой вид регулятора применяет план действий ПИД-регулирования. В нем применяются три составляющие типа регуляторов для удаления ошибки: дифференциальный, интегральный и пропорциональный регулятор.
Регулятор пропорционального типа
Такой регулятор – главный, скорость задается в прямой зависимости от ошибки. При применении пропорционального регулятора система будет иметь ошибку. Малые значения коэффициента регулятора пропорционального типа дают вялость системы, а высокие параметры к колебаниям и нестабильности системы.
Регулятор интегрального типа
Такой регулятор применяется для удаления ошибки. Скорость увеличится до удаления ошибки (снизится при негативной ошибке). Небольшие значения суммирующей составляющей слишком оказывают влияние на деятельность регулятора в общем. При установлении больших значений происходит промахивание системы, она функционирует с перерегулированием.
Регулятор дифференциального типа
Такой регулятор измеряет скорость корректировки ошибки, применяет для повышения системного быстродействия, увеличивает регуляторное быстродействие в общем. Во время увеличения быстродействия регулятора повышается перерегулирование. Это обуславливает к системной нестабильности. Во многих случаях составляющая дифференциальная становится равной нулю или близкой к наименьшему значению для того, чтобы предотвратить это состояние. Она бывает полезной в позиционирующей системе.
Работа регулятора в обратном и прямом действии
Множество регуляторов имеют принцип прямого действия. Повышение скорости двигателя приводит к повышению переменной величины процесса. Это случай в системе насосов, давление это величина переменная процесса. Повышение скорости двигателя обуславливает повышение давления. Во многих системах повышение скорости двигателя обуславливает к снижению параметра переменной процесса. Температура вещества, которое обдувается вентиляционной системой теплообменника – процессная переменная величина: при повышении скорости вентиляционной системы температура вещества снижается. В этом разе нужно применить регулятор действия обратного вида.
Настраивание ПИД-регулятора
Для моторной управляемости системы настраивание ПИД-регулятора бывает сложным процессом. Расскажем, какие шаги для настройки могут сделать проще эту процедуру.
- Определите значение дифференциальной и интегральной равной нулю. Определите наибольшую скорость и контролируйте системную реакцию.
- Повышайте составляющую прямопропорционально и выполните первый пункт. Продолжайте действия до момента начала процесса с автоматическими колебаниями возле точки определения скорости.
- Снижайте пропорциональную величину, пока система не стабилизируется. Волны колебаний начнут затухать.
- Определите пропорциональную величину около 15% меньше этого постоянного пункта.
- Определяйте наибольшую скорость прерывисто, повышайте суммирующую составляющую до начала уменьшения колебаний скорости перед стабильным состоянием системы. Снижайте суммирующую составляющую до достижения системой определенной скорости без ошибки и колебаний.
- Во многих системах настраивание составляющей дифференциального вида не нужно. Если нужно быстродействие системы больше, то можно достигнуть этого путем настройки составляющей дифференциального вида. Устанавливайте скорость по интервалам, повышайте составляющую дифференциального вида, пока не стабилизируется система с наименьшим временем действия (повышайте медленно, избегая состояния нестабильности). Система станет оптимальной при одном перерегулировании.
- Контролируйте стабильность системы, устанавливая значения скорости с интервалами и периодами для гарантированной стабильности системы при плохом исполнении задания.
Настраивание датчика на 20 миллиампер ПИД-регулированием
1. Действия в программном меню
Управляющая панель частотного преобразователя А300 состоит из 3-уровневой структуры:
- Группы опциональных значений (1 уровень).
- Опциональные значения (2 уровень).
- Параметр опционального значения.
2. Настраивание характеристик электромотора и определение направления момента
Установить метод управления частотником в значении Р0-02:
- Р0-02=0 (настройка завода, пульт преобразователя).
- Р0-02=1 (входные команды внешнего управления D1-D7).
Установить характеристики номинального значения электромотора (применяйте параметры с таблички и паспорта электромотора):
- Мощность номинала Р1-01= установите значения.
- Напряжение номинала Р1-02= установите значения (по заводским настройкам 380 вольт).
- Ток номинала Р1-03= установите значения.
- Частота номинала Р1-04= установите значения (по заводским настройкам 50 герц).
- Обороты номинального значения Р1-05= установите значения.
После подсоединения и введения параметров нужно проконтролировать направление вращающего момента электромотора. После отключения меню программы на экране покажется 50 герц, клавишей «вниз» установите наименьшую частоту для задания направления вращающего момента. Для пуска мотора нажмите клавишу «пуск» (параметр Р0-02=0), определите направление момента вращения, затормозите мотор, нажав клавишу «стоп».
Если вращение не совпадает с направлением, то измените две любые фазы питания мотора (замену фаз производить при отключенном частотнике) или поменяйте параметр настройки Р0-09= (0-вперед, 1-назад). Еще раз проконтролируйте момент вращения, нажав клавишу «пуск», если направление момента вращения совпадает, то затормозите мотор, нажав клавишу «стоп». Нажмите клавишу «вверх» и возвратите настроенную частоту 50 герц.
3. Подсоединение датчика (выход на 20 миллиампер)
- Установку производить при выключенном питании частотного преобразователя.
- Напряжение датчика подсоединить к контакту «+24В», сигнал соединить с контактом «AI1», установить перемычку на контакты «COM» и «GND».
Переставить соединение «J1» в состояние «I».
4. Контроль обратной связи
- Подключите напряжение на частотный преобразователь, на экране возникнет подсветка 50 герц.
- Нажмите клавишу «сдвиг» 2 раза.
- На экране будет параметр обратной связи в интервале 0-10 (0-20 мА), зависит от настраиваемого параметра.
Связь обратного вида (4 мА).
- После подтверждения обратной связи нажмите три раза клавишу «сдвиг», появится на экране 50 герц.
- Установите наименьшее значение сигнала входа в величине Р4-13=2.00 (4 мА).
5.Как настраивать значение параметра ПИД-регулирования.
- Установите источник основной частоты Р0-03=8 (частоту определяет ПИД-регулятор).
- Поставьте значение ПИД-регулятора в значение РА-01= результат поддерживаемой величины в процентах (от 0 до 100%) от интервала датчика, РА-01= (результат поддерживаемого параметра/интервал датчика)*100%.
Пример установки значения:
Подсоединен датчик давления на 16 бар с сигналом выхода от 4 до 20 мА. Для давления в 10 бар нужно установить значение
РА-01=(10/16)*100%=62,5%
Произведите тестовый пуск. Проверяйте поддерживаемое значение параметра по приборам, дублирующим измерения (ротаметр, термометр, манометр). Если система регулировки функционирует нестабильно или долгий отклик на замену проверяемого параметра, то применяйте настройки значений РА-05, -06, -07. Эти значения предназначены для точной настройки ПИД-регулятора.
Пример использования регулирования ПИД
Данные
- Механизм вентиляторного управления.
- Характеристика градуировочная датчика давления, интервал 1000-5000 Па, ток 4-20 мА.
- Значение давления 1500 Па.
- Мощность механизма и инерционные данные вентилятора отсутствуют.
Наружные подключения
Датчик обратной связи подсоединен к токовому входу аналогового типа, датчик значения уставки к входу аналогового типа напряжения.
Обратная связь
Датчик связи определен по токовому выходу, входом связи обратного вида применяется токовый вход. Задается РR.10-00=02 (обратная связь с минусом по входу, повышение частоты выхода, повышает давление).
Отградуированная характеристика датчика
Сигнал связи обратного вида в масштабе
Вход связи обратного вида не создает масштаб по усилению и смещению. Применяя параметр PR10-01 можно изменять значение сигнала связи обратного вида в расчетах.
Применение параметра PR10-01 для корректировки значения сигнала связи обратного типа.
Значением PR10-01 можно корректировать значение сигнала связи обратного вида, который применяется в вычислениях. Интервал пропорциональности 0-10, по настройкам завода 1.
Сигнал связи обратного вида повышается в 2 раза перед установкой в ПИД-регулятор. Это равно снижению интервала входа в 2 раза.
Сигнал связи обратного вида снижается в 2 раза перед установкой в регулятор, это эквивалентно увеличению интервала входа в 2 раза. Сейчас интервал ограничен значением датчика.
Пример установки значения параметра PR10-01 (масштаб усиления обратной связи).
Интервал действия датчика:
-1000Ра – 5000Ра.
Наибольшее давление функционирования: 2000Ра.
Применяемая часть интервала работы датчика (закрепленная): -1000Ра-2000Ра.
Это будет равно: 2000Ра –(-1000Ра)
5000Ра –(-1000Ра) = 50%
Если интервал действия не больше 2000Ра с датчиком, то величина параметра
PR10-01 = 1/50%=2
Формула вычисления параметра PR10-01.
Наибольший сигнал датчика: MaxVal
Наименьший сигнал датчика: MinVal
Наибольший нужный сигнал связи обратного вида MaxFBVal
Величина значения ПИД (установленная частота).
Установленную частоту можно изменять операторами наклона и перемещения опции преобразования.
Направление момента вращения установки вентилятора не изменяется, лучше применять AVI вход с заданием значения PR 02-00=01.
PR10-01 (наибольшая частота).
Задать в PR01-00 величину наибольшей частоты механизма вентиляции (PR01-00 = 50 герц).
Наименьшая частота.
Наименьшая частота не оказывает влияния на действие регулировки.
Наклон и перемещение опции преобразования.
Задать PR04-00 AVI перемещение интервала.
PR04-01 AVI полярность.
PR04-02 AVI корректировка наклона.
Вращение производится в одну сторону, PR04-03 = 0 (по заводским настройкам).
Величина уставки.
Для установки величины входа интервал частоты рассчитывается 0-100%.
Установка значения уставки.
При функционировании вентилятора давлению в 1500 Ра равен сигнал датчика 10,67 мА. Величине уставки 1500 Ра равна частота выхода 42%*50 герц = 21 герц и 84%*50 герц = 42 герц.
Можно устанавливать значение в Ра. Если 100% интервала равно 2000 Ра, то при коэффициенте 00-05 = 2000/Fmax = 2000/50 = 40, установленная величина 1500 и задается 1500 Ра.
Интервал частоты выхода.
Верхняя граница частоты выхода при регулировке определяется формулой:
Fmax=Pr01-00хPr10-07.
ПИД-регулирование
Ускорение – замедление.
При взаимодействии с регулированием ПИД нужно время ускорения и замедления устанавливать минимальным для качественной регулировки.
Настраивание регулятора:
- Задать величину I для легкого отклика, без перерегулировки.
- Значение параметра для вентилятора не нужно, из-за замедления процесса.
- Задать другие значения величин.
Советы по настраиванию:
- Повышение Р разгоняет процесс, снижает ошибки.
- При большом Р появляется неустойчивость процесса.
- Снижение величины I ускоряет процесс, делает нестабильным.
- Быстрота дает снижение Р и I.
- Замедление вентилятора определяет большего значения Р.
- Задайте время ускорения и замедления наименьшим.
chistotnik.ru
ПИД — регулятор. Основы автоматики на примере.
Всем привет. Рассмотрев в прошлой статье основу технологии построения веб-интерфейса, мы возьмем небольшую паузу с проектированием, и рассмотрим пару статей по ПИД–регулятору. Куда войдут основы автоматики, и на примере устройства синхронизации двигателей фрезерного станка на микроконтроллере, познакомимся с основными законами управления. А также рассчитаем основные коэффициенты законов для матмодели. В конце статьи выложен проект в Proteus на ATmega8.
1. Выходная величина y.
2. Входной задающий параметр u.
3. Входное возмущающее воздействие f.
На рисунке слева представлен общий вид ОУ с его параметрами. Справа наш пример представленный в протеусе в виде двигателя с энкодером, где входным задающим параметром является постоянное напряжение и в зависимости от его величины изменяется частота вращения двигателя. Выходным параметром является показания энкодера, а именно угол поворота (число импульсов за один оборот). Третий параметр — возмущающее воздействие — это воздействие со стороны внешней среды, которое нарушает правильное функционирование объекта, т.е. трение, нагрузка и т.д.
Для исключения последнего используется второй параметр, т.е. задающий. Техническое устройство, осуществляющее автоматическое управление называется управляющим устройством (УУ). А ОУ совместно с управляющим и задающим устройствами называют систему автоматического управления (САУ). Ниже структурная схема системы.
Здесь хочется сразу добавить, что ОУ может управляться по трем основным принципам:
1. Принцип разомкнутого управления – вырабатывается на основе заданного алгоритма и не контролируется другими факторами.
2. Принцип компенсации возмущений, где результат возмущения в виде корректива вносится в алгоритм управления.
3. Принцип управления по ошибке. Здесь коррективы вносятся в алгоритм управления по фактическому значению выходной величины.
Наш проект будет строится по последнему принципу управления – по ошибке. Ниже, слева структурная схема, а справа проект, где осуществляется управление по ошибке.
ЗУ — это у нас двигатель с энкодером (с левой стороны), с которого импульсы поступают в микроконтроллер. Где в свою очередь прописана матмодель ПИД-регулятора. Контроллер выступает в роли УУ. Далее ШИМ генерирует необходимый импульс и посылает его на вход второго двигателя с энкодером, который правее. (Мы с Вами уже рассматривали ШИМ-управление на AVR). Выход импульсов с которого, является выходной величиной и ошибкой в обратной связи y ос. Кнопки — это возмущающее воздействие, которыми мы произвольно добавляем импульсы ОУ. Где в свою очередь УУ должно быстро и плавно подрегулировать под угол поворота задающего устройства.
Далее САУ классифицируются по:
1. Алгоритму функционирования:
— системы стабилизации — поддержание регулируемого параметра на заданном уровне;
— программное управление – алгоритм задан в функции времени, где выходная величина изменяется во времени по заданному закону;
— следящие системы — алгоритм функционирования заранее не известен, где регулируемая величина должна воспроизводить изменение некоторой внешней величины;
— экстремальные системы — показатель качества или эффективности процесса может быть выражен в виде функции параметров системы, а сама функция имеет экстремум (максимум или минимум).
— системы оптимального управления — процесс управления ведется таким образом, что некоторая характеристика процесса была бы оптимальной;
— адаптивные системы – некоторые параметры ОУ и др. элементов системы могут изменяться.
Наш алгоритм это программное управление, где выходная величина будет результатом ПИД управления.
2. По виду дифференциальных уравнений, описываемых систему – линейные (статические характеристики всех элементов являются прямолинейными) и нелинейные (статическая характеристика является нелинейной).
3. По характеру сигналов в основных элементах — непрерывные и дискретные(в последних непрерывный входной сигнал преобразуется на выходе в последовательность импульсов).
Наш проект нелинейный и сигналы дискретные. И последнее, рассмотрим типовые законы управления, определяющие алгоритм управления в функции от ошибки управления. Под законом регулирования понимают алгоритм, в соответствии с которым управляющее устройство формирует воздействие, подаваемое на вход ОУ. Законы управления описываются передаточными функциями, которые являются одним из способов математического описания динамической системы. Вид передаточной функции управляющего устройства определяет закон управления. Различают пять основных законов управления: пропорциональный (П), интегральный (И), пропорционально –интегральный (ПИ), пропорционально-дифференциальный (ПД), пропорционально — интегрально – дифференциальный (ПИД).
Рассмотрим каждый закон в отдельности на примере устройства синхронизации. Итак, исходные данные:
Соберем пример в Proteus. Возьмем два движка с инкрементальными энкодерами, микроконтроллер, два счетчика импульсов, а также подключим осциллограф и ЖК индикатор для отображения рассогласования (ошибки). Рассмотрение датчиков угла поворота (энкодера) выходит за пределы статьи, единственное, что нам надо знать, они предназначены для преобразования угла поворота вращающегося объекта (вала) в электрические сигналы, позволяющие определить угол его поворота. Выше был представлен рисунок нашего проекта в Proteus. Ниже на рисунке пример настройки мотора с энкодером:
Где в свойствах мотора выставим:
— минимальную массу ротора EffectiveMass= 0,01;
— нагрузка ротора Load/MaxTorque % = 1, чтобы он по инерции не крутился;
— обороты ZeroLoad RPM=20;
— количество импульсов на оборот PulsesperRevolution=24.
Как видите в протеусе отдельного энкодера нет, только с двигателем. Кратко о его подключении. Один конец двигателя на землю, на второй напряжение от -12 или +12 В. И три вывода энкодера. Мы используем один как на рисунке выше. Приведенные параметры являются настроечными параметрами от которых будет зависеть динамика привода, т.е. его поведение.
П — регулятор. Одно из простых устройств и алгоритмов управления, в обратной связи, которое формирует управляющий сигнал. Выдает выходной сигнал u (t), пропорциональный входному (ошибке регулирования) e (t), с коэффициентом пропорциональности К, который вырабатывается пропорциональной частью П-регулятора в противодейтвие отклонению реглируемой величины от данного значения, в данный момент времени.
u (t)=Kр*e (t), где Kр — коэффициент усиления регулятора.
Чем больше отклонение, тем больше выход именно по данному значению. Т.е. статическая ошибка равна отклонению регулируемой величины. Здесь присутствует вероятность, что система никогда не стабилизируется на заданном значении. Увеличение коэффициента усиления увеличивает разницу между входом и выходом, при этом уменьшается статическая ошибка. Но рост этого коэффициента может привести к автоколебаниям в системе, а дальнейшее его увеличение приведет к потере устойчивости.
Обычно на практике усилительные свойства П-регулятора характеризуют следующими величинами:
— предел пропорциональности d=1/Kр — величина, обратная Kр
— предел пропорциональности, выраженный в процентах D=d*100%=100%/Kр. Показывает, на сколько процентов от своего максимального значения должен изменится входной сигнал, чтобы выходной изменился на 100%.
Автоколеба́ния — это незатухающие колебания в диссипативной ( устойчивое состояние, возникающее в неравновесной среде при условии диссипации (рассеивания) энергии, которая поступает извне) динамической системе с нелинейной обратной связью, поддерживающиеся за счёт энергии постоянного, т. е. непериодического внешнего воздействия.
На рисунке ниже слева нормальный процесс П-регулирования, где видно, что линейность графика прямо пропорционально уменьшению ошибки. Справа, процесс автоколебаний в системе при большом коэффициенте.
П-регулятор находит свое применение в тех же процессах, где не требуется точного поддержания заданного значения, описанных ранее, то есть в контролируемом процессе будет присутствовать статическая ошибка. Возникает данная ошибка из-за того, что выходной сигнал слишком мал для оказания существенного воздействия на поддержание системы на заданном уровне. Вполне допускается, что регулятор выведет требуемое значение, но при возникновении возмущающих воздействий, регулятор не сможет вернуть заданное значение, пока рассогласование не станет достаточно велико, чтобы выходной сигнал смог оказать достаточное воздействие. Для нашего примера такой закон не подходит. Идем далее.
И-регулятор. Что значит интегральное управление? А то, что устройство вырабатывает сигнал (u (t)), пропорциональный интегралу от ошибки регулирования (e (t)). Система при таком законе астатическая, т.е.возмущение происходит на том участке системы, который находится за интегрирующим звеном. Но при этом динамические свойства системы с И-законом обычно хуже чем у системы П-управления. Ниже представлен закон И-регулятора.
где K0 — коэффициент усиления регулятора. Скорость изменения выхода И-регулятора пропорциональна ошибке регулирования. Обычно на практике усилительные свойства И-регулятора характеризуют временем изодрома.
Время изодрома Ти=1/K0 — величина, обратная K0. Также показывает за какое время выход регулятора изменится на 100% (регулирующий орган переместится из одного крайнего положения в другое) при скачкообразном изменении входного сигнала на 100%. Таким образом Ти характеризует быстродействие регулятора. С уменьшением T растет колебательность переходного процесса. При слишком малых значениях T система регулирования может перейти в неустойчивое состояние. Ниже на рисунке слева устойчивое состояние, справа — неустойчивое состояние.
В системе регулирования с И-регулятором обычно отсутствует статическая ошибка регулирования. Как правило И-регулятор не используется самостоятельно, а в составе ПИ- или ПИД- регуляторов.
ПИ-регулятор. Изодромное управление. Управляющее устройство вырабатывает суму двух сигналов — пропорционального ошибке и пропорционального интегралу от ошибки. Выходной сигнал ПИ-регулятора ( u (t) ) зависит и от ошибки регулирования ( e (t) ), и от интеграла от этой ошибки.
K1 — коэффициент усиления пропорциональной части,
K0 — коэффициент усиления интегральной части
Так как ПИ-регулятор можно рассматривать как два регулятора, соединенные параллельно, то усилительные свойства ПИ-регулятора характеризуют два параметра:
1) предел пропорциональности d=1/K1 — величина, обратная K1
2) время изодрома Ти=1/K0 — величина, обратная K0 .
Динамические свойства системы с ПИ-регулятором лучше, чем с И-законом. Изодромная система в переходном режиме приближается к системе с пропорциональным управлением. А в установившемся режиме подобна системе с интегральным управлением. Чем больше коэффициент пропорциональности, тем меньше выходная мощность при одной и той же ошибке регулирования, чем больше постоянная времени интегрирования, тем медленнее накапливается интегральная составляющая. ПИ регулирование обеспечивает нулевую ошибку регулирования и нечувствительно к помехам измерительного канала. Ошибка регулирования (статическая) исключается за счет интегрального звена, которое образуется путем постоянного суммирования ε за определенный промежуток времени и формирования сигнала управления, пропорционального полученной величине.
Недостатком ПИ регулирования является медленная реакция на возмущающие воздействия. Для настройки ПИ регулятора следует сначала установить постоянную времени интегрирования равный нулю, а коэффициент пропорциональности — максимальным. Затем как при настройке пропорционального регулятора, уменьшением коэффициента пропорциональности нужно добиться появления в системе незатухающих колебаний. Близкое к оптимальному значение коэффициента пропорциональности будет в два раза больше того, при котором возникли колебания, а близкое к оптимальному значение постоянной времени интегрирования — на 20% меньше периода колебаний. Оптимальным является переходной процесс с 20% перерегулированием.
ПД-регулятор. Если нагрузка объекта изменяется часто и резко, и при этом объект имеет существенное запаздывание, то ПИ-регулятор дает неудовлетворительное качество регулирования. Тогда целесообразно в закон регулирования вводить дифференцирующую составляющую, т.е. воздействовать на регулирующий орган дополнительно по величине первой производной от изменения регулируемого параметра. Cигнал ПД-регулятора ( u (t) ) зависит от ошибки регулирования ( e (t) ) и от производной от этой ошибки (от скорости изменения ошибки).
ПД-регулятор характеризуют два параметра:
1. Предел пропорциональности d=1/K1 — величина обратная К1.
2. Постоянная времени дифференцирования (время предварения) Тд=K2. Это интервал времени между моментами достижения регулирующим органом одинакового положения при наличии дифференциальной составляющей и без нее. Параметр настройки дифференциальной составляющей. За счет дифференциальной составляющей упреждается перемещение регулирующего органа.
Дифференцирующее звено вычисляет скорость изменения ошибки, т.е. прогнозирует направление и величину изменения ошибки. Если она положительна, то ошибка растет и дифференцирующая часть вместе с пропорциональной увеличивает воздействие регулятора на объект. Если отрицательна — уменьшается воздействие на объект. Эта система регулирования имеет статическую ошибку регулирования, но быстродействие у нее выше, чем П- , И- , Пи-регуляторы. В начале переходного процесса ПД-регулятор имеет высокое усиление и, следовательно, точность, а в установившемся режиме он вырождается в П-регулятор со свойственной ему статической ошибкой. Если статическую ошибку скомпенсировать, как это делается в П-регуляторах, то возрастет ошибка в начале переходного процесса. Таким образом, ПД-регулятор по своим потребительским свойствам оказывается хуже П-регулятора, поэтому на практике он используется крайне редко. П-звено имеет положительное свойство — вносит в контур регулирования положительный фазовый сдвиг, что повышает запас устойчивости системы при малом времени предварения. Однако с увеличением этого времени растет усиление регулятора на высоких частотах, что приводит к режиму автоколебаний. Чем больше время дифференцирования, тем больше скачок в перемещении регулирующего органа.
ПИД-регулятор. Это сумма трех регуляторов П, И и Д (Пропорционально-интегрально-дифференцирующий). Выходной сигнал ПИД-регулятора ( u (t) ) зависит от ошибки регулирования ( e (t) ), от интеграла от этой ошибки и от производной от этой ошибки.
Усилительные свойства характеризуют три параметра:
1. Предел пропорциональности d=1/K1.
2. Время изодрома Ти=1/K0.
3. Время предварения Тд=K2.
Системы регулирования с ПИД-регуляторами сочетают в себе достоинства П- , И- , и ПД- регуляторов. В таких системах отсутствует статическая ошибка и они обладают высоким быстродействием.
Ниже выложен проект в Proteus на ATmega8. Где представлена выше описанная модель ПИД — регулятора.
Синхронизация двигателей станка( Скачали: 407 чел. )
В следующей статье рассмотрим расчет основных коэффициентов законов регулирования для нашего проекта, а именно синхронизации двигателей станка. Написание матмодели для микроконтроллера и существующие варианты. А также этапы проектирования: от замысла до платы. На этом мы сегодня и остановимся. Всем пока.
Просмотрено 13408 раз.
www.ap-impulse.ru
Содержание:
Пид-регуляторы предназначены для того чтобы пропорционально, интегрально и дифференциально управлять различными процессами. Именно так расшифровывается аббревиатура этих устройств. Правильная настройка ПИД-регулятора обеспечивает быстрое достижение требуемых параметров для всей системы. Сигнал поступающий от какого-либо объекта, преобразуется определенным образом в регулирующем устройстве, а затем он возвращается и оказывает воздействие на управление этим объектом. Наиболее характерным примером использования этих приборов являются термосистемы, связанные с изменениями или поддержанием на определенном уровне различной температуры. За счет тонких настроек удается существенно снизить энергетические потери при охлаждении или нагреве. Конкретные модификации ПИД-регуляторов подбираются в соответствии с индивидуальными особенностями той или иной термосистемы. Зачем настраивать ПИД-регуляторНеобходимость тонких настроек рекомендуется рассматривать на примере работы обогревателя. Этот нагревательный прибор управляется ПИД-регулятором и должен поддерживать заданные температуры. Уровень температуры измеряется и контролируется термопарой. Конечная цель настроек заключается в подборе наиболее оптимального коэффициента, с помощью которого будет поддерживаться заданный температурный режим. 1. На представленных графиках видны попытки увеличения температуры с 10 до 25 градусов. В этом случае возможны различные варианты. Общим для них является подключение регулятора к обогревающей установке, в результате, его работа начнет осуществляться в режиме управляемой мощности, а микроклимат в помещении достигнет нужного уровня. Идеальная конфигурация температурной кривой обозначена красным цветом (рис. 1). То есть, данный физический параметр плавно движется к заданной отметке за максимально короткий промежуток времени. Оптимальный временной промежуток определяется достаточно сложно, поскольку на него оказывают влияние такие факторы как мощность обогревателя, размеры помещения и т.д. Эта величина определяется экспериментальным путем. 2. Температурный график черного цвета указывает на неправильный выбор коэффициента при регулировании. Работа системы становится неустойчивой, регулятор функционирует неравномерно, а заданное значение не соблюдается. В более благоприятных условиях температурные графики все так же далеки от стандартных значений (рис. 2). Черная кривая отображает сильные скачки относительно требуемого значения, а зеленая указывает на плавную, но слишком медленную регулировку. 3. Наиболее приемлемые варианты всех трех кривых обозначены на рисунке 3. Идеальный температурный график, обозначенный красным цветом, возможен только в теории. На практике же выполняется длительный подбор коэффициентов, которые позволяют получить лишь приближенные значения, пригодные для использования. То есть, согласно представленных графиков, температура 250С достигается в среднем за 15-20 минут при максимальных скачках в 2 градуса. Выбор необходимых коэффициентов, вычисления и настройка могут производиться с помощью различных методов. Метод настройки по откликуДанная методика настройки регулятора предполагает следующий порядок действий:
Если используются каскадные регуляторы, то вначале следует настроить ведомый регулятор, а затем – ведущий. Разница между временными константами ведущего и ведомого регуляторов довольно существенная. У первого устройства она больше, чем у второго примерно в 5 раз. Метод с максимальным коэффициентом усиленияВ этом случае настройка ПИД-регулятора выполняется в определенной последовательности:
Общие рекомендации для настроек ПИД-регуляторов
|
electric-220.ru