FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Пятница, 09.12.2016, 16:28
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 512345»
Модератор форума: support, Сергей 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » Блок ПИД регулятор (Накидал блок на базе библиотеки Arduino PID Library)
Блок ПИД регулятор
gav81
Дата: Понедельник, 08.02.2016, 23:04 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 6
Репутация: 3
Статус: Offline
Прошу испытывать. Времени проверить на железе нету пока.

Описание:
Блок составлен на базе библиотеки 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в и прекрасно с этим справляется.
Прикрепления: _-CODE-.ubi(60Kb)
 
Xops Дата: Вторник, 09.02.2016, 16:55 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 25
Награды: 0
Репутация: 0
Статус: Offline
Спасибо, забрал. Завтра протестирую.
 
krom23 Дата: Вторник, 09.02.2016, 21:24 | Сообщение # 3
Майор
Группа: Проверенные
Сообщений: 178
Награды: 1
Репутация: 0
Статус: Offline
gav81, спасибо за блок, попробую. А не подскажите как вы реализовали выход 0-10в. Я для этого заказал цифровые потенциометры, но интересны и другие варианты.
 
gav81 Дата: Среда, 10.02.2016, 20:48 | Сообщение # 4
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 6
Репутация: 3
Статус: Offline
krom23, на операционнике LM324. Цена вопроса 50р. См. схему
Прикрепления: 6060323.png(21Kb)


Сообщение отредактировал gav81 - Среда, 10.02.2016, 20:52
 
krom23 Дата: Среда, 10.02.2016, 22:41 | Сообщение # 5
Майор
Группа: Проверенные
Сообщений: 178
Награды: 1
Репутация: 0
Статус: Offline
Красота однако, и ещё раз спасибо.
 
gav81 Дата: Четверг, 11.02.2016, 20:19 | Сообщение # 6
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 6
Репутация: 3
Статус: Offline
На здоровье!
Дайте обратную связь по работоспособности блока как протестите.
 
Siberian Дата: Суббота, 13.02.2016, 08:54 | Сообщение # 7
Майор
Группа: Проверенные
Сообщений: 189
Награды: 1
Репутация: 1
Статус: Offline
Цитата gav81 ()
Прошу испытывать. Времени проверить на железе нету пока.

И в то-же время Вы написали "В моем случае управляет сервоприводами ESBE ARA 659 0-10в и прекрасно с этим справляется."

Имелось ввиду, что прекрасно справляется в Proteus_е ?
 
Airis Дата: Воскресенье, 14.02.2016, 00:29 | Сообщение # 8
Майор
Группа: Проверенные
Сообщений: 135
Награды: 4
Репутация: 10
Статус: Offline
А нет ли возможности этот PID регулятор сделать с цифровым входом для управлении реле? 3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением.
У автора библиотеки есть пример с релейным выходам, но от этого кода я ничего не понимаю.


Сообщение отредактировал Airis - Воскресенье, 14.02.2016, 00:31
 
gav81 Дата: Среда, 17.02.2016, 21:46 | Сообщение # 9
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 6
Репутация: 3
Статус: Offline
Siberian, поскольку раньше не было возможности вписать в блок код и библиотеку, после компиляции из FLprog я добавлял код в IDE вручную. Это все работает как я и сказал на железе.
Составив блок в Flprog я не заливал код в контроллер. Вот что имелось ввиду. В протеусе не тестил.

Добавлено (17.02.2016, 21:37)
---------------------------------------------

Цитата Airis ()
А нет ли возможности этот PID регулятор сделать с цифровым входом для управлении реле? 3-точечные регуляторы того-же ESBE более распространены и дешевле чем регулатор с 0-10V управлением.
У автора библиотеки есть пример с релейным выходам, но от этого кода я ничего не понимаю.

Не совсем то, если я Вас правильно понял. Пример из библиотеки PID_RelayOutput просто включает и отключает одно реле.
По моему, то что Вам нужно реализовано у пользователя Tehnics http://flprog.ru/forum/18-89-1 без библиотеки, просто в коде см 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.02.2016, 21:10
 
Airis Дата: Среда, 17.02.2016, 23:36 | Сообщение # 10
Майор
Группа: Проверенные
Сообщений: 135
Награды: 4
Репутация: 10
Статус: Offline
Цитата gav81 ()
Пример из библиотеки PID_RelayOutput просто включает и отключает одно реле.
Да, мне нужно "просто" включать и выключать одно реле(понятно что для управление 3-точечным сервоприводом нужны два реле и два PID регулятора). PID регулятор с релейным выходом в промышленной автоматизации используется
очень широко, думаю что намного больше чем регулятор с управлениме по 0-10V. Вот и интересует, как "просто"
включать и выключать одно реле по настоящему PI(D) алгоритму. В PI(D) регуляторе
зависимости от уровня рассогласование меняется длительность времени включение
реле и паузы между ними. Из примера не понимаю как там включать и выключать
реле.
 
Siberian Дата: Четверг, 18.02.2016, 06:39 | Сообщение # 11
Майор
Группа: Проверенные
Сообщений: 189
Награды: 1
Репутация: 1
Статус: Offline
Цитата gav81 ()
Siberian, поскольку раньше не было возможности вписать в блок код и библиотеку, после компиляции из FLprog я добавлял код в IDE вручную. Это все работает как я и сказал на железе.Составив блок в Flprog я не заливал код в контроллер. Вот что имелось ввиду. В протеусе не тестил.

Понятно. Спасибо!


Сообщение отредактировал Siberian - Четверг, 18.02.2016, 06:40
 
gav81 Дата: Четверг, 18.02.2016, 19:39 | Сообщение # 12
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 6
Репутация: 3
Статус: Offline
Airis, попробую вам помочь.
Какой у вас привод? Производитель, марка?


Сообщение отредактировал gav81 - Четверг, 18.02.2016, 19:39
 
Airis Дата: Четверг, 18.02.2016, 22:38 | Сообщение # 13
Майор
Группа: Проверенные
Сообщений: 135
Награды: 4
Репутация: 10
Статус: Offline
У менякакой то Danfoss похожий на AMV 130/140 (230V) но боле старая модель снятая с производства. Но то какай именно привод не имеет принципиальной разницы. У приводов управляемых импульсами напряжением 230V есть только один параметр - скорость полного открытие / закрытие.
PI(D) регулятор с выходом на реле это универсальная регулятор способныйуправлять как электрическим нагревателям, так и разными электромеханическими приводами.


Сообщение отредактировал Airis - Четверг, 18.02.2016, 22:39
 
gav81 Дата: Четверг, 18.02.2016, 23:09 | Сообщение # 14
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 6
Репутация: 3
Статус: Offline
Цитата Airis ()
У менякакой то Danfoss похожий на AMV 130/140 (230V) но боле старая модель снятая с производства. Но то какай именно привод не имеет принципиальной разницы. У приводов управляемых импульсами напряжением 230V есть только один параметр - скорость полного открытие / закрытие.
PI(D) регулятор с выходом на реле это универсальная регулятор способныйуправлять как электрическим нагревателям, так и разными электромеханическими приводами.


И так. Давайте разберемся как работает AMV 130/140.
В схеме подключения я вижу три провода. Черный - вниз, голубой - общий, коричневый - вверх. Т.е. замыкание голубого и черного к примеру закрывает, голубого и коричневого открывает, все разомкнуты привод неподвижен.
Если это так, нужно два сигнала и два реле на открытие и на закрытие. Поправьте если я не прав.


Сообщение отредактировал gav81 - Четверг, 18.02.2016, 23:14
 
Siberian Дата: Суббота, 20.02.2016, 11:00 | Сообщение # 15
Майор
Группа: Проверенные
Сообщений: 189
Награды: 1
Репутация: 1
Статус: Offline
gav81, По какой формуле Вы настраивали коэффициенты

Kp
Ki
Kd

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

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

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

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

Kp - 0
Ki -  0
Kd - 0

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

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

В результате на выходе ШИМ - 0

 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » Блок ПИД регулятор (Накидал блок на базе библиотеки Arduino PID Library)
Страница 1 из 512345»
Поиск:

FLProg © 2016
Яндекс.Метрика