Погодозависимая автоматика для трехходового клапана

dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

Добрый день!
Ссылка на проект: https://youtu.be/rF7Ct4CZQAQ
Железо и софт: Arduino NANO, HС-05, датчики DS18B20, программа на Flprog, интерфейс на телефоне программа HMI Modbus, протокол передачи Modbus
Функции: Погодозависимое управление трехходовым (или любым другим) клапаном. График отопления по двум точкам. ПИ-регулятор для трехпозиционных клапанов (сигналы: открыть, стоп, закрыть).
Аватара пользователя
Phazz
Полковник
Сообщения: 3126
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 233 раза
Поблагодарили: 114 раз

Погодозависимая автоматика для трехходового клапана

Сообщение Phazz »

А где сам проект? Мне интересно посмотреть на ПИД для трехходового крана.
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

[ref=#404040]Phazz[/ref], Сейчас досниму видео и выложу с объяснением, а то их миллион всяких разных делают и без теории смысла нет его смотреть. Там классический цифровой дискретный регулятор на разностном уравнение.
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

Смысл и формула, которую я вкладывал в этот блок: https://youtu.be/qJt-AtaccJE
Сниму ещё одно видео и выложу файл Flprog полностью

[ref=#404040]Phazz[/ref], в Flprog ПИД находится в Блоке пользователя (см. скриншоты):

DeclareSection

float TIMER_PID; // Внутренний таймер ПИД
float E_1; // Текущее рассогласование
float E_2; // Рассогласование на -1 шаг
float E_3; // Рассогласование на -2 шага
float D_T; // Время воздействия на текущем шагу регулирования
float SUM_D_T; // Накопленное время воздействия
float TIMER_PID_UP; // Накопленное время открытия
float TIMER_PID_DOWN; // Накопленное время закрытия
boolean PID_PULSE; // Шаг выполнения 1 цикла

LoopSection

E_1 = SET_VALUE - PRESENT_VALUE; // Текущее рассогласование температуры
if (K_I == 0.0) // Деление на 0
{
K_I = 9999.0;
}
if (CYCLE == 0.0) // Деление на 0
{
CYCLE = 1.0;
}
// Расчет управляющего воздействия
if (PULSE_100MS & TIMER_PID == 0.0 & ! PID_PULSE)
{
PID_PULSE = 1; // Присвоить шаг
D_T = K_P * (E_1 - E_2 + CYCLE * E_2 / K_I + K_D * (E_1 - 2 * E_2 + E_3) / CYCLE) * VALVE / 100; // Время воздействия на текущем шагу регулирования
E_3 = E_2; // Запись рассогласования -2 шага назад
E_2 = E_1; // Запись рассогласования -1 шаг назад
SUM_D_T = SUM_D_T + D_T; // Накопленное время воздействия
if (SUM_D_T >= 0.5) // Сброс накопленного времени закрытия
{
TIMER_PID_DOWN = 0.0;
}
if (SUM_D_T <= -0.5) // Сброс накопленного времени открытия
{
TIMER_PID_UP = 0.0;
}
if ( E_1 < DEAD_ZONE & E_1 > - DEAD_ZONE) // Зона нечувствительности
{
D_T = 0.0;
SUM_D_T = 0.0;
}
}
if (PULSE_100MS)
{
TIMER_PID = TIMER_PID + 0.1; // Внутренний таймер ПИД ВОТ ТУТ БЫЛА ОШИБКА
}

if (ON_OFF & AUTO_HAND)
{
if (TIMER_PID >= CYCLE) // Сброс таймера при окончание цикла регулирования
{
PID_PULSE = 0; // Сбросить шаг
TIMER_PID = 0.0;
if (SUM_D_T>=0.5 || SUM_D_T<=-0.5) // Сброс накопленного времени воздействия
{
SUM_D_T = 0.0;
}
}
}
else
{
PID_PULSE = 0;
D_T = 0.0;
SUM_D_T = 0.0;
TIMER_PID = 0.0;
E_3 = E_1;
E_2 = E_1;
TIMER_PID_UP = 0.0;
TIMER_PID_DOWN = 0.0;
}
// Управление
UP = ((((SUM_D_T >= TIMER_PID & SUM_D_T >= 0.5) || D_T >= CYCLE - 0.5 || TIMER_PID_UP >= VALVE) & AUTO_HAND) || (HAND_UP & ! AUTO_HAND)) & ON_OFF & ! DOWN; // Открытие клапана
if ( PULSE_100MS & UP & TIMER_PID_UP < VALVE) // Накопленное время открытия
{
TIMER_PID_UP = TIMER_PID_UP + 0.1;
}
DOWN = ((((SUM_D_T <= - TIMER_PID & SUM_D_T <= - 0.5) || D_T <= - CYCLE + 0.5 || TIMER_PID_DOWN >= VALVE) & AUTO_HAND) || ( HAND_DOWN & ! AUTO_HAND)) & ON_OFF & ! UP; // Закрытие клапана
if ( PULSE_100MS & DOWN & TIMER_PID_DOWN < VALVE) // Накопленное время закрытия
{
TIMER_PID_DOWN = TIMER_PID_DOWN + 0.1;
}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dimalimite 13 дек 2018, 01:51, всего редактировалось 1 раз.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

Погодозависимая автоматика для трехходового клапана

Сообщение dekorator »

Где же сам блок ? И если можно, сделайте вход ограничения интегририрования.
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

[ref]dekorator[/ref],
Вечер добрый.
См. приложение.
Что вы имеете ввиду под входом ограничения интегрирования?
Это регулятор для трехходового механизма, на выходе он выдает импульсы открытия/закрытия.
Он сделан для самых примитивных примитивных приводов, где нет обратных сигналов по достижению крайних положений. По этому чтобы реле не щёлкали (если реле на выходе) когда привод уже стоит в крайнем положение и отключен своим концевиком, в блоке предусмотрены счетчики импульсов открытия/закрытия и когда он набирается больше чем время привода, то подаётся непрерывный сигнал на открытие/закрытие. Вот это своего рода ограничение интегрирования, хотя и без этого всё будет работать и работает именно так на многих заводских регуляторах (щёлкают бесконечно реле в крайних положениях, когда рассогласование регулируемого параметра осталось несмотря на полное открытие/закрытие механизма).
Если используется более навороченный привод с обратными сигналами по достижению крайних положений, то можно изменить блок добавив 2 входа под эти концевики и убрать счетчики.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dimalimite 13 дек 2018, 01:48, всего редактировалось 1 раз.
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

Добрый день!
Схема устройства (если вдруг кто-то захочет повторить), немного трёпа на тему почему HMI Modbus (а не Каскада), проект Flprog (с небольшими комментариями)
https://youtu.be/NzNgEdYFoJs
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

Если кто-то скачал файлы, то перекачайте пожалуйста.
Увидел косяк:))))) Исправил во всех сообщениях.
Не боги горшки обжигают!
Вот архив.
https://drive.google.com/open?id=1rzLmX ... mwXldNuXuY
mandrew
Рядовой
Сообщения: 55
Зарегистрирован: 27 апр 2016, 14:46
Имя: Андрей
Благодарил (а): 1 раз

Погодозависимая автоматика для трехходового клапана

Сообщение mandrew »

Спасибо ,как раз начинаю заниматься аналогичным устройством...
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Погодозависимая автоматика для трехходового клапана

Сообщение AlexCrane »

[ref]dimalimite[/ref], В видео вы говорили, что легко сделать аналоговый выход и выход ШИМ, можете добавить?
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

[ref]AlexCrane[/ref],
Здравствуйте.
Да могу без проблем. Там минимальные изменения.
Просто это уже к этой моей поделке не подойдёт:(

Отправлено спустя 9 минут 44 секунды:
[ref]AlexCrane[/ref], Давайте новую сделаем поделку. Или может у вас есть реальный проект, где можно попробовать сразу?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Погодозависимая автоматика для трехходового клапана

Сообщение AlexCrane »

[ref]dimalimite[/ref], поделки нет, планирую поставить пид на привод шнека подачи топлива в твердотопливный котел, заданную температуру воды держать (если так будет работать конечно).
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

[ref]AlexCrane[/ref], А привод чем управляется? Частотником?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Погодозависимая автоматика для трехходового клапана

Сообщение AlexCrane »

[ref]dimalimite[/ref], Шаговым двигателем
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
dimalimite
Рядовой
Сообщения: 53
Зарегистрирован: 03 дек 2018, 00:26
Имя: Дмитрий

Погодозависимая автоматика для трехходового клапана

Сообщение dimalimite »

[ref]AlexCrane[/ref], Должно работать, но придётся повозиться с настройкой. Запаздывание приличное будет у температуры = сложная настройка регулятора. Тут скорее больше вопрос к технологии подачи топлива и механике (чтобы шнек не клинило, редуктор нормальный был...вы уже делали такой привод на шнек?). Хотите его крутить постоянно, но с переменной скоростью? Или на некотором интервале времени (времени цикла) выдавать определенное число шагов? Регулятор при этом будет одинаково выглядеть, но разные настройки будут у коэффициентов ПИД и разная настройка блока управления шаговым двигателем.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Погодозависимая автоматика для трехходового клапана

Сообщение AlexCrane »

[ref]dimalimite[/ref], Все пока на стадии проекта, подача топлива будет постоянная, но с переменной скоростью (первоначально думал делать двухступенчатую, но почему не попробовать модулированную?). Плюсом к скорости вращения шнека хочу привязать скрость вращения вентилятора подачи воздуха. С шаговым думаю проблем не будет.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Погодозависимая автоматика для трехходового клапана

Сообщение AlexCrane »

[ref]dimalimite[/ref], Дмитрий, как обстоят дела с аналоговым выходом?
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

Погодозависимая автоматика для трехходового клапана

Сообщение Kotafey »

AlexCrane писал(а): 15 дек 2018, 06:07 [ref]dimalimite[/ref], Все пока на стадии проекта, подача топлива будет постоянная, но с переменной скоростью (первоначально думал делать двухступенчатую, но почему не попробовать модулированную?). Плюсом к скорости вращения шнека хочу привязать скрость вращения вентилятора подачи воздуха. С шаговым думаю проблем не будет.
Котел фабричный?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Погодозависимая автоматика для трехходового клапана

Сообщение AlexCrane »

[ref]Kotafey[/ref], Котел фабричный, горелка нет
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

Погодозависимая автоматика для трехходового клапана

Сообщение Kotafey »

AlexCrane писал(а): 19 дек 2018, 17:36[ref]Kotafey[/ref], Котел фабричный, горелка нет
Я почему задал вопрос, дело в том (возможно Вы знаете, но все же) что менять в большом диапазоне количество подаваемого воздуха в твердотопливный котел нельзя. Он хорошо работает если температура сгорания топлива высока, температура теплоносителя высока. Если это не соблюдается, то, сажа, кислотный конденсат, угарные газы и прочие прелести, быстро приведут систему отопления в не надлежащее состояние. Твердотопливные котлы довольно плохо поддаются регулировке и как правило для регулирования используются доп. оборудование и элементы.
Ответить

Вернуться в «Проекты различных устройств на Arduino»

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

Сейчас этот форум просматривают: Aleksey76 и 1 гость