Как стать автором
Обновить

Cамодельная автоматика пеллетной горелки на базе Arduino nano

Время на прочтение4 мин
Количество просмотров20K

Всем привет, дорогие друзья. Данная статья не ориентирована на ярых программистов, крутых схемотехников и радиоэлектронщиков, поэтому и прошу сильно не критиковать за результаты.

Предыстория

а вот и сама горелка
а вот и сама горелка

Живу я в ПГТ, относительно недавно обустраиваемся в новом месте жительства. И вот, как бы начинается зима, а мы по старинке отапливаем дом дровами. На самоделку меня сподвигло не мое желание, так как мне и так неплохо было, а отец. Он решил сделать гранульную факельную горелку. Все бы ничего, да когда корпус был уже сварен, гранулы куплены, остаётся вопрос, как это все завести. Принято радикальное решение: шнек подачи движется благодаря моторчику дворника от ВАЗ, коих у нас много, ибо занимаемся ремонтом/разборкой авто, в случае чего можно заменить на такой же, не потеряв характеристики. А вот раздув осуществлён центробежным вентилятором печки от какого-то Ниссана, поломки которого боятся точно не стоит. Собрали, запустили, а управлять то как?

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

Тут уже подключился я, который вроде как даже по диплому "программист", но к сожалению, забил болт на учебу, и естественно, являюсь обычным любителем всякой электроники и не более. Сходу и без разбора заказал реле времени для шнека и ШИМ-регулятор для вентилятора. Подключил, подобрал тайминги работы, но из-за столь простой "автоматики" начались бессонные ночи. А вдруг закипит, прорвет трубу, что дальше делать? А схема была действительно опасна, т.к. КПД котла получилось очень большим для нашей горелки, поэтому температура воды либо 60+, либо котел тухнет. Поэтому отец исправил сваркой систему воздухоснабжения, тем самым снизив минимальный порог температуры. Но теперь, фиг его знает, достаточно ли мощности для нужной температуры, или наоборот, а не закипит ли?

Температура, которую выдает сие изделие
Типичная температура воды в системе
Типичная температура воды в системе
Arduino nano v3
Arduino nano v3

И тут я вспомнил, что когда-то игрался с Ардуинкой. Ровно с того момента я подумал, а почему бы не запилить автоматику на ее базе? Да, я знаю, что доверять столь опасную приблуду ардуине - идея плохая. Но выбора у меня нет, ибо бюджет в зиму немного жмёт, да и заводская автоматика не столь прекрасна ( у друга моего отца именно такая, долго он с ней игрался). Как только я сообщил о этой идее отцу, сразу был поставлен ультиматум: тыжпрограммист, давай делай, иначе будешь сам ночами сидеть у котла и крутить настроечки котла, дабы не спалить все к чертям.

Схема, сборка, код и запуск

Задача поставлена, надо двигаться. Главный плюс в том, что моторы работают от 12В, как и ардуино с драйвером двигателя. Заказываю я Ардуину, реле с высоким порогом нагрузки (оказывается, моторчик дворника жрет ток, как голодная собака, 20 А блок не с самой большой лёгкостью переваривал ее), ну и ШИМ-контроллер моторчика L298N на 2 А, вентилятор печки не такой уж и прожорливый, к счастью(я так думал до реальных тестов). Датчик температуры взял ds18b20, не знаю почему. Приехали ко мне комплектушки, решил я поиграться, а оказывается, датчику температуры резистор нужен. Я расстроился и забыл на пару дней. Т.к. живу я в пригороде, магазинов радиоэлектроники у меня нет, а в город не особо нужно было, забыл я о проекте на недели две. Но вот, купил я наконец резисторы, собрал поигрался, в качестве индикатора работы прицепил компьютерный вентилятор к ШИМ, а к реле ничего не цеплял, т.к. у него есть индикатор работы в виде светодиода. Обрадовался, бегу хвастаться отцу, но случайно соприкоснув ардуино к чему-то металлическому, закоротил ее. Но я не отчаился, заказал ещё две штуки, и в нагрузку докупил дисплей 1602, а то как-то не по-боярски выходит, автоматика и без дисплея.

все нужные компоненты
все нужные компоненты
Список конкретных комплектующих:
  1. В моем случае - Arduino Nano

  2. Датчик температуры L298N

  3. Резистор 4.7кОм для датчика

  4. Твердотельное Реле SSR 40 DA

  5. Дисплей 1602 с I2C переходником

  6. Кучка беспаечных проводов (паять я не умею, поэтому собрал все на фишках и клеммах)

  7. Сначала была взята коробка от роутера, а потом большая электрическая доза

тестовая сборка
тестовая сборка

И вот приехала ко мне пачка ардуин и дисплей - я принялся "кодить". Код к вечеру был готов, в качестве DIY коробки выбрал корпус от старого роутера, но не рассчитав высоту радиатора ШИМ-контроллера, удалил часть крышки, дабы она закрылась. С того момента было решено, что коробка тестовая, так как уже изуродована и я особо не старался над внешним видом.

Схема, сделанная моими кривыми ручками
Схема, сделанная моими кривыми ручками

По факту написания статьи долго игрался с ШИМ, а точнее с устранением шума, издаваемого с ардуино. Решил все библиотекой Gyver, которая увеличивает частоту ШИМ-сигнала. И раз уж полез менять код, который работает на трёхслойных матах и кривых руках, то решил сразу найти библиотеку, которая добавит русские символы в мой и так никудышний дисплей. спустя полчаса рысканий по просторам интернета, нашел подходящую библиотеку, которая подошла к моему I2C адаптеру дисплея.

Вот такие дела, народ, ну а теперь - выводы:

окончательный вариант сборки
окончательный вариант сборки

В итоге, что у меня есть: кнопка отдельной подачи пеллеты для розжига (над идеей авторозжига я думаю ещё), режим "разгона" температурного режима, путем быстрой подачи пеллет и высоких оборотов раздува, ну и температурные пороги в виде 60 и 80 градусов, в которых автоматика и работает. Если конкретней, то от 60 до 80 горелка работает в быстром режиме. Как только доходит до 80, то вплоть до 60 градусов снижает свою мощность, и все это до бесконечности: вверх-вниз. В качестве отсекателя всей электроники поставлю реле инкубатора, а то не доверяю своему коду. Естественно, все это отображается на дисплее, а именно: текущее состояние подачи( ожидание/подача), режим работы( разжигательный, нагрев, охлаждение), ну и конечно, температура, которая по ощущениям обновляется раз в 0.7-0.8 секунд. Один нюанс, подача реализована через delay(), из-за чего, во время подачи (6-8 секунд) ничего не происходит, кроме подачи, вплоть до вычисления температуры. Не думаю, что это столь критическая проблема, так как когда котел работает в режиме, за эти 6-8 секунд он даже 0,2 градуса не наберёт/скинет. А на этом всё, если вам тема будет интересна, то попробую реализовать систему авторозжига и систему тушения (путем прекращения подачи и продувки на максимальной мощности). Да и вообще, голове куча идей, нужна только мотивация и хоть какой-то бюджет, для их реализации. Благо, ещё одна ардуина осталась, можно что-то да придумать.

схема, код и библиотеки <---

Теги:
Хабы:
Всего голосов 11: ↑9 и ↓2+14
Комментарии26

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн