Диммер (Фазовый регулятор)

Пользовательские блоки для работы с контроллерами светодиодных ламп и освещением.
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 88
Откуда: Близко к Ставрополю
Имя: Евгений

Диммер (Фазовый регулятор)

#1

Сообщение JonyBest » 03.11.2023{, 22:22}

Предыстория такова - решил обновить прошивку самогонного аппарата и всё поломал. Ни один из представленных диммеров на форуме не захотел работать на плате ESP32 v14. Перерыл весь инет - проблема у многих. А у меня ситуация "горит", тянуть время нельзя, брага скиснет... Эта библиотека завелась без проблем.

Блок построен на библиотеке RBDDimmer
Данная библиотека предназначена для работы с диммером, дает возможность управления большим количеством диммеров используя аппаратный таймер и внешние прерывания.
При использовании библиотеки стоит заранее ознакомится с таблицей задаваемых пинов.

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

*  ---------------------- OUTPUT & INPUT Pin table ---------------------
 *  +---------------+-------------------------+-------------------------+
 *  |   Board       | INPUT Pin               | OUTPUT Pin              |
 *  |               | Zero-Cross              |                         |
 *  +---------------+-------------------------+-------------------------+
 *  | Leonardo       | D7 (NOT CHANGABLE)      | D0-D6, D8-D13           |
 *  +---------------+-------------------------+-------------------------+
 *  | Mega          | D2 (NOT CHANGABLE)      | D0-D1, D3-D70           |
 *  +---------------+-------------------------+-------------------------+
 *  | Uno           | D2 (NOT CHANGABLE)      | D0-D1, D3-D20           |
 *  +---------------+-------------------------+-------------------------+
 *  | ESP8266       | D1(IO5),    D2(IO4),    | D0(IO16),   D1(IO5),    |
 *  |               | D5(IO14),   D6(IO12),   | D2(IO4),    D5(IO14),   |
 *  |               | D7(IO13),   D8(IO15),   | D6(IO12),   D7(IO13),   |
 *  |               |                         | D8(IO15)                |
 *  +---------------+-------------------------+-------------------------+
 *  | ESP32         | 4(GPI36),   6(GPI34),   | 8(GPO32),   9(GP033),   |
 *  |               | 5(GPI39),   7(GPI35),   | 10(GPIO25), 11(GPIO26), |
 *  |               | 8(GPO32),   9(GP033),   | 12(GPIO27), 13(GPIO14), |
 *  |               | 10(GPI025), 11(GPIO26), | 14(GPIO12), 16(GPIO13), |
 *  |               | 12(GPIO27), 13(GPIO14), | 23(GPIO15), 24(GPIO2),  |
 *  |               | 14(GPIO12), 16(GPIO13), | 25(GPIO0),  26(GPIO4),  |
 *  |               | 21(GPIO7),  23(GPIO15), | 27(GPIO16), 28(GPIO17), |
 *  |               | 24(GPIO2),  25(GPIO0),  | 29(GPIO5),  30(GPIO18), |
 *  |               | 26(GPIO4),  27(GPIO16), | 31(GPIO19), 33(GPIO21), |
 *  |               | 28(GPIO17), 29(GPIO5),  | 34(GPIO3),  35(GPIO1),  |
 *  |               | 30(GPIO18), 31(GPIO19), | 36(GPIO22), 37(GPIO23), |
 *  |               | 33(GPIO21), 35(GPIO1),  |                         |
 *  |               | 36(GPIO22), 37(GPIO23), |                         |
 *  +---------------+-------------------------+-------------------------+
 *  | Arduino M0    | D7 (NOT CHANGABLE)      | D0-D6, D8-D13           |
 *  | Arduino Zero  |                         |                         |
 *  +---------------+-------------------------+-------------------------+
 *  | Arduino Due   | D0-D53                  | D0-D53                  |
 *  +---------------+-------------------------+-------------------------+
 *  | STM32         | PA0-PA15,PB0-PB15       | PA0-PA15,PB0-PB15       |
 *  | Black Pill    | PC13-PC15               | PC13-PC15               |
 *  | BluePill      |                         |                         |
 *  | Etc...        |                         |                         |
 *  +---------------+-------------------------+-------------------------+
RBDdimmer_1.1_(Code_-_Professional).ubi
(605.62 КБ) 44 скачивания

Ardudue
Лейтенант
Сообщения: 410
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Диммер (Фазовый регулятор)

#2

Сообщение Ardudue » 17.11.2023{, 08:53}

JonyBest писал(а):
03.11.2023{, 22:22}
решил обновить прошивку самогонного аппарата
Поддерживаете постоянную температуру нагрева ТЭНом?

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 88
Откуда: Близко к Ставрополю
Имя: Евгений

Диммер (Фазовый регулятор)

#3

Сообщение JonyBest » 17.11.2023{, 10:17}

Ardudue писал(а):
17.11.2023{, 08:53}
постоянную температуру нагрева ТЭНом
Нет.
В режиме ректификации поддерживаю постоянную мощность на тенах на 5% меньше мощности при которой закипает колонна. Три датчика температуры - куб, середина колонны и узел отбора. Отбор продукта по дельте между верхним датчиком и серединой. Получается 96 градусов чистейший спирт без всяких посторонних запахов. Из спирта делаю настойки :smile198:

Ardudue
Лейтенант
Сообщения: 410
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Диммер (Фазовый регулятор)

#4

Сообщение Ardudue » 17.11.2023{, 11:05}

JonyBest, у меня задача попроще, хочу сделать нагрев воздушного ТЭНа.
Датчик поддержания температуры ТЭНА -термопара с MAX6675K, что то не могу понять как в FlProg прикрутить к диммеру что бы при включении ТЭН грел на полную мощность и при достижении заданной температуры автоматом поддерживал заданную температуру.

В Вашем блоке выход out для чего используется?

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 88
Откуда: Близко к Ставрополю
Имя: Евгений

Диммер (Фазовый регулятор)

#5

Сообщение JonyBest » 17.11.2023{, 11:17}

Ardudue писал(а):
17.11.2023{, 11:05}
выход out
для контроля состояния диммера
А ваша задача решается очень просто с помощью пид регулятора. Коэффициенты подбирайте эмпирическим способом. Справка на этот модуль хорошая.
пид.flp
(959.9 КБ) 87 скачиваний

WildCat
Лейтенант
Сообщения: 363
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 37
Имя: Михаил

Диммер (Фазовый регулятор)

#6

Сообщение WildCat » 18.11.2023{, 17:59}

ТЭН диммировать смысла нет. У него достаточно большая инерционность, и им достаточно управлять длинными импульсами. Например, постоянный период 30..60с, и импульс - ШИМ в этом периоде.

aidar_i
Полковник
Сообщения: 3069
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 657
Откуда: Уфа
Имя: Айдар
Контактная информация:

Диммер (Фазовый регулятор)

#7

Сообщение aidar_i » 18.11.2023{, 21:11}

Попробовал поработать с этой библиотекой на STM32, но посыпались ошибки.
Пришлось покопаться в библиотеке, исправить инициализацию таймера.
Выкладываю свой блок сюда, библиотека встроена в блок.
Блок JonyBest увидел после, тоже должен работать.
Нужно протестировать, чтобы определить правильно ли я внес изменения, компиляция проходит.
Диммер RBDdimmer.flp
(550.12 КБ) 31 скачивание

Ответить

Вернуться в «Светодиоды, освещение»