Блок ПИД регулятор

В этом форуме можно обсудить интерфейс программы, работу встроенных блоков, взаимодейсткие с Ардуино IDE и т.д.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

Блок ПИД регулятор

Сообщение gav81 »

Прошу испытывать. Времени проверить на железе нету пока.

Описание:
Блок составлен на базе библиотеки Arduino PID Library - Version 1.1.1
* by Brett Beauregard <br3ttb@gmail.com> brettbeauregard.com
In - Input входное значение регулируемой переменной;
SP - Setpoint уставка;
Out - Output сигнал воздействия (аналоговый выход ШИМ 0-5в)
Kp - коэффициент пропорциональности;
Ki - коэффициент интегрирования;
Kd - коэффициент дифференцирования;

В моем случае управляет сервоприводами ESBE ARA 659 0-10в и прекрасно с этим справляется.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Xops
Рядовой
Сообщения: 31
Зарегистрирован: 21 дек 2015, 13:32

Блок ПИД регулятор

Сообщение Xops »

Спасибо, забрал. Завтра протестирую.
krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06 сен 2015, 15:18
Откуда: Калуга
Имя: Андрей

Блок ПИД регулятор

Сообщение krom23 »

gav81, спасибо за блок, попробую. А не подскажите как вы реализовали выход 0-10в. Я для этого заказал цифровые потенциометры, но интересны и другие варианты.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

Блок ПИД регулятор

Сообщение gav81 »

krom23, на операционнике LM324. Цена вопроса 50р. См. схему
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось gav81 10 фев 2016, 20:52, всего редактировалось 1 раз.
krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06 сен 2015, 15:18
Откуда: Калуга
Имя: Андрей

Блок ПИД регулятор

Сообщение krom23 »

Красота однако, и ещё раз спасибо.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

Блок ПИД регулятор

Сообщение gav81 »

На здоровье!
Дайте обратную связь по работоспособности блока как протестите.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 635
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 35 раз
Поблагодарили: 5 раз

Блок ПИД регулятор

Сообщение Siberian »

gav81 писал(а):Прошу испытывать. Времени проверить на железе нету пока.
И в то-же время Вы написали "В моем случае управляет сервоприводами ESBE ARA 659 0-10в и прекрасно с этим справляется."

Имелось ввиду, что прекрасно справляется в Proteus_е ?
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

Блок ПИД регулятор

Сообщение Airis »

А нет ли возможности этот PID регулятор сделать с цифровым входом для управлении реле? 3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением.
У автора библиотеки есть пример с релейным выходам, но от этого кода я ничего не понимаю.
Последний раз редактировалось Airis 14 фев 2016, 00:31, всего редактировалось 1 раз.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

Блок ПИД регулятор

Сообщение gav81 »

Siberian, поскольку раньше не было возможности вписать в блок код и библиотеку, после компиляции из FLprog я добавлял код в IDE вручную. Это все работает как я и сказал на железе.
Составив блок в Flprog я не заливал код в контроллер. Вот что имелось ввиду. В протеусе не тестил.

Добавлено (17.02.2016, 21:37)
---------------------------------------------
Airis писал(а):А нет ли возможности этот PID регулятор сделать с цифровым входом для управлении реле? 3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением.
У автора библиотеки есть пример с релейным выходам, но от этого кода я ничего не понимаю.
Не совсем то, если я Вас правильно понял. Пример из библиотеки PID_RelayOutput просто включает и отключает одно реле.
По моему, то что Вам нужно реализовано у пользователя Tehnics http://forum.flprogwiki.ru/viewtopic.php?f=18&t=89 без библиотеки, просто в коде см http://flprog.ru/_fr/0/V_2.2_new_5.04..rar плата 30,31.

Добавлено (17.02.2016, 21:46)
---------------------------------------------
Airis писал(а):3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением
К стати, для информации. Я нашел 3 привода ARA 659 около 3000р за штуку на AVITO и EBAY. Дешевле навряд ли что то есть...
Последний раз редактировалось gav81 17 фев 2016, 21:10, всего редактировалось 1 раз.
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

Блок ПИД регулятор

Сообщение Airis »

gav81 писал(а):Пример из библиотеки PID_RelayOutput просто включает и отключает одно реле.
Да, мне нужно "просто" включать и выключать одно реле(понятно что для управление 3-точечным сервоприводом нужны два реле и два PID регулятора). PID регулятор с релейным выходом в промышленной автоматизации используется
очень широко, думаю что намного больше чем регулятор с управлениме по 0-10V. Вот и интересует, как "просто"
включать и выключать одно реле по настоящему PI(D) алгоритму. В PI(D) регуляторе
зависимости от уровня рассогласование меняется длительность времени включение
реле и паузы между ними. Из примера не понимаю как там включать и выключать
реле.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 635
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 35 раз
Поблагодарили: 5 раз

Блок ПИД регулятор

Сообщение Siberian »

gav81 писал(а):Siberian, поскольку раньше не было возможности вписать в блок код и библиотеку, после компиляции из FLprog я добавлял код в IDE вручную. Это все работает как я и сказал на железе.Составив блок в Flprog я не заливал код в контроллер. Вот что имелось ввиду. В протеусе не тестил.
Понятно. Спасибо!
Последний раз редактировалось Siberian 18 фев 2016, 06:40, всего редактировалось 1 раз.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

Блок ПИД регулятор

Сообщение gav81 »

Airis, попробую вам помочь.
Какой у вас привод? Производитель, марка?
Последний раз редактировалось gav81 18 фев 2016, 19:39, всего редактировалось 1 раз.
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

Блок ПИД регулятор

Сообщение Airis »

У менякакой то Danfoss похожий на AMV 130/140 (230V) но боле старая модель снятая с производства. Но то какай именно привод не имеет принципиальной разницы. У приводов управляемых импульсами напряжением 230V есть только один параметр - скорость полного открытие / закрытие.
PI(D) регулятор с выходом на реле это универсальная регулятор способныйуправлять как электрическим нагревателям, так и разными электромеханическими приводами.
Последний раз редактировалось Airis 18 фев 2016, 22:39, всего редактировалось 1 раз.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

Блок ПИД регулятор

Сообщение gav81 »

Airis писал(а):У менякакой то Danfoss похожий на AMV 130/140 (230V) но боле старая модель снятая с производства. Но то какай именно привод не имеет принципиальной разницы. У приводов управляемых импульсами напряжением 230V есть только один параметр - скорость полного открытие / закрытие.
PI(D) регулятор с выходом на реле это универсальная регулятор способныйуправлять как электрическим нагревателям, так и разными электромеханическими приводами.
И так. Давайте разберемся как работает AMV 130/140.
В схеме подключения я вижу три провода. Черный - вниз, голубой - общий, коричневый - вверх. Т.е. замыкание голубого и черного к примеру закрывает, голубого и коричневого открывает, все разомкнуты привод неподвижен.
Если это так, нужно два сигнала и два реле на открытие и на закрытие. Поправьте если я не прав.
Последний раз редактировалось gav81 18 фев 2016, 23:14, всего редактировалось 1 раз.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 635
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 35 раз
Поблагодарили: 5 раз

Блок ПИД регулятор

Сообщение Siberian »

gav81, По какой формуле Вы настраивали коэффициенты

Kp
Ki
Kd

Добавлено (20.02.2016, 11:00)
---------------------------------------------
gav81, Похоже, что я что-то не верно понял.

Попытался подключить блок для управления температурой.

In - датчик температуры.

SP - задал константу температуры (40 градусов)

Kp - 0
Ki -  0
Kd - 0

Out - ШИМ (через полевой транзистор подключена лампочка накаливания)

PID_MODE - константа true.

В результате на выходе ШИМ - 0
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

Блок ПИД регулятор

Сообщение Airis »

gav81 писал(а):Т.е. замыкание голубого и черного к примеру закрывает, голубого и коричневого открывает, все разомкнуты привод неподвижен.
Да, все правильно, и по научному это называется "3 - точнаяуправление" (three point control). То что
для управление таким приводом нужны 2 реле и 2 PI(D) регулятора это понятно.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

Блок ПИД регулятор

Сообщение Олег »

Siberian, При всех нулевых коэффициентах у вас должна быть на выходе 100% мощность. При установке коэффициента пропорциональности (задается в градусах) мощность будет пропорционально уменьшатся при подходе к установленному значению. например, установленная температура 80 градусов, Кр 20, пока температура не дойдет до 60 градусов, на выходе будет 100% мощность, при 70 градусах 50%, и так далее.
Если конечно расчет идет по стандартной формуле.
Последний раз редактировалось Олег 20 фев 2016, 11:23, всего редактировалось 1 раз.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 635
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 35 раз
Поблагодарили: 5 раз

Блок ПИД регулятор

Сообщение Siberian »

Олег писал(а):При всех нулевых коэффициентах у вас должна быть на выходе 100% мощность
100% мощность, я так понимаю шим = 255.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

Блок ПИД регулятор

Сообщение Олег »

Ну да.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 635
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 35 раз
Поблагодарили: 5 раз

Блок ПИД регулятор

Сообщение Siberian »

У меня при любых значениях коэффициентов и заданной температуре, на выходе 0

Добавлено (20.02.2016, 12:24)
---------------------------------------------
Смысл моей задачи, это прикрутить к терморегулятору ПИД.
Температуру нужно поддерживать на уровне плюс-минус 0,1 градус.
Вход - датчик температуры.
Выход - нагревательный элемент.
Ответить

Вернуться в «Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!)»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость