1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 10

Самодельный контроллер пеллетной горелки на Arduino

Тема в разделе "Котлы, горелки, котельное об-е своими руками", создана пользователем бутус1, 19.07.17.

  1. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    Самодельный контроллер пеллетной горелки на Arduino
    Недавно сделал себе пеллетную горелку. Но не смог найти готовый код для микроконтроллера. Пришлось самому фантазировать. Вот закончил программировать ардуино. Код пока сырой, по мере улучшения буду обновлять.
    Вводные: ардуино леонардо, лсд шилд (экран 16х2), два датчика температуры ds18b20, 3 резистора 4,7к, 1 фоторезистор, твердотельное реле шилд для ардуино (для подключения вентилятора с ШИМ, а также тена), реле для включения двигателей.

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

    Что не понятно - спрашивайте :)
    Если кто может помочь оптимизировать код, то буду только рад.
     

    Вложения:

  2. Simakoff
    Регистрация:
    23.02.09
    Сообщения:
    4.568
    Благодарности:
    1.867

    Simakoff

    Живу здесь

    Simakoff

    Живу здесь

    Регистрация:
    23.02.09
    Сообщения:
    4.568
    Благодарности:
    1.867
    Адрес:
    Одинцово
    @бутус1, во сколько обошелся комплект?
     
  3. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    Комплект ардуинки с детальками около 25 долларов
     
  4. Димон Минск
    Регистрация:
    28.11.13
    Сообщения:
    2.894
    Благодарности:
    916

    Димон Минск

    Живу здесь

    Димон Минск

    Живу здесь

    Регистрация:
    28.11.13
    Сообщения:
    2.894
    Благодарности:
    916
    Адрес:
    Минск
    Я в прошлом году где то выкладывал код. Пару лет назад баловался с пеллетной горелкой.
     
  5. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    Приложил фото. Есть два пиролизных котла фирмы мотор сич. МС-32 на 32 кВт и МС-60 на 60кВт. (МС-60 на заднем плане немного видно). В прошлом отопительном сезоне (2016-2017) перевел МС-32 на пеллеты. Горелку варил сам (простите за сварочные швы - тогда под рукой плохой сварочный аппарат был). Автоматику управления позаимствовал у знакомого готовую. Горелка отработала с января до конца сезона. Замечаний нет, на котле МС-32 выдавала мощность 40 кВт. Сейчас, когда есть свободное время, делаю такую же на второй котел. По параметрам самой горелки она может выдавать 60 кВт, но на соответствующем котле.
    На последнем фото тестирую блок управления своего изготовления. На вентиляторе реализован ШИМ. Для питания 12В двигателей используется БП от компьютера купленный за 2 доллара. Привод шнека горелки - двигатель стеклоподъемника ваз-2110. (5 долларов). Для шнека бункера используется двигатель с редуктором 220В (на фото не видно).

    Если есть вопросы - спрашивайте.

    Кстати. На фото видно, что у горелки пока нет автоматической очистки. В этом году смонтирую. Когда пеллета была древесная - вручную приходилось чистить окалину с горелки 2 раза в сутки, а котел был чистым. Когда пеллета была из подсолнуха, то горелку чистить не нужно было - все выдувало в котел, а вот котел чистил. Блок управления уже рассчитан на моторчик 12В для привода очистки горелки и тестируется уже с ним.

    20170821_080627.jpg 20170821_094857.jpg 20170821_094910.jpg
     
  6. Vlad6263
    Регистрация:
    03.02.15
    Сообщения:
    40
    Благодарности:
    57

    Vlad6263

    Участник

    Vlad6263

    Участник

    Регистрация:
    03.02.15
    Сообщения:
    40
    Благодарности:
    57
    Фотки сопла горелки плз. и ... :):

     
  7. djbln
    Регистрация:
    15.11.13
    Сообщения:
    21
    Благодарности:
    15

    djbln

    Участник

    djbln

    Участник

    Регистрация:
    15.11.13
    Сообщения:
    21
    Благодарности:
    15
    Адрес:
    Воронеж
    ПИД библиотеки используете в коде?
     
  8. ippds
    Регистрация:
    02.08.11
    Сообщения:
    30
    Благодарности:
    5

    ippds

    Участник

    ippds

    Участник

    Регистрация:
    02.08.11
    Сообщения:
    30
    Благодарности:
    5
    Адрес:
    Нижний Новгород
    Добрый день.
    Не могли бы вы по-подробнее какие дополнительные модули к ардуино заказывали. Хочу заказать на Али и повторить вашу горелку.
     
  9. pepovoice
    Регистрация:
    24.04.17
    Сообщения:
    1
    Благодарности:
    0

    pepovoice

    Новичок

    pepovoice

    Новичок

    Регистрация:
    24.04.17
    Сообщения:
    1
    Благодарности:
    0
    Какая версия ардуино, и какие библиотеки вы ползовали.
     
  10. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    Использовал:
    1) Ардуино леонардо - основная плата ($7)
    2) LCD1602KEYPAD - плата расширения с кнопками и экраном ($3)
    3) 4-Channel 5V Relay Module for Arduino - модуль реле (для управления тэном, шнеком бункера, шнеком горелки и очисткой) Такое реле использовал только потому, что двигатели на 12в. Если Вы будете использовать двигатели на 220В или 380В, то лучше твердотельный модуль. ($3)
    4) 1-Channel 5V SOLID State Relay Module - твердотельный модуль для управления вентилятором 220В. (Твердотельное реле позволяет управлять скоростью вращения вентилятора). (не работает с 12в). ($1.5)
    5) 2шт датчика температуры ds18b20 выполнены во влагозащищенном варианте DS18B20-2M-TUBE-IP67 ($4)
    6) фотодатчик СФ2-8 (можно использовать любой фотодатчик т. к. точность не важна, он нужен для определения огня и Вы просто установите свое пороговое значение определенное при первых запусках горелки.) У этого фотодатчика удобный форм-фактор для монтажа на горелку. ($0.5)
    7) 3шт резистора 4,7кОм. 1шт для подключения фотодатчика и 2 шт для подключения DS18B20. ($0.1)
    Подключение датчика огня СФ2-8: первый (любой) проводок к +5в на плате, второй проводок к аналоговому выходу А3 на плате. И к этому же выходу А3 припаиваем резистор 4,7к, а второй конец резистора паяем к любому GND на плате.
    Подключение DS18B20: там три проводка- черный (земля) паяем к любому GND, красный (питание) к +5в на плате, желтый (сигнал) к аналоговому выходу на плате А1 (температура котла). Желтый проводок второго DS18B20 припаиваем к аналоговому выходу на плате А2 (температура горелки).
    Также к выходам А1 и А2 припаиваем по одному резистору 4,7к. Вторые концы резисторов паяем к +5в.
    8) Любой коробок для корпуса.
    9) любой ЮСБ шнур и ЮСБ-блок питания например от телефона или мп3-плеера. ($1.5)

    Итого: 20 долларов.

    Нет
    analogWrite (ventilyator, map (set_skorost_ventilyatora, 0, 100, 0, 255); / включам вентилятор на заданной скорости
    Этот код переводит значения скорости вентилятора которые вы задаете в диапазоне от 0% до 100% в аналоговый сигнал от 0 до 255, который поддерживается ардуиной для ШИМ.

    Версия Ардуино леонардо, библиотеки видно в шапке кода:
    #include <MsTimer2.h> /подключаем библиотеку таймера MsTimer2
    #include <OneWire.h> / Подключаем библиотеку для работы с шиной OneWire
    #include <DallasTemperature.h> /Подключаем библиотеку для работы с термометром
    #include <LiquidCrystal.h> /Подключаем LCD-дисплей
    #include <EEPROM.h> / Подключаем библиотеку для работы с ARDUINO EEPROM

    Кстати по релюшкам есть нюансы:
    Relay Module for Arduino и SOLID State Relay Module бывают с прямым и обратным управляющим сигналом. В зависимости от этого Вам нужно будет поменять в коде HIGH на LOW
    По DS18B20 нюанс: Разрешающая способность по умолчанию установлена 12- бит. Перед использованием нужно будет установить 9 бит иначе будет тормозить. Как это сделать есть в интернете, скетч есть в стандартных примерах.
     
  11. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    Сейчас начнется отопительный сезон, поделаю фото. Расскажу про доработки кода и технической части. Из основного - русифицировал китайский дисплей без русского языка),
    и сейчас добавляю Модуль GSM SIM800L-MODUL ($6) для контроля состояния и сообщения об ошибках.
     
  12. Grinmpx
    Регистрация:
    03.07.12
    Сообщения:
    243
    Благодарности:
    144

    Grinmpx

    Живу здесь

    Grinmpx

    Живу здесь

    Регистрация:
    03.07.12
    Сообщения:
    243
    Благодарности:
    144
    Адрес:
    Днепр
    Ставьте на DS18B20 резисторы меньше килоОма, ближе к 500 Ом. Будет меньше потерь данных из-за наводок.
     
  13. wer_fdbr
    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999

    wer_fdbr

    Живу здесь

    wer_fdbr

    Живу здесь

    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999
    Адрес:
    Челябинск
    Много работал со всеми разновидностями DS1820 / DS18S20 / DS18B20.
    Лет эдак 15, разные схемы подключения и через компорт и через буферные схемы и напрямую к процу.

    И разные процы, штук 6 разных точно было за это время.
    Источники питания тоже разные.
    Эти датчики принципиально невозможно заставить работать 100% надежно.
    Разок в год-два они таки глючат.
    Очень рекомендую питание на них подавать управляемое процессором и время от времени (при малейших непонятках) их "сбрасывать".
    Для побаловться пойдет, но лучше использовать аналоговые LM19, 35 ,335.
     
  14. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.712
    Благодарности:
    650

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.712
    Благодарности:
    650
    Адрес:
    Москва
    Остается спросить. Вы разбирались с протоколом, писали код, проверяли CRC, соблюдали тайминги или использовали сторонние библиотеки не смотря что там?
    Что вы имеете ввиду под "глючат?"

    Есть некоторые тонкости, к которым относятся пофигистически, потом плюются.
    Иногда на али продают DS18B20 c только паразитным питанием, он должен быть промаркирован DS18B20P, но не маркируют. Такой можно вычислить тестером, звоня 3 ногу относительно других. Если звонится на обрыв - то это датчик только под паразитное питание, иногда вн. питание отгорает из-за переполюсовки, а паразит работает.
    И бестолку подавать туда +5. Работать без обеспечения "протокола паразитного питания" будет градусов до 70 (по разному +-10), далее сбрасывается.

    Пользую не один год, нареканий нет. Если нужно повесить не один -два датчика можно и аналог, а 10...30, то фактически им нет альтернативы.
     
  15. Grinmpx
    Регистрация:
    03.07.12
    Сообщения:
    243
    Благодарности:
    144

    Grinmpx

    Живу здесь

    Grinmpx

    Живу здесь

    Регистрация:
    03.07.12
    Сообщения:
    243
    Благодарности:
    144
    Адрес:
    Днепр
    Вот кстати про глючат. У меня на котле подключено около 10 датчиков DS18B20, из них 3 непосредственно отвечают за отопление, а остальные просто стоят на мониторинге для веб страницы, подключены к компу.
    Так вот периодически они сбоят, в один момент могут показать или 85 или 0.0. Решил проблему просто, ввел задержку на срабатывание системы. При следующем опросе датчика контроллером, показания восстанавливались. Сбой длится примерно 1-2 сек. За 4 года проблем не было. С питанием ничего не химичил, стоит компьютерный БП, даже два. Питают всю автоматику, включая привода вентилятора и чистку, все на 12В.