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

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

Предыстория

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

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

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

Тут уже подключился я, который вроде как даже по диплому "программист", но к сожалению, забил болт на учебу, и естественно, являюсь обычным любителем всякой электроники и не более. Сходу и без разбора заказал реле времени для шнека и ШИМ-регулятор для вентилятора. Подключил, подобрал тайминги работы, но из-за столь простой "автоматики" начались бессонные ночи. А вдруг закипит, прорвет трубу, что дальше делать? А схема была действительно опасна, т.к. КПД котла получилось очень большим для нашей горелки, поэтому температура воды либо 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 градуса не наберёт/скинет. А на этом всё, если вам тема будет интересна, то попробую реализовать систему авторозжига и систему тушения (путем прекращения подачи и продувки на максимальной мощности). Да и вообще, голове куча идей, нужна только мотивация и хоть какой-то бюджет, для их реализации. Благо, ещё одна ардуина осталась, можно что-то да придумать.

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

Комментарии 26

    +1
    … а планируются статьи на тему "… умный дом" или "… оборачиваем пины IO в классы"?
      +2

      Для владельцев дровяных печей могу порекомендовать ещё такую самоделку: Ардуино + инфракрасный термометр (у меня на базе MLX90614) + пищалка (поиск на алиэкспресс по словам arduino buzzer). Направляете его на дымоходную трубу примерно с метра и настраиваете нижний и верхний предел температуры, при которых подавать звуковой сигнал. Экспериментально выяснено, что при определенной температуре трубы, в печи остаются только угли. И эта зависимость довольно стабильна. В итоге устройство пищит, когда нужно подложить дров. Невероятно удобно! Плюс решает проблему погасшей печи ночью, устройство будит когда нужно подкинуть дров. Особенно актуально зимой, чтобы не просыпаться в остывшем доме. Ну а верхний предел защищает от риска возгорания сажи в дымоходе. У меня такое устройство работает уже лет 6 и доказало свою полезность. Пример действительно умной и полезной автоматизации )

        0

        Опубликуйте проект на гитхабе

          0

          Я даже не уверен, что смогу найти исходники, это давно было. На удивление живучая конструкция оказалась, хотя вся собрана на стандартных ардуиновских проводках, вообще без пайки. А код там напрямую из туториалов с интернета, как прочитать температуру с датчика MLX90614. Инфракрасный термометр позволяет бесконтактно измерять температуру горячей печной трубы. Такая простая идея, а оказалась такой полезной. Просто подкладываешь дрова, когда запищит пищалка. Эти стандартные ардуиновские пищалки достаточно громкие, чтобы их было слышно во всем доме.

            0
            Напишите тогда статью про общие принципы работы
          0

          Старая добрая термопара в дымоходе — надёжнее и достовернее.

            +2

            Напоминает анекдот, в котором грузчика спросили как он себе представляет будущее и он ответил "кнопку нажал и мешок уже у тебя на спине".

            +1
            Я бы не рискнул засыпать в доме, автоматикой нагрева которого управляет такое изделие.
              +1

              Для этого предусмотрено температурное реле для инкубатора, которое отсекает при нагреве

              0
              Можно ли приложить фото котла или хотя бы его описать?
              Дело в том что для такой системы отопления важно, чтобы горячий воздух, гонимый вентилятором, успел передать тепло водяной рубашке, а не «вылететь в трубу».

              P.S. Мой знакомый сделал себе подобное отопление, но автоматику купил на него готовую. Не рискнул. Думаю что Вам к этой автоматике нужно сделать независимые дублирующие системы защиты.
                +1

                Не только независимые, но и энергонезависимые.

                  0

                  В нашем случае — когда-то газовый котел с кучей перегородок внутри. Благодаря этому, гарячий воздух нагревает рубашку просто шикарно

                  +2
                  Без описания устройства и принципов работы горелки и котла статья очень скудна. Просто не очень понятно как всё это работает. Если я правильно понял, надо регулировать мощность горелки в зависимости от температуры воды в контуре. А как? Соотношением подачи пеллет и воздуха? А как? Есть какая-то пропорциональность? Или просто два режима? А как понять, что пеллет подано нужное колличество? Если ихз мало ещё ничего, упадёт мощность, а если много, они могут забить топку? А если потухнет? У меня таких вопросов ещё примерно миллион.
                    +1

                    Прошу прощения, первая статья)
                    За критику особая благодарность, будем исправлятся

                      0

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

                      +2

                      И схему — желательно полную и в инженеро-читаемом формате, а не в б-го мерзком фритцинге. Раз уж диплом есть.

                        0
                        Добавить аккумулятор тепла и будет счастье…
                          0

                          Планируется переход на теплый пол и тот самый аккум на куб. А пока, бюджет не позволяет)

                          0

                          Здравствуйте. Спасибо за выложенный проект. Есть вопросы:


                          • вы выбрали твердотельное реле SSR-40-DA (управление переменным током при помощи постоянных 5в от ардуинки), а ведь у вас мотор от привода работает от постоянного?
                            Правильнее ведь использовать SSR-40-DD (постоянный — постоянный). У меня при дешёвых твердотельных аналогах релюшки сгорали через некоторое время пока не сам не исправился в своем проекте;
                          • от чего берете 12 В?
                          • китайские клоны Ардуинок нано плохо переносят напряжение 12В, точнее стабилизатор зараза греется очень без радиатора (потрогайте сами аккуратно). Небольшой скачок от блока питания или внешнее увеличение температуры, добавите еще какие-нибудь потребители к ардуинке и может сгореть. У меня сгорали… самое стабильное 9В. Но повторюсь тут в стабилизаторе конкретном дело, а китайцы экономят.
                          • что за реле используется из инкубатора для безопасности? Термореле?
                            Да если дальше хотите улучшать стабильность работы смотрите в сторону ПИДа. Ведь эмбрионы в яйцах в инкубаторах только за счёт ПИД нормально развиваются. Здесь настройки ПИД попроще будут так как не о десятых градусах температуры речь и гистерезис не большой. но стабильность в разы повысить можно, чтобы из крайности в крайность по температуре не кидаться. Если вдруг про ПИД не слыхали, то найдете в Гугле для Ардуинок полно решений у того же Гайвера например. Смысл, что температура не 60-80 будет прыгать, а 70 (+-2) градуса за счёт регулировки скорости опдува ПИД системой.
                            0
                            1. Совершенно верно. На момент написания статьи в электрике я был слаб, поэтому облажался с постоянным током, пришлось менять на реле переменного тока. Будет свободное время — исправлю в статье
                            2. 12 Вольт беру от зарядного для аккумулятора авто, в качестве стабилизатора — сам аккумулятор автомобильный. То бишь, система автономна некое время. Планируется перевод на бп с аварийным переключением на аккум. Но это скорее всего к следующей зиме.
                              3.как говорилось, все работает от зарядного + аккум, сгореть не должно, а если сгорит, то буду думать по поводу стабилизации питания.
                              4.мне конкретные температуры сейчас не сильно нужны, дом слабо утеплён, температура выветривается за считанные часы. Поэтому нужно что бы просто было тепло.
                              А идеализированные системы планируется к след зиме
                            0

                            Для безопасности есть специальные предохранительные реле от того же хонейвела до 1000 руб. Держат они до 15 А 220в. Любой выход за параметры сразу отсекают питание.

                              0

                              Мне нужна температурная безопасность)
                              Если сгорит какая-то комплектующая — горения просто не будет. А если перегреется котел, то будет пльоха

                                0

                                Так я про него и говорю… Называются термостат безопасности. Есть на разные температуры.

                                  0

                                  Например — проточный нагреватель. Последовательно стоят термопара (контроль пламени на запальнике) и нормально замкнутый биметаллический термостат (контроль тяги). При неполадках там или там — отключается газовый клапан на входе в нагреватель. На более новых (при электророзжиге), наверное, — ионизационный датчик пламени на основной горелке.
                                  Т.е. формируется сигнал "абсолютно всё в норме".

                                0
                                Судя по всему, схема неправильная. 12В подается прямо на датчик?
                                  +1

                                  Да, со схемой просчитался. Делал ее для статьи, а не проекта. Питание приходит на Ардуину, а датчик питается от 5в с ардуины.
                                  Спасибо, что указали, на днях исправлю.

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое