Итак, что имеем:
-Atmega 2560
-LCD модуль 4-строчного дисплея по шине I2C Arduino LCM1602
-Самодельную клавиатуру на 5 клавиш, впоследствии хочется 7-9 клавиш
-Контроллер шагового двигателя на TB6560AHQ
-Релейный модуль на 2 реле с опторазвязкой для коммутаций 220 Вольт
-Датчики DS18B20, пока 3 штуки... дальше видно будет, сколько нужно
-Блок питания на 24, 12 и 5 Вольт (5, 10 и 3 Ампер соответственно)
-Ну... и всякое разное по мелочи.
///////////////////////////////////////////////////////////////////////////////////////////
Нужно:
Составить блок-схему, по которой буду писать код, а так-же помочь мне чайнику его до ума довести.
///
Сначала инициализируем AVR, проверяем датчики температуры, в случае неисправности выводим сообщение об ошибке на дисплей.
Далее, запускаем прерывания, чтобы опрашивать кнопки, я делал опрос 6 раз в секунду... хватает.
Выводим меню с основными параметрами на дисплей... вроде пока всё.
///
Теперь самое интересное:
Алгоритм работы таков... нажимаем кнопку СТАРТ и...
1 - греем масло до температуры уставки (tOil), при этом масляный насос работает на 10% (грелка на 220В через реле)
2 - после прогрева масла прибавляем скорость насоса до 30% (насос 24В шаговый двигатель)
3 - включаем воздушный клапан, для подачи сжатого воздуха в горелку (24В клапан)
4 - подаём искру, для поджига топлива (12В, модуль зажигания от Ваз 2110)
5 - ... пока не знаю, наверно контроль пламени в топке
6 - контролируем температуру в водяном контуре до (tWaterHi) выключаем горелку
7 - контролируем температуру в водяном контуре до (tWaterLo) включаем горелку
Вот пока и всё... до нажатия кнопки СТОП
///
Меню хочу многоуровневое, чтоб уставки изменять и тд.
Пока не определился с датчиком пламени.
Пока не знаю, как опрашивать датчики температуры... в прерывании или как?
Не знаю, как меню организовать программно.
Не знаю, как реализовать аварийный режим, чтоб котёл не закипел (перегрев)
Ну... и ... много ещё вопросов будет.
///
Поможете?
Контроллер для горелки на отработанном масле на Mega 2560
Сообщений 1 страница 30 из 105
Поделиться12014-01-04 00:24:56
Поделиться22014-01-04 09:13:57
-Atmega 2560
Вы уверены, что сможете развести плату, а потом запаять, такой корпус?
-LCD модуль 4-строчного дисплея по шине I2C Arduino LCM1602
Это модуль 16 символов на 2 строки.
-Релейный модуль на 2 реле с опторазвязкой для коммутаций 220 Вольт
Лучше сделать на симисторах через оптроны с детекцией "0".
Составить блок-схему, по которой буду писать код
Начинайте, подхватим - "с мира по нитке, голому одежда"
Отредактировано sasha_1973 (2014-01-04 09:50:53)
Поделиться32014-01-04 12:11:37
Александр - нужно будет... и атмегу запаяю. Но, это всё лирика, тут дело стоит.
Всё, что выше мною перечисленное - это всё ГОТОВОЕ, т.е. покупал, могу фотку запостить прям всего набора.
LCD - 4 строки, я его уже запустил полгода назад.
Симисторы не нужны, не вижу смысла в ШИМ, т.к. "грелка" - это всего лишь ТЭН электрический, да и масло циркулирует в нагревателе... не подгорит.
///
Начинаю.
Я писал на Arduino C++, впрочем не важно, на чём писать... верно?
1 - опрос клавиатуры делать в прерывании?
2 - как программно сделать защиту от дребезга контактов?
3 - имеет ли смысл в обработчике клавиатуры закладывать возможность обработки длинных и двойных нажатий на кнопку(и) (хАчу в перспективе...)?
4 - опрос DS18B20 тоже хочу опрашивать в прерывании, примерно раз в 3-5 секунд (подскажите, не часто)
5 - контроль температуры и пламени тоже наверное на прерывания вешать нужно будет... допустим забыл я выйти из какого-нибудь меню и печь перегрелась.
///
Вот примерные вопросы, сильно не пинайте, я не программист, но в планах хочу чуть научиться.
Поделиться42014-01-04 12:35:24
Симисторы не нужны, не вижу смысла в ШИМ
При чём тут ШИМ, речь идёт о коммутации достаточно мощной нагрузки, а реле - это механика, а механика это искрообразование и подгорание, короче, не надёжно. Вы-же себе делаете, а не дяде.
По поводу клавиатуры, смотря какая она у Вас будет, матричная, или каждая кнопка сама по себе?
как программно сделать защиту от дребезга контактов
Проверили раз, проверили два, если всё ещё есть нажатие, обрабатываете.
имеет ли смысл в обработчике клавиатуры закладывать возможность обработки длинных и двойных нажатий на кнопку(и)
Если есть нелбходимость, почему-бы и нет.
опрос DS18B20 тоже хочу опрашивать в прерывании
Ds18b20 - относительно медленное железо, если в прерывании, будет большая задержка
примерно раз в 3-5 секунд
Все зависит от того, что именно будете измерять (жидкость или газообразную среду)
Если газ, то саморазогрев датчика начинается, если опрашивать с периодом меньшим 6-7 сек.
допустим забыл я выйти из какого-нибудь меню и печь перегрелась
Контроль выхода по таймеру.
Поделиться62014-01-04 13:11:36
По роду деятельности занимаюсь и горелками тоже, если чего могу помочь по алгоритмам розжига, требованиям безопасности и пр.
Кстати, в предложенном наборе нужно не "не знаю", а точно датчик пламени, для масла нужен ИК, ионизационный не пойдет.
Пары масла тоже великолепно взрываются, если чего )))
То sasha_1973 - платы под корпуса TQFP легко делаются фотоспособом, это больше зависит от коэффициента кривизны рук )
Хотя, считаю, что 2560 сильно избыточный кристалл. Меги 64 там хватит даже для реализации самых эротичных фантазий )
Обычно модули управления горелок содержат кристаллы не более 16кб. Weishaupt вапче сделан на древней серии AT89C...
Очень интересная и полезная задумка. Буду очень рад, если всей толпой доведем до ума.
Поделиться72014-01-04 13:23:20
платы под корпуса TQFP легко делаются фотоспособом, это больше зависит от коэффициента кривизны рук
Я в курсе. Просто если человек спрашивает, как опросить кнопки, мало-ли, что!
Поделиться82014-01-04 13:24:22
Вы-же написали
LCM1602
тогда наверное - LCM2004
Поделиться92014-01-04 13:31:00
Выражу исключительно свое мнение - Ардуино наборам не место в пожароопасных вещах вроде контроллера горелки.
Невовремя отошедший контакт с гребенки может стоить Вам дома )))
Поделиться102014-01-04 13:37:36
Выражу исключительно свое мнение - Ардуино наборам не место в пожароопасных вещах вроде контроллера горелки.
Невовремя отошедший контакт с гребенки может стоить Вам дома
Не могу не согласиться!
Мало того, сугубо моё мнение - нужно дублирование критичных узлов.
Отредактировано sasha_1973 (2014-01-04 13:48:13)
Поделиться112014-01-04 14:35:50
Мало того, сугубо моё мнение - нужно дублирование критичных узлов.
Ни разу такого не видел в проф. оборудовании )))
Поделиться122014-01-04 15:11:11
Ни разу такого не видел в проф. оборудовании
Это дело производителя, я-бы однозначно сделал, когда что-то сгорит или взорвётся, будет поздно локти грызть!
Поделиться132014-01-04 15:51:18
когда что-то сгорит или взорвётся, будет поздно локти грызть
эт точно
цена дублерства меньше цены пожара!
Поделиться142014-01-04 16:56:56
полное дублирование не имеет практического смысла, если ваш девайс не на Марсе\Луне или орбите Земли, и надо любой ценой сохранить работоспособность.
Если есть возможность физического доступа- механические защитные датчики рулят.
Как это сделано в проф оборудовании :
Контроллер (весь паяный, только входа\выхода под болтовые зажимы ) подключен через несколько защитных датчиков.
Для наших горелок, например, это механические датчики верхнего\нижнего аварийных давлений газа, мех. датчик разрежения в топке, датчик высокой температуры в топке. Все это , грубо говоря, через логическое "или" с фиксацией управляет питанием контроллера (основного) и клапаном подачи газа.
Просто и дешево. Надежность тоже очень хороша.
Отредактировано Skull (2014-01-04 17:17:13)
Поделиться152014-01-04 17:08:49
полное дублирование не имеет практического смысла, если ваш девайс не на Марсе\Луне или орбите Земли
А если поехал на рыбалку, зимой?
на улице -30
котел потух
защита все нафиг отключила
система разморозилась
приехал с рыбалки и взялся за голову или что там в голове если она (голова) не сделала резерва
???????????????????????????
Поделиться162014-01-04 17:20:20
А если поехал на рыбалку, зимой?
на улице -30
котел потух
защита все нафиг отключила
система разморозилась
приехал с рыбалки и взялся за голову или что там в голове если она (голова) не сделала резерва
???????????????????????????
Как это везде у людей сделано - SMS приходит, сворачиваешь удочки и $#$%шь домой, чинить отопление ))
Поделиться172014-01-04 17:24:39
Не, ребят, я понимаю, для себя дороговизна вопрос второй, но подумайте реально о полном резервировании:
1 насос заклинил- второй не потянет. навешать кучку обратных клапанов и параллелить насосы ? - введение избыточности, чреватой увеличением риска поломки
1 контроллер "сошел с ума", что определит какой из них прав ??? - ставить AI ? А кто поручится за его вменяемость ??
тупо нет масла (порыв шланга, емкости) - и ваш гениальный план с резервом сами знаете где торчит )))
Все же есть некий предел разумности в наворачивании и дубляже....
Отредактировано Skull (2014-01-04 17:27:21)
Поделиться182014-01-04 17:50:37
Капец, начали за здравие, продолжаем за упокой!
Человек спрашивает как кнопки опросить, а мы ему: резервирование, полёты в Космос, отправка "печкой" SMS-ок.
Полный пипец!
Давайте конкретно: вопрос => ответ по существу, а не говорить о высоких материях.
Думаю, что у человека есть голова на плечах, которая думает о защитах и возможных последствиях в случае применения подобных изделий!
Поделиться192014-01-04 18:00:33
Ок, давайте по существу. На что из списка могу ответить я :
Пока не определился с датчиком пламени.
Ик. Смысл такой- пока изменяется напруга с датчика- горение идет. (пламя никогда не горит ровно, если ровно- излучение остывающей топки)
Ионизационный работать не будет из-за нагара и вообще принципа горения.
Еще можно контролировать УФ спектр, нечто похожее продают в ардуино-наборах как "датчик пламени". Довольно точно работает.
Пока не знаю, как опрашивать датчики температуры... в прерывании или как?
Это зависит от структуры программы
Не знаю, как реализовать аварийный режим, чтоб котёл не закипел (перегрев)
Крайне просто- термореле на 90гр на теплообменнике в топке или на выходном патрубке, отрубающее питание клапана подачи топлива. Очень распространенная практика.
Выглядит в общем случае так :
Включается так :
Отредактировано Skull (2014-01-04 18:05:36)
Поделиться202014-01-04 18:08:16
Вот, можем, когда хотим!
Засыпали человека вопросами, за одно узнаем, на рыбалку ездит или, как.
Будем ждать, чего напишет.
Поделиться212014-01-04 19:24:24
Сань, мы с тобой не перестарались? Что-то человек совсем пропал?
Поделиться222014-01-04 20:08:16
Привет всем, тут я... работал просто.
Печь в гараж, где работаю, дома все уже есть.
Поэтому и не стоит, думаю, делать двойную автоматику, как на котлах с давлением выше 8 Атм (гост).
И хотелось бы температуру рабочую не 90 Гр. а 99-101, т.к. тосол залит в системе отопления.
Программировать будем на каком языке? На C++ не получится? Баском вроде платный, AVR C++ открытый, и библиотеки к нему есть в свободном доступе...
С языком C++ поможете?
Поделиться232014-01-04 21:48:11
Привет всем, тут я... работал просто
Главный вопрос дня, так Вы ездите на рыбалку или как?
Программировать будем на каком языке?
Так, как форум по Bascom, то наверно на бейсике.
На C++ не получится?
На этом форуме наверняка есть люди, которые знают С++, к сожалению я, не вхожу в их число.
Баском вроде платный, AVR C++ открытый, и библиотеки к нему есть в свободном доступе...
Было-бы желание, найти полную версию Bascom не проблема. Что касается библиотек, то их написано больше чем достаточно, как говорится, на любой вкус.
Отредактировано sasha_1973 (2014-01-04 21:49:20)
Поделиться242014-01-04 22:58:30
Привет всем, тут я... работал просто.
Печь в гараж, где работаю, дома все уже есть.
.С языком C++ поможете?
А можно поподробнее с задумкой ? С фото и чертежами ? ))) Больно тему Вы интересную подняли ))
С С++ не поможем.... поможем только с Бейсиком)) И то, тезка шарит в нем куда лучше меня ))
Собсно меня несколько смутил работающий насос во время прогрева... схему горения откроете ? Как работает поджиг ? Дуга или керамика ?
Горение турбулентное или самопалом ?
Отредактировано Skull (2014-01-04 23:02:01)
Поделиться252014-01-05 11:52:33
И хотелось бы температуру рабочую не 90 Гр. а 99-101, т.к. тосол залит в системе отопления
А какой тосол ??? Некоторые при 103-106 кипят, да и давать температуры, близкие к кипению - это дышать этиленгликолем...
Поделиться262014-01-05 15:17:53
Тосол обычный, Дзержинский, синий.
Расширитель не в гараже, на крыше.
Сейчас всё работает просто так, без автоматики, температура около 100 Гр. ... полёт нормальный.
///
Так, поставил Bascom и ... а как он с ардуино вяжется? Как проект через BootLoader загрузить?
И... дайте ссылки на библиотеки: LCD и OneWire.
И как там с прерываниями работать? Описание или скетчи есть посмотреть?
Клавиатура у меня простая, все кнопки замыкаются на массу, зарезервировано 8 портов Pk0-Pk7. Подтяжка на (+) с кристалла.
LCD сидит на I2C шине, порты Pd0, Pd1.
OneWire повешу на PBх шину.
PWM у меня в резерве на PE4 и PE5.
Канал обработки наличия пламени наверно на PB3 будет.
Остальные порты пока свободны.
Начнём писать софт?
Поделиться272014-01-05 15:38:29
Поделиться282014-01-05 16:01:34
дайте ссылки на библиотеки: LCD и OneWire.
Это входит в поставку баскома.
Описание функций в справке.
Например, LCD. http://basavrhelp.mcselec.com/config_lcd.htm
http://basavrhelp.mcselec.com/lcd_2.htm
1-Wire функции. http://basavrhelp.mcselec.com/1wirecount.htm
http://basavrhelp.mcselec.com/1wreset.htm
http://basavrhelp.mcselec.com/1wread.htm
http://basavrhelp.mcselec.com/1wsearchfirst.htm
http://basavrhelp.mcselec.com/1wsearchnext.htm
http://basavrhelp.mcselec.com/1wverify.htm
http://basavrhelp.mcselec.com/1wwrite.htm
Поищите по форуму примеры работы с индикаторами и температурными датчиками. Их здесь много.
Отредактировано Пётр (2014-01-05 16:02:53)
Поделиться292014-01-05 18:00:10
Так, поставил Bascom и ... а как он с ардуино вяжется? Как проект через BootLoader загрузить?
в настройке программатора есть режим работы через загрузчик ардуины
Клавиатура у меня простая, все кнопки замыкаются на массу, зарезервировано 8 портов Pk0-Pk7. Подтяжка на (+) с кристалла.
Не есть Гут, надо через 2-5 к подтянуть к +, внутренняя подтяжка ок.100к, помехи гребет все что найдет в округе ) Особенно если есть рядом релюшки, моторчики с ШИМ регулированием.... )))
Отредактировано Skull (2014-01-05 18:05:31)
Поделиться302014-01-05 18:02:09
Ага, скорость - 57600.