Блок ПИД регулятор
Блок ПИД регулятор
Прошу испытывать. Времени проверить на железе нету пока.
Описание:
Блок составлен на базе библиотеки 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в и прекрасно с этим справляется.
Описание:
Блок составлен на базе библиотеки 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в и прекрасно с этим справляется.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Блок ПИД регулятор
gav81, спасибо за блок, попробую. А не подскажите как вы реализовали выход 0-10в. Я для этого заказал цифровые потенциометры, но интересны и другие варианты.
Блок ПИД регулятор
krom23, на операционнике LM324. Цена вопроса 50р. См. схему
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось gav81 10 фев 2016, 20:52, всего редактировалось 1 раз.
- Siberian
- Лейтенант
- Сообщения: 635
- Зарегистрирован: 07 сен 2015, 11:51
- Откуда: СССР
- Имя: Александр
- Благодарил (а): 35 раз
- Поблагодарили: 5 раз
Блок ПИД регулятор
И в то-же время Вы написали "В моем случае управляет сервоприводами ESBE ARA 659 0-10в и прекрасно с этим справляется."gav81 писал(а):Прошу испытывать. Времени проверить на железе нету пока.
Имелось ввиду, что прекрасно справляется в Proteus_е ?
Блок ПИД регулятор
А нет ли возможности этот PID регулятор сделать с цифровым входом для управлении реле? 3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением.
У автора библиотеки есть пример с релейным выходам, но от этого кода я ничего не понимаю.
У автора библиотеки есть пример с релейным выходам, но от этого кода я ничего не понимаю.
Последний раз редактировалось Airis 14 фев 2016, 00:31, всего редактировалось 1 раз.
Блок ПИД регулятор
Siberian, поскольку раньше не было возможности вписать в блок код и библиотеку, после компиляции из FLprog я добавлял код в IDE вручную. Это все работает как я и сказал на железе.
Составив блок в Flprog я не заливал код в контроллер. Вот что имелось ввиду. В протеусе не тестил.
Добавлено (17.02.2016, 21:37)
---------------------------------------------
По моему, то что Вам нужно реализовано у пользователя 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)
---------------------------------------------
Составив блок в Flprog я не заливал код в контроллер. Вот что имелось ввиду. В протеусе не тестил.
Добавлено (17.02.2016, 21:37)
---------------------------------------------
Не совсем то, если я Вас правильно понял. Пример из библиотеки PID_RelayOutput просто включает и отключает одно реле.Airis писал(а):А нет ли возможности этот PID регулятор сделать с цифровым входом для управлении реле? 3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением.
У автора библиотеки есть пример с релейным выходам, но от этого кода я ничего не понимаю.
По моему, то что Вам нужно реализовано у пользователя 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)
---------------------------------------------
К стати, для информации. Я нашел 3 привода ARA 659 около 3000р за штуку на AVITO и EBAY. Дешевле навряд ли что то есть...Airis писал(а):3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением
Последний раз редактировалось gav81 17 фев 2016, 21:10, всего редактировалось 1 раз.
Блок ПИД регулятор
Да, мне нужно "просто" включать и выключать одно реле(понятно что для управление 3-точечным сервоприводом нужны два реле и два PID регулятора). PID регулятор с релейным выходом в промышленной автоматизации используетсяgav81 писал(а):Пример из библиотеки PID_RelayOutput просто включает и отключает одно реле.
очень широко, думаю что намного больше чем регулятор с управлениме по 0-10V. Вот и интересует, как "просто"
включать и выключать одно реле по настоящему PI(D) алгоритму. В PI(D) регуляторе
зависимости от уровня рассогласование меняется длительность времени включение
реле и паузы между ними. Из примера не понимаю как там включать и выключать
реле.
- Siberian
- Лейтенант
- Сообщения: 635
- Зарегистрирован: 07 сен 2015, 11:51
- Откуда: СССР
- Имя: Александр
- Благодарил (а): 35 раз
- Поблагодарили: 5 раз
Блок ПИД регулятор
Понятно. Спасибо!gav81 писал(а):Siberian, поскольку раньше не было возможности вписать в блок код и библиотеку, после компиляции из FLprog я добавлял код в IDE вручную. Это все работает как я и сказал на железе.Составив блок в Flprog я не заливал код в контроллер. Вот что имелось ввиду. В протеусе не тестил.
Последний раз редактировалось Siberian 18 фев 2016, 06:40, всего редактировалось 1 раз.
Блок ПИД регулятор
Airis, попробую вам помочь.
Какой у вас привод? Производитель, марка?
Какой у вас привод? Производитель, марка?
Последний раз редактировалось gav81 18 фев 2016, 19:39, всего редактировалось 1 раз.
Блок ПИД регулятор
У менякакой то Danfoss похожий на AMV 130/140 (230V) но боле старая модель снятая с производства. Но то какай именно привод не имеет принципиальной разницы. У приводов управляемых импульсами напряжением 230V есть только один параметр - скорость полного открытие / закрытие.
PI(D) регулятор с выходом на реле это универсальная регулятор способныйуправлять как электрическим нагревателям, так и разными электромеханическими приводами.
PI(D) регулятор с выходом на реле это универсальная регулятор способныйуправлять как электрическим нагревателям, так и разными электромеханическими приводами.
Последний раз редактировалось Airis 18 фев 2016, 22:39, всего редактировалось 1 раз.
Блок ПИД регулятор
И так. Давайте разберемся как работает AMV 130/140.Airis писал(а):У менякакой то Danfoss похожий на AMV 130/140 (230V) но боле старая модель снятая с производства. Но то какай именно привод не имеет принципиальной разницы. У приводов управляемых импульсами напряжением 230V есть только один параметр - скорость полного открытие / закрытие.
PI(D) регулятор с выходом на реле это универсальная регулятор способныйуправлять как электрическим нагревателям, так и разными электромеханическими приводами.
В схеме подключения я вижу три провода. Черный - вниз, голубой - общий, коричневый - вверх. Т.е. замыкание голубого и черного к примеру закрывает, голубого и коричневого открывает, все разомкнуты привод неподвижен.
Если это так, нужно два сигнала и два реле на открытие и на закрытие. Поправьте если я не прав.
Последний раз редактировалось gav81 18 фев 2016, 23:14, всего редактировалось 1 раз.
- Siberian
- Лейтенант
- Сообщения: 635
- Зарегистрирован: 07 сен 2015, 11:51
- Откуда: СССР
- Имя: Александр
- Благодарил (а): 35 раз
- Поблагодарили: 5 раз
Блок ПИД регулятор
gav81, По какой формуле Вы настраивали коэффициенты
Kp
Ki
Kd
Добавлено (20.02.2016, 11:00)
---------------------------------------------
gav81, Похоже, что я что-то не верно понял.
Попытался подключить блок для управления температурой.
In - датчик температуры.
SP - задал константу температуры (40 градусов)
Kp - 0
Ki - 0
Kd - 0
Out - ШИМ (через полевой транзистор подключена лампочка накаливания)
PID_MODE - константа true.
В результате на выходе ШИМ - 0
Kp
Ki
Kd
Добавлено (20.02.2016, 11:00)
---------------------------------------------
gav81, Похоже, что я что-то не верно понял.
Попытался подключить блок для управления температурой.
In - датчик температуры.
SP - задал константу температуры (40 градусов)
Kp - 0
Ki - 0
Kd - 0
Out - ШИМ (через полевой транзистор подключена лампочка накаливания)
PID_MODE - константа true.
В результате на выходе ШИМ - 0
Блок ПИД регулятор
Да, все правильно, и по научному это называется "3 - точнаяуправление" (three point control). То чтоgav81 писал(а):Т.е. замыкание голубого и черного к примеру закрывает, голубого и коричневого открывает, все разомкнуты привод неподвижен.
для управление таким приводом нужны 2 реле и 2 PI(D) регулятора это понятно.
Блок ПИД регулятор
Siberian, При всех нулевых коэффициентах у вас должна быть на выходе 100% мощность. При установке коэффициента пропорциональности (задается в градусах) мощность будет пропорционально уменьшатся при подходе к установленному значению. например, установленная температура 80 градусов, Кр 20, пока температура не дойдет до 60 градусов, на выходе будет 100% мощность, при 70 градусах 50%, и так далее.
Если конечно расчет идет по стандартной формуле.
Если конечно расчет идет по стандартной формуле.
Последний раз редактировалось Олег 20 фев 2016, 11:23, всего редактировалось 1 раз.
- Siberian
- Лейтенант
- Сообщения: 635
- Зарегистрирован: 07 сен 2015, 11:51
- Откуда: СССР
- Имя: Александр
- Благодарил (а): 35 раз
- Поблагодарили: 5 раз
Блок ПИД регулятор
100% мощность, я так понимаю шим = 255.Олег писал(а):При всех нулевых коэффициентах у вас должна быть на выходе 100% мощность
- Siberian
- Лейтенант
- Сообщения: 635
- Зарегистрирован: 07 сен 2015, 11:51
- Откуда: СССР
- Имя: Александр
- Благодарил (а): 35 раз
- Поблагодарили: 5 раз
Блок ПИД регулятор
У меня при любых значениях коэффициентов и заданной температуре, на выходе 0
Добавлено (20.02.2016, 12:24)
---------------------------------------------
Смысл моей задачи, это прикрутить к терморегулятору ПИД.
Температуру нужно поддерживать на уровне плюс-минус 0,1 градус.
Вход - датчик температуры.
Выход - нагревательный элемент.
Добавлено (20.02.2016, 12:24)
---------------------------------------------
Смысл моей задачи, это прикрутить к терморегулятору ПИД.
Температуру нужно поддерживать на уровне плюс-минус 0,1 градус.
Вход - датчик температуры.
Выход - нагревательный элемент.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость