Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref], А настройки какие у вас?
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref], можете 0 поставить. Там в программе автоматически подставится 9999.0. То есть влияния И практически не будет
- Phazz
- Полковник
- Сообщения: 3114
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 231 раз
- Поблагодарили: 110 раз
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
А почему если температура выше уставки и происходит резкое понижение температуры, то тэн включается еще не достигнув уставки. Настройки вот такие.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref],
Резкое понижение это как? Объясните подробнее пожалуйста.
П=100, то есть на изменение в 1 градус моментально выдаётся полная мощность. Нейтральная зона есть?
У вас не режим РЕЛЕ случайно стоит?
Резкое понижение это как? Объясните подробнее пожалуйста.
П=100, то есть на изменение в 1 градус моментально выдаётся полная мощность. Нейтральная зона есть?
У вас не режим РЕЛЕ случайно стоит?
- Phazz
- Полковник
- Сообщения: 3114
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 231 раз
- Поблагодарили: 110 раз
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref]dimalimite[/ref], Режим реле.
Уставка 30гр., текущая 45гр., при понижении на 5гр реле уже включается. Настройки как на скриншоте.
Как я понимаю, если выставлен только Пропорциональный, то не должно включаться реле пока температура не упадет ниже уставки.
Уставка 30гр., текущая 45гр., при понижении на 5гр реле уже включается. Настройки как на скриншоте.
Как я понимаю, если выставлен только Пропорциональный, то не должно включаться реле пока температура не упадет ниже уставки.
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref],
Прочитайте пожалуйста сообщение №14 про режим РЕЛЕ и Цикл=1 секунда. Вот у вас ровно так и работает или 0, или 50, или 100%.
В режиме РЕЛЕ регулятор "пытается" беречь ресурс вашего реле и мин. включение 0,5 сек и мин. перерыв между включения 0,5 сек или вообще не выключается.
Если у вас реле, то как минимум цикл 2 сек. и более. Для получения более-менее качественного регулирования. Поставьте для начала 5 секунд, так у вас будет мощность или 0, или от 10 до 90, или 100%.
П=100 %/С это вообще максимальное усиление для этого регулятора. Если хотите только П, то начните хотя бы с 10 %/С и если будет сильно не доходить до вашей уставки, то тогда уже увеличивайте.
Рассмотрим только П регулятор, как у вас с П=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.
Прочитайте пожалуйста сообщение №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.
- Phazz
- Полковник
- Сообщения: 3114
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 231 раз
- Поблагодарили: 110 раз
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref]dimalimite[/ref], Смотрел, посмотрю еще раз видимо что-то пропустил ).
Штатный блок пид работает немного по-другому. Если температура выше уставки, то пид не реагирует пока температура не упадет ниже.
Отправлено спустя 9 минут 50 секунд:
Завтра погоняю на реальном ТЭНе. А еще есть возможность добавить вход для изменения этого параметра
Штатный блок пид работает немного по-другому. Если температура выше уставки, то пид не реагирует пока температура не упадет ниже.
Отправлено спустя 9 минут 50 секунд:
Завтра погоняю на реальном ТЭНе. А еще есть возможность добавить вход для изменения этого параметра
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref], поставьте цикл=5 секунд и П=10 %/С для начала, а уже от этого скорректируете (100%/С - это незатухающие колебания гарантированные).
Я сомневаюсь, что он иначе работает. Особенно в П части. Там другого не дано.
Отправлено спустя 44 минуты 51 секунду:
[ref=#404040]Phazz[/ref],
MIN_PULSE_RELAY = constrain( MIN_PULSE_RELAY, (0.0), (CYCLE / 2.0) ); // Минимальное время включение/выключение РЕЛЕ 0...CYCLE/2 сек
То есть 0 сек до CYCLE/2 сек.
Категорически не рекомендую вам цикл 1 сек в режиме РЕЛЕ (тем более скорее всего 1 сек. цикл опроса датчика температурного). Начните с 5 сек.
Я сомневаюсь, что он иначе работает. Особенно в П части. Там другого не дано.
Отправлено спустя 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 сек.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3114
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 231 раз
- Поблагодарили: 110 раз
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
У меня твердотельное реле поэтому износа не будет. А длинный ШИМ нужен чтобы не было частого мигания ламп освещения в такт ТЭНу.
Мигание конечно всё равно есть, но оно хоть не такое раздражающее.
Отправлено спустя 15 минут 50 секунд:
[ref]dimalimite[/ref],
Проверил, работает.
Настройки для чайника получились такие:
Цикл - 5 сек
П - 20
И - 150
Д - 0
мин. импульс 0.1 сек
Мигание конечно всё равно есть, но оно хоть не такое раздражающее.
Отправлено спустя 15 минут 50 секунд:
[ref]dimalimite[/ref],
Проверил, работает.
Настройки для чайника получились такие:
Цикл - 5 сек
П - 20
И - 150
Д - 0
мин. импульс 0.1 сек
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref], получается не отслеживает переключение через ноль ваша твердотелка?
Я рад, что всё получилось:).
Я рад, что всё получилось:).
- Phazz
- Полковник
- Сообщения: 3114
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 231 раз
- Поблагодарили: 110 раз
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref]dimalimite[/ref], Отслеживает, но просадки напряжения всё равно есть и частые пульсации раздражают.
Но штатный блок ПИД всё же почему-то совсем не так работает. Там мне хватило только П кофициента но на снижение температуры реакции не было пока не перейдет температуру уставки. Может от того что не понятно в каких единицах там задаются коофиценты. Понятно только что время в миллисекундах.
Но штатный блок ПИД всё же почему-то совсем не так работает. Там мне хватило только П кофициента но на снижение температуры реакции не было пока не перейдет температуру уставки. Может от того что не понятно в каких единицах там задаются коофиценты. Понятно только что время в миллисекундах.
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref],
А как он на неизменное ступенчатое воздействие отрабатывает? Изменяет выход постоянно или только 1 раз при возмущение?
Бог его знает. Вообще чудес не бывает). А есть возможность посмотреть что внутри блока? Или описание развернутое?Phazz писал(а): 28 янв 2019, 15:23Отслеживает, но просадки напряжения всё равно есть и частые пульсации раздражают.
Но штатный блок ПИД всё же почему-то совсем не так работает. Там мне хватило только П кофициента но на снижение температуры реакции не было пока не перейдет температуру уставки. Может от того что не понятно в каких единицах там задаются коофиценты. Понятно только что время в миллисекундах.
А как он на неизменное ступенчатое воздействие отрабатывает? Изменяет выход постоянно или только 1 раз при возмущение?
- Phazz
- Полковник
- Сообщения: 3114
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 231 раз
- Поблагодарили: 110 раз
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
Только код который формируется в ide
Отправлено спустя 3 минуты 10 секунд:
Описание есть в справке. Но я думаю нет необходимости заморачиваться. Ваши блоки покрывают все потребности. Спасибо.
Отправлено спустя 7 минут 46 секунд:
Еще не плохо бы поместить эту информацию в описание блока. А то заходить в редактирование блока, чтобы посмотреть назначение и допустимые значения входов как-то не сразу в голову приходит )[spoiler] [/spoiler]
Отправлено спустя 3 минуты 10 секунд:
Описание есть в справке. Но я думаю нет необходимости заморачиваться. Ваши блоки покрывают все потребности. Спасибо.
Отправлено спустя 7 минут 46 секунд:
Еще не плохо бы поместить эту информацию в описание блока. А то заходить в редактирование блока, чтобы посмотреть назначение и допустимые значения входов как-то не сразу в голову приходит )[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref=#404040]Phazz[/ref],
Посмотреть бы формулу и сразу бы всё прояснилось. Я как будет время, ради интереса, подам на него ступеньку в П-режиме только и посмотрю как он отрабатывает.
Просто у меня именно классика ПИД сделана. И работает как классика из учебника.
А есть куча разных других реализаций и они тоже работают без проблем. Например, в соседней ветке Boroda регуляторы. Формула другая и кстати если в П-режиме и выше уставки, тоже не будет изменять выход увеличивать пока ниже не опустится (будет только уменьшать на 0 сразу). Но это не классический ПИД и если снять характеристики работы, то не будет как ПИД себя вести.
Будет время сделаю. Было бы классно если бы можно было скопировать всё разом, а не получается:((((.Phazz писал(а): 28 янв 2019, 16:23Еще не плохо бы поместить эту информацию в описание блока. А то заходить в редактирование блока, чтобы посмотреть назначение и допустимые значения входов как-то не сразу в голову приходит )
Там просто библиотека вызывается. В справке у меня его кстати почему-то нет:(
Посмотреть бы формулу и сразу бы всё прояснилось. Я как будет время, ради интереса, подам на него ступеньку в П-режиме только и посмотрю как он отрабатывает.
Просто у меня именно классика ПИД сделана. И работает как классика из учебника.
А есть куча разных других реализаций и они тоже работают без проблем. Например, в соседней ветке Boroda регуляторы. Формула другая и кстати если в П-режиме и выше уставки, тоже не будет изменять выход увеличивать пока ниже не опустится (будет только уменьшать на 0 сразу). Но это не классический ПИД и если снять характеристики работы, то не будет как ПИД себя вести.
Последний раз редактировалось dimalimite 04 фев 2019, 02:42, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
Добрый день.
Если кому-нибудь будет интересно - видео с разбором кода этих функциональных блоков
https://youtu.be/IGRu5TuGrNI
Если кому-нибудь будет интересно - видео с разбором кода этих функциональных блоков
https://youtu.be/IGRu5TuGrNI
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
Подскажите, а накопленная ошибка обнуляется при остановке регулятора. Если нет, то как можно это реализовать. Нужно для того, чтобы при резком изменении уставки или коэффициентов ПИД расчет ошибки начинался заново.
-
- Рядовой
- Сообщения: 53
- Зарегистрирован: 03 дек 2018, 00:26
- Имя: Дмитрий
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
День добрый.JORA555 писал(а): 23 сен 2019, 14:32 Подскажите, а накопленная ошибка обнуляется при остановке регулятора. Если нет, то как можно это реализовать. Нужно для того, чтобы при резком изменении уставки или коэффициентов ПИД расчет ошибки начинался заново.
Регулятор рассчитывает приращение в пределах одного шага.
Если выключать сигналом ON_OFF то на выходе будет 0. И всё начнется заново от нулевого выхода.
Если происходит переключение AUTO_HAND из ручного в автоматический режим, то происходит это безударно, т.к. на время ручного режима Е3=Е1 и Е2=Е1. То есть производная "не выстрелит вверх" и т.п.
Резкое изменение уставки это самое сильное возмущающее воздействие для регулятора, т.к. это приведет к скачку производной (Д см. формулу расчета, если есть время, то видео можете посмотреть из этой темы с графиками работы). Так не следует делать в принципе

Вот как-то так.
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
Добрый день. Дмитрий вижу вы очень опытный специалист, хотел бы попросить вашей помощи в решении моего вопроса. У меня на предприятии никак программисты не могут решить поставленную задачу (приложил фото). Пробуем сейчас реализовать трехпозиционный импульсный Пид регулятор. Но пока никак не получается. Мысли следующие первый ПИД регулятор по давлению. На входе Ркамеры1 фактическое и рассчитанное по формуле. На выходе ПИД регулятора по давлению ПИД по скорости изменения давления. На выходе управление заслонкой импульс и пауза. Но никак не подберем коэффициенты. По давлению ещё получается подобрать по скорости нет. Всю голову уже поломал как это можно реализовать. Уже мысли даже были поставить релюшку после выхода ПИДа по давлению. Прошу вашей помощи в данной задаче. Оставляю свою почту на всякий случай vazemiller.andrey@mail.ru. Заранее спасибо!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2406
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Цифровой ПИД регулятор с аналоговым, трехпозиционным и ШИМ выходом
[ref]Andvaz[/ref], так у Вас противоречивые входные данные. Формула такова, что при скорости изменения давления в камере №2 96Па/с в камере №1 скорость изменения давления должна составлять 37,4 Па/с. Иначе формула соблюдена не будет. А Вы хотите скорость не более 24 Па/с.
Отправлено спустя 10 минут 4 секунды:
Эта задачка не решаемая.
И к стати превышать пишется через Е ! Господа, техзадание на бумаге - это уже документ!
Отправлено спустя 10 минут 4 секунды:
Эта задачка не решаемая.
И к стати превышать пишется через Е ! Господа, техзадание на бумаге - это уже документ!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей