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

ПИД Регулятор.

Добавлено: 19 июл 2019, 09:55
Siberian
Здравствуйте, коллеги!
Более двух лет назад я скачал с нашего форума пользовательский блок ПИД регулятор.
Судя по описанию автора в блоке, им является AlexA.
Но, к сожалению сейчас я не могу найти пользователя с таким ником.

Данный блок использую в инкубаторах.
Работает Очень Отлично!
За пару лет перепробовал очень много вариантов разных ПИД регуляторов, но ничего лучшего не нашел.
Огромный респект и уважуха автору блока!

Выкладываю блок и библиотеку к нему (PID_v1).

ПИД Регулятор. Отличный блок пользователя!

Добавлено: 19 июл 2019, 10:43
com
А можно по подробнее по настройкам, какой пункт за что отвечает, как настроить

ПИД Регулятор. Отличный блок пользователя!

Добавлено: 19 июл 2019, 11:42
Siberian
com писал(а): 19 июл 2019, 10:43 А можно по подробнее по настройкам, какой пункт за что отвечает, как настроить
Подробнее и расширено можно найти в любом описании по ПИД регуляторам, нужно только немого погуглить, информации очень много.
Когда я начинал знакомиться с ПИД регулятором, перелопатил очень многое в инете. Самой простой мне показалась публикация, в котором парень рассказывал, как он делал для своего товарища блок управления оборотами двигателя. http://we.easyelectronics.ru/Theory/pid ... tikov.html

В этой публикации довольно всё просто, по народному описано.
Если Вы не разу не сталкивались с ПИД регуляторами, совету прочесть.
Про настройки описано в конце.
Если правильно настроить Kp и Ki, то настройку Kd можно оставить "0", получится ПИ регулятор.

Отправлено спустя 24 минуты 30 секунд:
------------------------------------------------------------------------------------------------------------------------
Для примера приведу один из своих инкубаторов.
* 160 яиц загрузка.
* Внутренний объем инкубатора составляет 180 литров.
* Мощность нагревателя 85 Ватт.
* Датчик температуры и влажности HTU-21
* Время нагрева инкубатора при внешней температуре +18 градусов до нагрева +38 градусов составляет 1 час.
Данные настройки ПИД.
* Kp = 1480,0
* Ki = 1,35
* Kd = 0,0
Обращаю внимание, что регулировка происходит именно по ШИМ, а не по релейному управлению.

ПИД Регулятор.

Добавлено: 19 июл 2019, 12:16
Anydy
Siberian писал(а): 19 июл 2019, 11:42 Когда я начинал знакомиться с ПИД регулятором, перелопатил очень многое в инете. Самой простой мне показалась публикация, в котором парень рассказывал, как он делал для своего товарища блок управления оборотами двигателя. http://we.easyelectronics.ru/Theory/pid ... tikov.html
Хорошая инструкция!!! Всем полезно почитать!!!

Отправлено спустя 2 минуты 17 секунд:
Siberian писал(а): 19 июл 2019, 09:55 Судя по описанию автора в блоке, им является AlexA.
Но, к сожалению сейчас я не могу найти пользователя с таким ником.
Да, я в админке тоже не вижу такого пользователя.....либо его нет, либо он самоудалился)))

Отправлено спустя 43 секунды:
Либо ник не верный указали...

ПИД Регулятор.

Добавлено: 19 июл 2019, 12:22
ecoins
Siberian писал(а): 19 июл 2019, 11:42 Подробнее и расширено можно найти в любом описании по ПИД регуляторам, нужно только немого погуглить, информации очень много.
Когда я начинал знакомиться с ПИД регулятором, перелопатил очень многое в инете. Самой простой мне показалась публикация, в котором парень рассказывал, как он делал для своего товарища блок управления оборотами двигателя. http://we.easyelectronics.ru/Theory/pid ... tikov.html
Отличная тема и отличные ссылки.
Тут же скачал библиотеку и добавил в папку libraries IDE.
И обнаружилось, что такая библиотека уже размещена автором в этой папке.
Большое спасибо, что обратили внимание на эту тему, сослались на свой успешный опыт, сделали крайне интересную для нас ссылку на публикацию, в которой особый интерес вызвал текст:
[spoiler title=О параллелизме в программе - из http://we.easyelectronics.ru/Theory/pid ]В комментариях поинтересовались — зачем такие сложности с машиной состояний? С недетерминированным алгоритмом? Отвечаю: благодаря такому подходу я реализую простенький «параллелизм». Т. е. в промежутке между этапами вычислений я делаю какие-то другие действия (в моем случае общение по UART, которое может быть весьма напряженным — когда я использую сий девайс как логгер событий).[/spoiler]
Это как раз то, что команда ecoins в настоящее время разрабатывает для микроконтроллеров и пытается привлечь к этому аспекту проектирования пользователей FLProg - пока без особого успеха.

ПИД Регулятор.

Добавлено: 19 июл 2019, 12:52
Siberian
Anydy писал(а): 19 июл 2019, 12:16
Siberian писал(а): 19 июл 2019, 11:42 Когда я начинал знакомиться с ПИД регулятором, перелопатил очень многое в инете. Самой простой мне показалась публикация, в котором парень рассказывал, как он делал для своего товарища блок управления оборотами двигателя. http://we.easyelectronics.ru/Theory/pid ... tikov.html
Хорошая инструкция!!! Всем полезно почитать!!!

Отправлено спустя 2 минуты 17 секунд:
Siberian писал(а): 19 июл 2019, 09:55 Судя по описанию автора в блоке, им является AlexA.
Но, к сожалению сейчас я не могу найти пользователя с таким ником.
Да, я в админке тоже не вижу такого пользователя.....либо его нет, либо он самоудалился)))

Отправлено спустя 43 секунды:
Либо ник не верный указали...
Может и не верный ник, я взял имя автора из описания блока.

Отправлено спустя 10 минут 28 секунд:
-------------------------------------------------------------------------------------------------------------
Я скачал этот блок еще с форума сайта flprog.ru.
В то время не было этого форума на движке phpBB

ПИД Регулятор.

Добавлено: 19 июл 2019, 14:23
Anydy
А, ясно )))

ПИД Регулятор.

Добавлено: 19 июл 2019, 17:12
Alex16
Siberian писал(а): 19 июл 2019, 12:52 Может и не верный ник, я взял имя автора из описания блока.
Мой ник на форуме "Alex16"

ПИД Регулятор.

Добавлено: 19 июл 2019, 17:20
Siberian
[ref]Alex16[/ref], приветствую! Если блок Ваш, то Респект и Уважуха! :smile38:

ПИД Регулятор.

Добавлено: 20 июл 2019, 01:38
Dryundel
Siberian писал(а): 19 июл 2019, 09:55 Здравствуйте, коллеги!
Более двух лет назад я скачал с нашего форума пользовательский блок ПИД регулятор.
Судя по описанию автора в блоке, им является AlexA.
Но, к сожалению сейчас я не могу найти пользователя с таким ником.

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

В чем фикус? Вы заметили особые отличия в работе? Данный блок реально лучше работает?

ПИД Регулятор.

Добавлено: 20 июл 2019, 07:45
Siberian
Dryundel писал(а): 20 июл 2019, 01:38 А можно поподробней, в чем преимущество данного блока перед встроенным?
На встроенном блоке я не смог добиться стабильного поддерживания температуры.
А связано скорее всего с алгоритмом работы, я по разному пытался настроить Kp, Ki, Kd, но происходило следующее:
Например, установленная температура +38,0., верхний предел ШИМ 255, нижний 0.
При достижении +38,0 шим сбрасывается в 0, затем после какого-то периода времени начинает увеличиваться, но температура уже 37,9., шим увеличивается до 255, но температура уже 37,8., при достижении 38,0 снова шим сбрасывается в 0, и т.д. В таком режиме работает какое-то время, и наконец "качалка" пляшет от 37,9 до 38,1.

На пользовательском блоке такого не происходит. При достижении 38,0 шим снижается примерно до 120-140 (в зависимости от настроек Kp, Ki) и в этих пределах регулирует. Опять-же, в зависимости от настроек Kp, Ki можно добиться регулировки в пределах либо 37,9 - 38,0. либо 38,0 - 38,1 до достижения стабильного 38,0.

Отправлено спустя 19 минут 14 секунд:
Может я не смог правильно настроить встроенный блок, занимался с ним плотно два дня, но желаемого результата не получил.

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

ПИД Регулятор.

Добавлено: 20 июл 2019, 12:13
Dryundel
Siberian писал(а): 20 июл 2019, 07:45 На встроенном блоке я не смог добиться стабильного поддерживания температуры.
А связано скорее всего с алгоритмом работы...
Siberian писал(а): 20 июл 2019, 07:45 Пользовательский блок от Alex16 настраивается очень легко, хорошо отзывчив к настройке коэффициентов
Странно все это. Оба блока работают на одной библиотеке. В блоке от [ref]Alex16[/ref] я не увидел дополнительных алгоритмов, только отсыл к функциям библиотеки. Поэтому осмелюсь предположить, что Вы при настройке встроенного блока сделали что то не так.
Хотя... Все может быть и все быть может и только то не может быть, чего уж точно быть не может, хотя и это может быть.
Интересно было бы послушать автора блока.
[ref]Alex16[/ref], не расскажете в чем принципиальное отличие вашего блока от встроенного? Почему Вы его создали? Не устроил встроенный? Как удалось сделать принципиально новое решение на той же библиотеке? В чем секрет? В чем отличие?

ПИД Регулятор.

Добавлено: 20 июл 2019, 16:45
Siberian
Блок пользователя Alex16 создал еще до того, как появился встроенный блок пид в программе flprog.

ПИД Регулятор.

Добавлено: 20 июл 2019, 21:26
ecoins
Dryundel писал(а): 20 июл 2019, 12:13 не расскажете в чем принципиальное отличие вашего блока от встроенного? Почему Вы его создали? Не устроил встроенный?
Во как! И не знал о встроенном ПИД-регуляторе. Буду пробовать.

ПИД Регулятор.

Добавлено: 21 июл 2019, 15:46
Siberian
av писал(а): 20 июл 2019, 23:19 Siberian, странно но у меня штатный блок работает отлично без всяких нареканий. Ваше описание работы штатного блока отличаются от работы в моем случае. У меня работает так же как вы описали работу пользовательского блока. А вот преимущества штатного из за дополнительных настроек описанных Ув.Dryundel,
Не буду спорить, возможно я как-то криво подошел к вопросу...
Уже привык к пользовательскому, тем более, что мне дополнительные настройки не нужны, использую только прямое регулирование ШИМ.

ПИД Регулятор.

Добавлено: 15 мар 2020, 22:16
ivanpost
Коллеги! Посоветуйте, как настроить этот или встроенный ПИД-регулятор...

Потребовалось регулировать скорость вращения двигателя. с энкодером (позиционирование тоже нужно) . В данном случае простой ШИМ не совсем подходит, ввиду не всегда одинаковой нагрузки на двигателе.
Дискретность проведения замеров скорости - 20 мс . Время регулирования установил 80 мс (не совсем понятно, из чего исходить при его установке?)
Возникают незатухающие колебания при Kp=5 (Ki=0 Kd=0) Но измерить их период - довольно затруднительно - примерно 0,5-0,8 сек...
Просто думаю, решалась не раз эта задача.. А то покрутил все коэффициенты по методичке, но либо медленно едет, либо дергается...

ПИД Регулятор.

Добавлено: 15 мар 2020, 23:19
Brand2
[ref]ivanpost[/ref], При коэффициентах Ki=0 и Kd=0 у Вас получается пропорциональный регулятор,и эти незатухающие колебания это нормальное явление для такого вида регулятора что связано с инерционностью системы.
Хочешь не хочешь, а нужно вводить коэффициенты в дифференциальный и интегральный каналы.
Вот тут и начинается самое интересное,для этого существует целая наука,"Tеория автоматического управления",там темный лес с высшей математикой,передаточными функциямии и всякими теориями.
Можно подобрать приблизительно и опытным путем,тут выше давалась ссылка на статью "ПИД регуляторы для чайников"
прочитав ее,уже можно понять,куда и что двигать.
Что бы посмотреть как реагирует регулируемый параметр на изменения,я выводил его значения в плоттер,и смотрел как он изменяется.Очень даже наглядно ,но я регулировал температуру .

ПИД Регулятор.

Добавлено: 16 мар 2020, 01:05
CraCk
[ref]ivanpost[/ref],
Если разбираетесь в коде. Может получиться что то позаимствовать с этого проекта. Там как раз используется двигатель и обратная связь потенциометром.
http://mal4x.ru/x-simulator-simtools/no ... -t423.html

ПИД Регулятор.

Добавлено: 16 мар 2020, 10:18
ivanpost
Brand2 писал(а): 15 мар 2020, 23:19 [ref]ivanpost[/ref],
Хочешь не хочешь, а нужно вводить коэффициенты в дифференциальный и интегральный каналы.
Вот тут и начинается самое интересное,для этого существует целая наука,"Tеория автоматического управления",там темный лес с высшей математикой,передаточными функциямии и всякими теориями.
Можно подобрать приблизительно и опытным путем,тут выше давалась ссылка на статью "ПИД регуляторы для чайников"
прочитав ее,уже можно понять,куда и что двигать.
Я читал, но там сильно врубаться надо, а хотелось то - наскоком :smile38: Опять же, приведено для медленных проектов все... Просто я думал, скорость и позиционирование по энкодеру - распространенные задачи.... Подумал - от меня что-то ускользнуло...

ПИД Регулятор.

Добавлено: 17 мар 2020, 13:46
Brand2
Сейчас в связи с вирусом появилось на работе время,решил сделать проект для изучения ПИД регулятора,состоящий из нагревателя,датчика температуры и вентилятора,который охлаждает нагреватель.
В проекте используется LCD дисплей 16х2 и REMOTEXY для контроля температуры и ее задания ,а так же для изменения коэффициентов
ПИД регулятора и изучение их влияния на поведение системы.
Данные выводятся на плоттер IDE и на график в REMOTEXY,что позволяет видеть поведние системы ,точность и скорость изменения заданного параметра при внесении в нее возмущений.
PID_REMOTEXY.flp
Ниже приведены снимки переходных процессов системы с экрана плотера и телефона с различными параметрами ПИД регулятора.
Кнопкой GO происходит одновременное задание изменяемых параметров,при этом мигает красный индикатор вверху если запись произведена.
LCD дисплей используется как дополнительное средство контроля и может не подключатся.
[spoiler]
WhatsApp Image 2020-03-17 at 11.51.03 (2).jpeg
WhatsApp Image 2020-03-17 at 11.51.03 (1).jpeg
WhatsApp Image 2020-03-17 at 11.50.03.jpeg
WhatsApp Image 2020-03-17 at 11.50.03 (1).jpeg
[/spoiler]