Страница 2 из 4

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 19:31
dimalimite
[ref=#404040]Phazz[/ref], А настройки какие у вас?

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 19:32
dimalimite
[ref=#404040]Phazz[/ref], можете 0 поставить. Там в программе автоматически подставится 9999.0. То есть влияния И практически не будет

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 19:55
Phazz
А почему если температура выше уставки и происходит резкое понижение температуры, то тэн включается еще не достигнув уставки. Настройки вот такие.
2019-01-27_21-51-37.png

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 20:04
dimalimite
[ref=#404040]Phazz[/ref],
Резкое понижение это как? Объясните подробнее пожалуйста.
П=100, то есть на изменение в 1 градус моментально выдаётся полная мощность. Нейтральная зона есть?
У вас не режим РЕЛЕ случайно стоит?

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 20:15
Phazz
[ref]dimalimite[/ref], Режим реле.
Уставка 30гр., текущая 45гр., при понижении на 5гр реле уже включается. Настройки как на скриншоте.
Как я понимаю, если выставлен только Пропорциональный, то не должно включаться реле пока температура не упадет ниже уставки.

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 21:29
dimalimite
[ref=#404040]Phazz[/ref],
Прочитайте пожалуйста сообщение №14 про режим РЕЛЕ и Цикл=1 секунда. Вот у вас ровно так и работает или 0, или 50, или 100%.
В режиме РЕЛЕ регулятор "пытается" беречь ресурс вашего реле и мин. включение 0,5 сек и мин. перерыв между включения 0,5 сек или вообще не выключается.
Если у вас реле, то как минимум цикл 2 сек. и более. Для получения более-менее качественного регулирования. Поставьте для начала 5 секунд, так у вас будет мощность или 0, или от 10 до 90, или 100%.
П=100 %/С это вообще максимальное усиление для этого регулятора. Если хотите только П, то начните хотя бы с 10 %/С и если будет сильно не доходить до вашей уставки, то тогда уже увеличивайте.
Phazz писал(а): 27 янв 2019, 20:15Как я понимаю, если выставлен только Пропорциональный, то не должно включаться реле пока температура не упадет ниже уставки.
Нет всё совсем не так. Регуляторы П, ПИ, ПД, ПИД не так работают.
Рассмотрим только П регулятор, как у вас с П=100%/С:
Уставка SP=30, текущая PV=45, рассогласование Етек=SP-PV, приращение мощности на текущем шаге dPower=П*(Етек-Етек-1), итоговая мощность Powerтек=Powerтек-1 + dPower.
Вот у вас допустим была Powerтек=0. И установившейся режим
Шаг 1 (установившейся режим) : dPower=100*(-15-(-15))=0% Powerтек=0+0=0%
Шаг 2 (ваше резкое изменение с 45 на 40 градусов) : dPower=100*(-10-(-15))=500%!!!!!Powerтек=0+500=500% Программа лимитирует до Powerтек=100%.
и т.д.
Если бы П был = 1%/С, то dPower=1*(-10-(-15))=5%, Powerтек=0+5=5%.
Если у вас есть время, то посмотрите видео ссылка на которые есть в сообщение №1.

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 22:07
Phazz
[ref]dimalimite[/ref], Смотрел, посмотрю еще раз видимо что-то пропустил ).
Штатный блок пид работает немного по-другому. Если температура выше уставки, то пид не реагирует пока температура не упадет ниже.

Отправлено спустя 9 минут 50 секунд:
Завтра погоняю на реальном ТЭНе. А еще есть возможность добавить вход для изменения этого параметра
dimalimite писал(а): 27 янв 2019, 21:29включение 0,5 сек и мин. перерыв между включения 0,5 сек

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 27 янв 2019, 22:56
dimalimite
[ref=#404040]Phazz[/ref], поставьте цикл=5 секунд и П=10 %/С для начала, а уже от этого скорректируете (100%/С - это незатухающие колебания гарантированные).
Я сомневаюсь, что он иначе работает. Особенно в П части. Там другого не дано.

Отправлено спустя 44 минуты 51 секунду:
[ref=#404040]Phazz[/ref],
Phazz писал(а): 27 янв 2019, 22:07Завтра погоняю на реальном ТЭНе. А еще есть возможность добавить вход для изменения этого параметра
см. Приложение
MIN_PULSE_RELAY = constrain( MIN_PULSE_RELAY, (0.0), (CYCLE / 2.0) ); // Минимальное время включение/выключение РЕЛЕ 0...CYCLE/2 сек
То есть 0 сек до CYCLE/2 сек.
Категорически не рекомендую вам цикл 1 сек в режиме РЕЛЕ (тем более скорее всего 1 сек. цикл опроса датчика температурного). Начните с 5 сек.

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 28 янв 2019, 14:05
Phazz
У меня твердотельное реле поэтому износа не будет. А длинный ШИМ нужен чтобы не было частого мигания ламп освещения в такт ТЭНу.
Мигание конечно всё равно есть, но оно хоть не такое раздражающее.

Отправлено спустя 15 минут 50 секунд:
[ref]dimalimite[/ref],
Проверил, работает.
Настройки для чайника получились такие:
Цикл - 5 сек
П - 20
И - 150
Д - 0
мин. импульс 0.1 сек

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 28 янв 2019, 15:10
dimalimite
[ref=#404040]Phazz[/ref], получается не отслеживает переключение через ноль ваша твердотелка?
Я рад, что всё получилось:).

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 28 янв 2019, 15:23
Phazz
[ref]dimalimite[/ref], Отслеживает, но просадки напряжения всё равно есть и частые пульсации раздражают.
Но штатный блок ПИД всё же почему-то совсем не так работает. Там мне хватило только П кофициента но на снижение температуры реакции не было пока не перейдет температуру уставки. Может от того что не понятно в каких единицах там задаются коофиценты. Понятно только что время в миллисекундах.

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 28 янв 2019, 15:41
dimalimite
[ref=#404040]Phazz[/ref],
Phazz писал(а): 28 янв 2019, 15:23Отслеживает, но просадки напряжения всё равно есть и частые пульсации раздражают.
Но штатный блок ПИД всё же почему-то совсем не так работает. Там мне хватило только П кофициента но на снижение температуры реакции не было пока не перейдет температуру уставки. Может от того что не понятно в каких единицах там задаются коофиценты. Понятно только что время в миллисекундах.
Бог его знает. Вообще чудес не бывает). А есть возможность посмотреть что внутри блока? Или описание развернутое?
А как он на неизменное ступенчатое воздействие отрабатывает? Изменяет выход постоянно или только 1 раз при возмущение?

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 28 янв 2019, 16:23
Phazz
Только код который формируется в ide

Отправлено спустя 3 минуты 10 секунд:
Описание есть в справке. Но я думаю нет необходимости заморачиваться. Ваши блоки покрывают все потребности. Спасибо.

Отправлено спустя 7 минут 46 секунд:
Еще не плохо бы поместить эту информацию в описание блока. А то заходить в редактирование блока, чтобы посмотреть назначение и допустимые значения входов как-то не сразу в голову приходит )[spoiler]
2019-01-28_18-18-14.png
[/spoiler]

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 28 янв 2019, 17:00
dimalimite
[ref=#404040]Phazz[/ref],
Phazz писал(а): 28 янв 2019, 16:23Еще не плохо бы поместить эту информацию в описание блока. А то заходить в редактирование блока, чтобы посмотреть назначение и допустимые значения входов как-то не сразу в голову приходит )
Будет время сделаю. Было бы классно если бы можно было скопировать всё разом, а не получается:((((.
Phazz писал(а): 28 янв 2019, 16:23Только код который формируется в ide
Там просто библиотека вызывается. В справке у меня его кстати почему-то нет:(
Посмотреть бы формулу и сразу бы всё прояснилось. Я как будет время, ради интереса, подам на него ступеньку в П-режиме только и посмотрю как он отрабатывает.
Просто у меня именно классика ПИД сделана. И работает как классика из учебника.
А есть куча разных других реализаций и они тоже работают без проблем. Например, в соседней ветке Boroda регуляторы. Формула другая и кстати если в П-режиме и выше уставки, тоже не будет изменять выход увеличивать пока ниже не опустится (будет только уменьшать на 0 сразу). Но это не классический ПИД и если снять характеристики работы, то не будет как ПИД себя вести.

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 28 янв 2019, 17:13
Phazz
dimalimite писал(а): 28 янв 2019, 17:00 В справке у меня его кстати почему-то нет:(
https://flprog.ru/bez-rubriki/helppage/ ... e=PIDBlock

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 05 июн 2019, 04:09
dimalimite
Добрый день.
Если кому-нибудь будет интересно - видео с разбором кода этих функциональных блоков
https://youtu.be/IGRu5TuGrNI

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 23 сен 2019, 14:32
JORA555
Подскажите, а накопленная ошибка обнуляется при остановке регулятора. Если нет, то как можно это реализовать. Нужно для того, чтобы при резком изменении уставки или коэффициентов ПИД расчет ошибки начинался заново.

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 11 окт 2019, 11:28
dimalimite
JORA555 писал(а): 23 сен 2019, 14:32 Подскажите, а накопленная ошибка обнуляется при остановке регулятора. Если нет, то как можно это реализовать. Нужно для того, чтобы при резком изменении уставки или коэффициентов ПИД расчет ошибки начинался заново.
День добрый.
Регулятор рассчитывает приращение в пределах одного шага.
Если выключать сигналом ON_OFF то на выходе будет 0. И всё начнется заново от нулевого выхода.
Если происходит переключение AUTO_HAND из ручного в автоматический режим, то происходит это безударно, т.к. на время ручного режима Е3=Е1 и Е2=Е1. То есть производная "не выстрелит вверх" и т.п.
Резкое изменение уставки это самое сильное возмущающее воздействие для регулятора, т.к. это приведет к скачку производной (Д см. формулу расчета, если есть время, то видео можете посмотреть из этой темы с графиками работы). Так не следует делать в принципе :). Если изменяете уставку скачком, то будьте готовы получить скачок производной. Если требуется серьёзное изменение уставки, то делайте изменение по рампе.
Вот как-то так.

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 01 дек 2019, 20:36
Andvaz
Добрый день. Дмитрий вижу вы очень опытный специалист, хотел бы попросить вашей помощи в решении моего вопроса. У меня на предприятии никак программисты не могут решить поставленную задачу (приложил фото). Пробуем сейчас реализовать трехпозиционный импульсный Пид регулятор. Но пока никак не получается. Мысли следующие первый ПИД регулятор по давлению. На входе Ркамеры1 фактическое и рассчитанное по формуле. На выходе ПИД регулятора по давлению ПИД по скорости изменения давления. На выходе управление заслонкой импульс и пауза. Но никак не подберем коэффициенты. По давлению ещё получается подобрать по скорости нет. Всю голову уже поломал как это можно реализовать. Уже мысли даже были поставить релюшку после выхода ПИДа по давлению. Прошу вашей помощи в данной задаче. Оставляю свою почту на всякий случай vazemiller.andrey@mail.ru. Заранее спасибо!

Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом

Добавлено: 01 дек 2019, 21:06
Dryundel
[ref]Andvaz[/ref], так у Вас противоречивые входные данные. Формула такова, что при скорости изменения давления в камере №2 96Па/с в камере №1 скорость изменения давления должна составлять 37,4 Па/с. Иначе формула соблюдена не будет. А Вы хотите скорость не более 24 Па/с.

Отправлено спустя 10 минут 4 секунды:
Эта задачка не решаемая.
И к стати превышать пишется через Е ! Господа, техзадание на бумаге - это уже документ!