Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Бытовая и промышленная техника, авто, мото и т.п. » Контроллер для горелки на отработанном масле на Mega 2560


Контроллер для горелки на отработанном масле на Mega 2560

Сообщений 1 страница 30 из 105

1

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

0

2

-NMi- написал(а):

-Atmega 2560

Вы уверены, что сможете развести плату, а потом запаять, такой корпус?

http://s7.uploads.ru/t/fPlkm.jpg

-NMi- написал(а):

-LCD модуль 4-строчного дисплея по шине I2C Arduino LCM1602

Это модуль 16 символов на 2 строки.

-NMi- написал(а):

-Релейный модуль на 2 реле с опторазвязкой для коммутаций 220 Вольт

Лучше сделать на симисторах через оптроны с детекцией "0".

-NMi- написал(а):

Составить блок-схему, по которой буду писать код

Начинайте, подхватим - "с мира по нитке, голому одежда"

Отредактировано sasha_1973 (2014-01-04 09:50:53)

+1

3

Александр - нужно будет... и атмегу запаяю. Но, это всё лирика, тут дело стоит.
Всё, что выше мною перечисленное - это всё ГОТОВОЕ, т.е. покупал, могу фотку запостить прям всего набора.
LCD - 4 строки, я его уже запустил полгода назад.
Симисторы не нужны, не вижу смысла в ШИМ, т.к. "грелка" - это всего лишь ТЭН электрический, да и масло циркулирует в нагревателе... не подгорит.
///
Начинаю.
Я писал на Arduino C++, впрочем не важно, на чём писать... верно?
1 - опрос клавиатуры делать в прерывании?
2 - как программно сделать защиту от дребезга контактов?
3 - имеет ли смысл в обработчике клавиатуры закладывать возможность обработки длинных и двойных нажатий на кнопку(и)  (хАчу в перспективе...)?
4 - опрос DS18B20 тоже хочу опрашивать в прерывании, примерно раз в 3-5 секунд (подскажите, не часто)
5 - контроль температуры и пламени тоже наверное на прерывания вешать нужно будет... допустим забыл я выйти из какого-нибудь меню и печь перегрелась.
///
Вот примерные вопросы, сильно не пинайте, я не программист, но в планах хочу чуть научиться.

0

4

-NMi- написал(а):

Симисторы не нужны, не вижу смысла в ШИМ

При чём тут ШИМ, речь идёт о коммутации достаточно мощной нагрузки, а реле - это механика, а механика это искрообразование и подгорание, короче, не надёжно. Вы-же себе делаете, а не дяде.

По поводу клавиатуры, смотря какая она у Вас будет, матричная, или каждая кнопка сама по себе?

-NMi- написал(а):

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

Проверили раз, проверили два, если всё ещё есть нажатие, обрабатываете.

-NMi- написал(а):

имеет ли смысл в обработчике клавиатуры закладывать возможность обработки длинных и двойных нажатий на кнопку(и)

Если есть нелбходимость, почему-бы и нет.

-NMi- написал(а):

опрос DS18B20 тоже хочу опрашивать в прерывании

Ds18b20 - относительно медленное железо, если в прерывании, будет большая задержка

-NMi- написал(а):

примерно раз в 3-5 секунд

Все зависит от того, что именно будете измерять (жидкость или газообразную среду)

Если газ, то саморазогрев датчика начинается, если опрашивать с периодом меньшим 6-7 сек.

-NMi- написал(а):

допустим забыл я выйти из какого-нибудь меню и печь перегрелась

Контроль выхода по таймеру.

0

5

Фотка набора...http://s7.uploads.ru/t/BMGWJ.jpg

0

6

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

То sasha_1973 - платы под корпуса TQFP легко делаются фотоспособом, это больше зависит от коэффициента кривизны рук )

Хотя, считаю, что 2560 сильно избыточный кристалл. Меги 64 там хватит даже для реализации самых эротичных фантазий )
Обычно модули управления горелок содержат кристаллы не более 16кб. Weishaupt вапче сделан на древней серии AT89C...

Очень интересная и полезная задумка. Буду очень рад, если всей толпой доведем до ума.

0

7

Skull написал(а):

платы под корпуса TQFP легко делаются фотоспособом, это больше зависит от коэффициента кривизны рук

Я в курсе. Просто если человек спрашивает, как опросить кнопки, мало-ли, что!

0

8

Вы-же написали

-NMi- написал(а):

LCM1602

тогда наверное - LCM2004

0

9

Выражу исключительно свое мнение - Ардуино наборам не место в пожароопасных вещах вроде контроллера горелки.
Невовремя отошедший контакт с гребенки может стоить Вам дома )))

0

10

Skull написал(а):

Выражу исключительно свое мнение - Ардуино наборам не место в пожароопасных вещах вроде контроллера горелки.
Невовремя отошедший контакт с гребенки может стоить Вам дома

Не могу не согласиться!

Мало того, сугубо моё мнение - нужно дублирование критичных узлов.

Отредактировано sasha_1973 (2014-01-04 13:48:13)

0

11

sasha_1973 написал(а):

Мало того, сугубо моё мнение - нужно дублирование критичных узлов.

Ни разу такого не видел в проф. оборудовании )))

0

12

Skull написал(а):

Ни разу такого не видел в проф. оборудовании

Это дело производителя, я-бы однозначно сделал, когда что-то сгорит или взорвётся, будет поздно локти грызть!

0

13

sasha_1973 написал(а):

когда что-то сгорит или взорвётся, будет поздно локти грызть

эт точно

цена дублерства меньше цены пожара!

0

14

полное дублирование не имеет практического смысла, если ваш девайс не на Марсе\Луне или орбите Земли, и надо любой ценой сохранить работоспособность.
Если есть возможность физического доступа- механические защитные датчики рулят.

Как это сделано в проф оборудовании :
Контроллер (весь паяный, только входа\выхода под болтовые зажимы ) подключен через несколько защитных датчиков.
Для наших горелок, например, это механические датчики верхнего\нижнего аварийных давлений газа, мех. датчик разрежения в топке, датчик высокой температуры в топке. Все это , грубо говоря, через логическое "или"  с фиксацией управляет питанием контроллера (основного) и клапаном подачи газа.
Просто и дешево. Надежность тоже очень хороша.

Отредактировано Skull (2014-01-04 17:17:13)

+1

15

Skull написал(а):

полное дублирование не имеет практического смысла, если ваш девайс не на Марсе\Луне или орбите Земли

А если поехал на рыбалку, зимой?

на улице -30

котел потух

защита все нафиг отключила

система разморозилась

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

???????????????????????????

0

16

Alex90 написал(а):

А если поехал на рыбалку, зимой?

на улице -30

котел потух

защита все нафиг отключила

система разморозилась

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

???????????????????????????

Как это везде у людей сделано -  SMS приходит, сворачиваешь удочки и $#$%шь домой, чинить отопление ))

0

17

Не, ребят, я понимаю, для себя дороговизна вопрос второй, но подумайте реально о полном резервировании:
1 насос заклинил- второй не потянет. навешать кучку обратных клапанов и параллелить насосы ? - введение избыточности, чреватой увеличением риска поломки
1 контроллер "сошел с ума", что определит какой из них прав ??? - ставить AI ? А кто поручится за его вменяемость ??
тупо нет масла (порыв шланга, емкости) - и ваш гениальный план с резервом сами знаете где торчит )))

Все же есть некий предел разумности в наворачивании и дубляже....

Отредактировано Skull (2014-01-04 17:27:21)

0

18

Капец, начали за здравие, продолжаем за упокой!

Человек спрашивает как кнопки опросить, а мы ему: резервирование, полёты в Космос, отправка "печкой" SMS-ок.

Полный пипец!

Давайте конкретно: вопрос => ответ по существу, а не говорить о высоких материях.

Думаю, что у человека есть голова на плечах, которая думает о защитах и возможных последствиях в случае применения подобных изделий!

0

19

Ок, давайте по существу. На что из списка могу ответить я :

Пока не определился с датчиком пламени.

Ик.  Смысл такой- пока изменяется напруга с датчика- горение идет. (пламя никогда не горит ровно, если ровно- излучение остывающей топки)
Ионизационный работать не будет из-за нагара и вообще принципа горения.
Еще можно контролировать УФ спектр, нечто похожее продают в ардуино-наборах как "датчик пламени". Довольно точно работает.

Пока не знаю, как опрашивать датчики температуры... в прерывании или как?

Это зависит от структуры программы

Не знаю, как реализовать аварийный режим, чтоб котёл не закипел (перегрев)

Крайне просто- термореле на 90гр на теплообменнике в топке или на выходном патрубке, отрубающее питание клапана подачи топлива. Очень распространенная практика.
Выглядит в общем случае так :
http://www.remont-bez-zabot.ru/files/file/999539.jpg

Включается так :
http://isist.ru/sam/fischki/pic/termostat-na-kotle.jpg

Отредактировано Skull (2014-01-04 18:05:36)

0

20

Вот, можем, когда хотим!

Засыпали человека вопросами, за одно узнаем, на рыбалку ездит или, как.

Будем ждать, чего напишет.

0

21

Сань, мы с тобой не перестарались? Что-то человек совсем пропал?

0

22

Привет всем, тут я... работал просто.
Печь в гараж, где работаю, дома все уже есть.
Поэтому и не стоит, думаю, делать двойную автоматику, как на котлах с давлением выше 8 Атм (гост).
И хотелось бы температуру рабочую не 90 Гр. а 99-101, т.к. тосол залит в системе отопления.
Программировать будем на каком языке? На C++ не получится? Баском вроде платный, AVR C++ открытый, и библиотеки к нему есть в свободном доступе...
С языком C++ поможете?

0

23

-NMi- написал(а):

Привет всем, тут я... работал просто

Главный вопрос дня, так Вы ездите на рыбалку или как?

-NMi- написал(а):

Программировать будем на каком языке?

Так, как форум по Bascom, то наверно на бейсике.

-NMi- написал(а):

На C++ не получится?

На этом форуме наверняка есть люди, которые знают С++, к сожалению я, не вхожу в их число.

-NMi- написал(а):

Баском вроде платный, AVR C++ открытый, и библиотеки к нему есть в свободном доступе...

Было-бы желание, найти полную версию Bascom не проблема. Что касается библиотек, то их написано больше чем достаточно, как говорится, на любой вкус.

Отредактировано sasha_1973 (2014-01-04 21:49:20)

0

24

-NMi- написал(а):

Привет всем, тут я... работал просто.
Печь в гараж, где работаю, дома все уже есть.
.С языком C++ поможете?

А можно поподробнее с задумкой ? С фото и чертежами ? ))) Больно тему Вы интересную подняли ))
С С++ не поможем.... поможем только с Бейсиком)) И то, тезка шарит в нем куда лучше меня ))

Собсно меня несколько смутил работающий насос во время прогрева... схему горения откроете ? Как работает поджиг ? Дуга или керамика ?
Горение турбулентное или самопалом ?

Отредактировано Skull (2014-01-04 23:02:01)

0

25

-NMi- написал(а):

И хотелось бы температуру рабочую не 90 Гр. а 99-101, т.к. тосол залит в системе отопления

А какой тосол ??? Некоторые при 103-106 кипят, да и давать температуры, близкие к кипению - это дышать этиленгликолем...

0

26

Тосол обычный, Дзержинский, синий.
Расширитель не в гараже, на крыше.
Сейчас всё работает просто так, без автоматики, температура около 100 Гр. ... полёт нормальный.
///
Так, поставил Bascom и ... а как он с ардуино вяжется? Как проект через BootLoader загрузить?
И... дайте ссылки на библиотеки: LCD и OneWire.
И как там с прерываниями работать? Описание или скетчи есть посмотреть?
Клавиатура у меня простая, все кнопки замыкаются на массу, зарезервировано 8 портов Pk0-Pk7. Подтяжка на (+) с кристалла.
LCD сидит на I2C шине, порты Pd0, Pd1.
OneWire повешу на PBх шину.
PWM у меня в резерве на PE4 и PE5.
Канал обработки наличия пламени наверно на PB3 будет.
Остальные порты пока свободны.
Начнём писать софт?

0

27

Все ответы есть в теме "Исходники", на главной странице форума.

LCD через PCF8574

Прерывания INT и PCINT

Работа с Ds18b20  -  здесь , здесь  и здесь

Отредактировано sasha_1973 (2014-01-05 15:43:33)

0

28

-NMi- написал(а):

дайте ссылки на библиотеки: 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)

0

29

-NMi- написал(а):

Так, поставил Bascom и ... а как он с ардуино вяжется? Как проект через BootLoader загрузить?

в настройке программатора есть режим работы через загрузчик ардуины

-NMi- написал(а):

Клавиатура у меня простая, все кнопки замыкаются на массу, зарезервировано 8 портов Pk0-Pk7. Подтяжка на (+) с кристалла.

Не есть Гут, надо через 2-5 к подтянуть к +, внутренняя подтяжка ок.100к, помехи гребет все что найдет в округе ) Особенно если есть рядом релюшки, моторчики с ШИМ регулированием.... )))

Отредактировано Skull (2014-01-05 18:05:31)

0

30

Ага, скорость - 57600.

0


Вы здесь » Программирование ATMEL в BASCOM. » Бытовая и промышленная техника, авто, мото и т.п. » Контроллер для горелки на отработанном масле на Mega 2560