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

В этом форуме можно обсудить интерфейс программы, работу встроенных блоков, взаимодейсткие с Ардуино IDE и т.д.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

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

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

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

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

Сообщение Siberian »

Олег писал(а):Весь вопрос рабочий-ли сам блок, как я понял в виде скетча он у топикстартера работал, а в виде блока его еще никто не проверил, возможно он и не работает. Инкубатор делаете?
И инкубатор, и освещение, обогрев для помещения содержания перепелов.
У меня товарищ начинающий перепелятник, вот я ему и помогаю в его энтузиазме.

  А по поводу блока ПИД, он у меня никак не заработал, при любых условиях на выходе ШИМ = 0, без изменений.

Добавлено (20.02.2016, 14:34)
---------------------------------------------
Похоже, что блок не рабочий.
Я его уже вдоль-поперек весь перепробовал.
Шим на выходе 0.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

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

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

Что на выход думаете вешать, что будет управлять нагрузкой? Инкубатор будет в теплом помещении стоять? Если наружная температура достаточна стабильная, то для инкубатора и просто пропорционального регулятора вполне хватит, главное термоэлемент подобрать подходящий для вашего объема. Имхо.
hallozin
Рядовой
Сообщения: 26
Зарегистрирован: 01 окт 2015, 16:29

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

Сообщение hallozin »

мой блок попробуйте у меня работает в железе

Добавлено (20.02.2016, 15:17)
---------------------------------------------
А вот ещё один блок может изменять битность ШИМ вплоть до 16 бит на 9 и 10 ноге
в настройках блока можно установить  битность по умолчанию 8
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось hallozin 20 фев 2016, 15:23, всего редактировалось 1 раз.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

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

Сообщение Siberian »

Олег писал(а):Что на выход думаете вешать, что будет управлять нагрузкой?
На выходе будет нихромовая спираль, питание 12 В, управление через полевик, на контроле-датчик температуры 18B20.

Добавлено (20.02.2016, 15:35)
---------------------------------------------
hallozin писал(а):мой блок попробуйте у меня работает в железе
Спасибо, попробую.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

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

Сообщение gav81 »

Siberian писал(а):gav81, По какой формуле Вы настраивали коэффициенты
По моему их проще подбирать чем рассчитывать. Так сказать настраивать на конкретную систему.
Мне подошли 2.5.1. Попробуйте такие же. Возможно из-за нулей выход = 0.
Если не получится выложите проект я посмотрю.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

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

Сообщение Siberian »

gav81 писал(а):По моему их проще подбирать чем рассчитывать. Так сказать настраивать на конкретную систему.Мне подошли 2.5.1. Попробуйте такие же. Возможно из-за нулей выход = 0.
Если не получится выложите проект я посмотрю.
Если есть, выложите схему, пл которой Вы подключали.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

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

Сообщение Siberian »

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

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

Сообщение gav81 »

Блок действительно не работал.
Исправил, проверил.
Выкладываю блок и простенький тест.
Не забывайте выбрать параметр DIRECT или REVERS под свою систему.
С коэффициентами нужно экспериментировать. Где то видел методику подбора.
Прошу тестить и давать обратную связь.

Добавлено (20.02.2016, 20:39)
---------------------------------------------
Airis писал(а):Т.е. замыкание голубого и черного к примеру закрывает, голубого и коричневого открывает, все разомкнуты привод неподвижен.
Да, все правильно, и по научному это называется "3 - точнаяуправление" (three point control). То что
для управление таким приводом нужны 2 реле и 2 PI(D) регулятора это понятно.
Но в примере библиотеки, только одно реле. Как прикрутить туда второе я не знаю.
Пообщайтесь с Technics. Он объяснит вам принцип работы своей программы (ссылку выкладывал).
Вот видео его работы https://yadi.sk/i/_PxLhz1smc9p3
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось gav81 20 фев 2016, 20:19, всего редактировалось 1 раз.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

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

Сообщение Siberian »

gav81 писал(а):Не забывайте выбрать параметр DIRECT или REVERS под свою систему
Не понял. Где выбрать эти параметры.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

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

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

Параметры блока
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

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

Сообщение Airis »

gav81 писал(а):Но в примере библиотеки, только одно реле. Как прикрутить туда второе я не знаю.
Хватити одного реле, второй реле можно прикрутить к другому такому-же PID регулятору. Есть
промышленные PID регуляторы которыекак раз и состоят из двух независимых регуляторов, где все PID параметры настраивается отдельно для каждого
реле.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

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

Сообщение gav81 »

Правой кнопкой по блоку -> изменить параметры -> указать 1 или 0.

Выкладываю версию 3.
Обнаружил косяк. Не компилировался проект при использовании 2 и более блоков.

Добавлено (20.02.2016, 21:12)
---------------------------------------------
Airis писал(а):Хватити одного реле, второй реле можно прикрутить к другому такому-же PID регулятору. Есть
промышленные PID регуляторы которыекак раз и состоят из двух независимых регуляторов, где все PID параметры настраивается отдельно для каждого
реле.
Ок, Aris. Попробую сделать блок на примере с одним реле.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

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

Сообщение Siberian »

Да, в общем блок заработал!
Это уже радует!
Нужно будет только подобрать точно цифры калибровок, т.к. у меня по условиям допуск всего 0,1 градус.

Добавлено (20.02.2016, 21:28)
---------------------------------------------
Вот ЗДЕСЬ есть простой способ калибровки, но еще не пробовал.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

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

Сообщение gav81 »

Aris, держи блок + тест.
Если честно, не понимаю алгоритма )
Дай обратную связь если получится то что задумал.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

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

Сообщение Airis »

gav81, спосибо - в понедельник попробую.
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

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

Сообщение Airis »

Проверил блок PID с выходом на реле и он не работает как надо. Долга мучился, экспериментировал, ломал голову что бы понять что тут не так. В конце концов нашел что проблема есть в самом примере от "Arduino PID Library".
Оригинально предпоследня строчка

Код: Выделить всё

if (Output< millis() - windowStartTime) digitalWrite(RELAY_PIN, HIGH);
но должнобыть

Код: Выделить всё

if (Output[b]> millis() - windowStartTime) digitalWrite(RELAY_PIN, HIGH);
После того как поменял "<" на ">" все заработала.

Параметр int WindowSize = 5000; - это максимальное значение аналогового выхода PID ругулятора. Данное значение входит библиточеную переменную PID.SetOutputLimits(0, WindowSize). По умалчанию PID.SetOutputLimits(0, 255), что пригодно для выхода ШИМ, но для PID регулятора с выходом на реле это шлишком мало. Думаю что значение 5000 - это оптимально.

P.S. Нашел пример где по мониторy COM порта можно понять как работает преобразование аналоговых данных из PID регулятора в импульсные данные на реле.

Добавлено (23.02.2016, 21:46)
---------------------------------------------
P.S.S Библиотека "ArduinoPID Library" позволяет выставлять
коефициентам Kp, Ki, Kd нулевое
значение, что дает возможность делать чисто P или PI регулятор.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Airis 23 фев 2016, 21:36, всего редактировалось 1 раз.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

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

Сообщение Siberian »

Airis, Вы отредактируйте строчку кода в своем посте . Кто-то скопирует, потом ошибку искать будет.



Код: Выделить всё

if (Output[b]> millis() - windowStartTime) digitalWrite(RELAY_PIN, HIGH);
[/b]
Последний раз редактировалось Siberian 24 фев 2016, 06:57, всего редактировалось 1 раз.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

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

Сообщение gav81 »

Airis, если все работает, можете подправить блок и выложить?
Может быть кому нибудь пригодится!
rf80
Рядовой
Сообщения: 76
Зарегистрирован: 26 ноя 2015, 20:29

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

Сообщение rf80 »

Доброго времени блок очень интересен можно исправленную версию. И я так понимаю что в IDE тоже нужно скопировать библиотеку. Дайте процедуру по его пользованию
В вкратце понимаю суть работы но очень поверхностно с коэффициентами и т.п.
Есть вопрос релейный пид регулятор я так понимаю можно приколхозить к инкубатору если пользоваться лампой в самом простом варианте. Хотя надежность за счет частых включений сильно пострадает.
Тогда нужно управление на симисторе. Есть уже у кого то наметки чтобы не с нуля.
Хочу попробовать сделать инкубатор с режимом автомат с реле реального времени датчиком влажности и т.п.
Ответить

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

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

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