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
    Про "глючат": сегодня тестил - действительно иногда глючат. Некогда было разбираться с тем, кто как борется с этим. На скорую руку порешал так: опрашиваю датчик и сохраняю переписывая значения последовательно по кругу в одну из трех переменных, а необходимую температуру получаю суммируя эти переменные и деля на три.
     
  2. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    Вот кстати обновленный код.
    В строке 180 вводите свой номер телефона для отправки смс.
    Использовал для сообщений модуль Sim800L.
    Разбирался с тем как подключить здесь: http://codius.ru/articles/GSM_модуль_SIM800L_часть_1

    Программировал блок управления и создавал саму горелку на основании того, что держал в руках соседскую пеллетную горелку LIBERATOR 20. Почитал инструкции по эксплуатации этих горелок тут: http://liberator.ua/ru/docs/
    Мне нужны были 2 шт по 50кВт. А это дорого, пришлось фантазировать.
    На фото - сегодня тестил :)
     

    Вложения:

    • 20171106_134325.jpg
    Последнее редактирование: 06.11.17
  3. poohline
    Регистрация:
    20.08.14
    Сообщения:
    1.084
    Благодарности:
    392

    poohline

    Живу здесь

    poohline

    Живу здесь

    Регистрация:
    20.08.14
    Сообщения:
    1.084
    Благодарности:
    392
    Адрес:
    Киев
    Кстати при частых опросах они еще и врут, пришлось свой контроллер для котла поставить на холодильник, опрос сдел раз в 2с, после сброса контроллера это около 15с показывают на 1 градус меньше, похоже нагреваются при преобразовании .
     
  4. Grinmpx
    Регистрация:
    03.07.12
    Сообщения:
    243
    Благодарности:
    144

    Grinmpx

    Живу здесь

    Grinmpx

    Живу здесь

    Регистрация:
    03.07.12
    Сообщения:
    243
    Благодарности:
    144
    Адрес:
    Днепр
    Вариант норм, но в околопороговых значениях может заставить автоматику сработать раньше времени.
    К примеру, Вы установили порог переключения 25, два предыдущих опроса записали 22 а последний опрос показал 85. Итого 22+22+85 = 129/3=43 тут автоматика переключится, хотя ей еще 3 градуса тянуть.
     
  5. wer_fdbr
    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999

    wer_fdbr

    Живу здесь

    wer_fdbr

    Живу здесь

    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999
    Адрес:
    Челябинск
    85С это классический прикол для них.
    Когда приходят все нули по интерфейсу, при провалах питания такое бывает.
     
  6. wer_fdbr
    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999

    wer_fdbr

    Живу здесь

    wer_fdbr

    Живу здесь

    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999
    Адрес:
    Челябинск
    С протоколом разбирались, кроме 1820 по нему еще много чего подключали, библиотеки были разные, в конце концов родились свои.
    Проверка CRC данный глюк отсекает, но данные в точке теряются (мне это важно иногда).
    Бывало что датчик зависали переставал отвечать до передергивания питания.
    Проблему связываю с помехами/наводками и короткими таймингами протокола.
    Для сортирного термометра годится, а вот измерять подачу и обратку на котле надо с принятием специальных мер.
    Передергивание питания и многократные измерения с проверкой CRC и фильтрацией выпадающих точек это как минимум (благо процесс ну очень медленный).
    Остальные чипы подключаемые по 1wire в таких глюках не замечены, возможно их просто недостаточно мониторили.

    Какие либы у ардуины не знаю, никогда не использовал и вряд-ли буду.
     
  7. wer_fdbr
    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999

    wer_fdbr

    Живу здесь

    wer_fdbr

    Живу здесь

    Регистрация:
    24.08.15
    Сообщения:
    1.428
    Благодарности:
    999
    Адрес:
    Челябинск
    Точность (не путать с разрешающей способностью) у них 0.5С с этим проблем никогда не было.
    Но ...
    Термометрия чрезвычайно сложный предмет особенно при подходе к точности 0.1С и лучше.
    Скорее всего у вас кристалл имеет температуру не совпадающую с температурой измеряемого тела.
    Чаще всего виноват нештатный теплоотвод от кристалла в виде проводов интерфейса.
    Для улучшения картины рекомендуется примерно 100мм провода разместить при такой же температуре.
     
  8. Igor3
    Регистрация:
    29.05.12
    Сообщения:
    3.770
    Благодарности:
    13.615

    Igor3

    Ничего не рекламиро(вал/ю)! Совпадения–случайны!

    Igor3

    Ничего не рекламиро(вал/ю)! Совпадения–случайны!

    Регистрация:
    29.05.12
    Сообщения:
    3.770
    Благодарности:
    13.615
    Адрес:
    Москва
    Из датащита:
    Table 1. Temperature/Data Relationship

    *The power-on reset value of the temperature register is +85°C.

    И в чём здесь прикол? А снятие значений без проверки CRC протокол 1-wire вааще не предусматривает :).
     
  9. ignition
    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27

    ignition

    Живу здесь

    ignition

    Живу здесь

    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27
    Адрес:
    Москва
    @бутус1, спасибо за то что поделились с миром своим кодом. Для меня это оказалось очень ценной информацией. Расскажите пожалуй про горелку подробнее.
     
  10. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    Горелка работает стабильно. В контроллере предусмотрена очистка и розжиг ТЭНом, но на самой горелке не реализовано - некогда. Розжиг очень быстро делаю с помощью маленькой газовой горелочки. (зажигалки). А очищаю горелку вручную при чистке котла, т. к. он забивается пеплом быстрее. (агропеллета). При текущих температурах (0*С) котел гарантированно работает 16 часов, а дальше забьется пеплом и программа остановит горелку и пришлет смс об ошибке.
    Если кому-то хочется сделать горелку самому, то могу подсказать или сфотать интересующие вопросы.
    Делается легко.

    По коду могу рассказать принцип работы:
    Прицепил свежий код. По нему смотрим и разбираемся
    Строки 142-179 это функция цикла, она выполняется независимо ни от чего 1 раз в секунду.
    Запускается в строке 139, в строке 128 задаем скорость 1000мсек=1сек.
    В этом цикле опрашиваются датчики температуры и огня, а также увеличиваются несколько необходимых программе счетчиков. Для стабильности показаний датчиков пришлось использовать 5 переменных для каждого и данные записываются по очереди по кругу в каждую следующую, а текущие и таким образом усредненные данные вычисляются путем суммирования пяти переменных и деления на 5.

    строки 180-199 функция смс. Отсылает смс с указанием режима работы, установленной температуры, текущей температуры котла, установленной мощности горелки, уровня огня и температуры самой горелки. в Строке 191 нужно прописать ваш собственный номер. Уточняю: независимо от того с какого номера придет входящий вызов, программа его сбросит (строки 454-461) и пришлет смс на номер указанный в строке 191. Смс отсылается всегда в случае ошибки и при любом входящем вызове, который будет сброшен программой.

    строки 200-210 функция чтения кнопок. определяет какая кнопка была нажата.

    Есть всего 5 режимов.
    1) Остановлено
    2) Розжиг
    3) Работа
    4) Тушение
    5) Ошибка
    При включении программа проверяет включен ли в настройках автозапуск. Если нет - переходит в режим остановлено, если да - переходит в режим розжиг.

    В режиме остановлено (строки 475-481) выключаем шнек горелки, шнек бункера, очистку, тэн, вентилятор, динамик.

    Завтра еще продолжу.
     

    Вложения:

    • 20171212_223829.png
    • 20171107_123322.jpg
  11. ignition
    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27

    ignition

    Живу здесь

    ignition

    Живу здесь

    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27
    Адрес:
    Москва
    Ух, спасибо огромное. Но вопросов много,
    У вас используются различные двигатели шнека бункера и шнека горелка, как реализовали одинаковую производительность?
    Из чего сделан шнек ? осевой? дает ли он защиту от обратной тяги и есть ли таковая, как боретесь?
    Воздух скорее всего подается под колосник, были ли мысли подводить и вторичный воздух для более чистого сжигания?
     
  12. ignition
    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27

    ignition

    Живу здесь

    ignition

    Живу здесь

    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27
    Адрес:
    Москва
    И в чем сакральный смысл части трубы горелки которая вне топки? отодвинуть пластиковую трубку подачи топлива подальше от горячего фланца?
     
  13. бутус1
    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72

    бутус1

    Участник

    бутус1

    Участник

    Регистрация:
    17.02.17
    Сообщения:
    52
    Благодарности:
    72
    1) двигатели можно использовать любые, а для выравнивания производительности используется переменная "vremya_raboti_shneka_gorelki"
    Смотрим строки 483-533. В режиме работы используется цикл - включаются оба шнека одновременно на время равное "vremya_raboti_shneka_bynkera" (это и есть мощность горелки), затем, по истечению этих секунд выключается шнек бункера, а шнек горелки продолжает работать еще столько секунд, сколько установлено переменной "vremya_raboti_shneka_gorelki". Затем он выключается и отсчитывается еще время установленное переменной "vremya_pauzi". Затем цикл повторяется.
    Все эти переменные доступны к изменению в основном меню, т. о. можно подстроить блок управления под абсолютно любые условия и под двигатели любой производительности. У меня сейчас стоит 4 сек на подачу пеллет + 2 сек докручивает шнек горелки (мощность движков одинаковая, но пока пеллета упадет через гофрошланг нужно какое-то время) + 35 сек задержки. Это дает мне 25кВт/час.
    В строке 493 стоит переключатель режимов: 494-502 обычный режим (выше описал) работает до достижения заданной температуры. 503-511 По достижению заданной температуры для цикла используется вместо переменной "vremya_raboti_shneka_bynkera" переменная "vremya_raboti_shneka_bynkera_ojidaniya". она тоже задается в меню. Таким образом можно автоматически понизить мощность. если температура превысила установленную на величину гистерезиса, то работа цикла останавливается (512-516).

    2) шнек безосевой, взял на металлобозе прут 4мм диаметром и вручную навил его на водопроводную полдюймовую трубу - профит. воздух подается и под колосник и через трубу, в которой шнек (это вторичный). т. о. выравнивается давление вентилятора и снижается риск обратной тяги. Но для полного контроля используется датчик температуры горелки (пороговые значение задаются в главном меню). На фото с смсками видно Tg=19 - это температура горелки. У меня пороговая установлена 70 градусов, по достижению горелка отключится и пришлет смс об ошибке.

    В принципе верно, отодвинуть всю рабочую часть горелки от раскаленной до красна части сразу за дверцей. Вы можете сделать под себя любую удобную длину. Я хочу еще и утеплителем замотать, но руки не доходят :)
     
  14. ignition
    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27

    ignition

    Живу здесь

    ignition

    Живу здесь

    Регистрация:
    23.05.08
    Сообщения:
    68
    Благодарности:
    27
    Адрес:
    Москва
    Буду пробовать повторить ваш проект. Устал уже быть водителем паровоза (Начну с проекта горелки и понесу его сварщикам, а вот прошивку буду модифицировать для тандема с элетрокотлом. Только есть небольшие сомнения над объемом памяти в Леонарде, может стоит подобрать более производительное решение на базе 32 разрядного кристала например STM32L-DISCOVERY ?
     
  15. djbln
    Регистрация:
    15.11.13
    Сообщения:
    21
    Благодарности:
    15

    djbln

    Участник

    djbln

    Участник

    Регистрация:
    15.11.13
    Сообщения:
    21
    Благодарности:
    15
    Адрес:
    Воронеж
    https://playground.arduino.cc/Code/PIDLibrary

    Использовал пропорционально-интегрально-дифференциальный (ПИД) регулятор в контроллере управления котлом на отработке. С помощью этой библиотеки реально упростить механизмы регулирования подачи топлива в Ваши котлы. Советую ознакомиться на досуге ;)