Блок управления пивоварней на контроллере ардуино. Автоматика для пивоварни BeerDuino на базе arduino mega

Блок управления пивоварней на контроллере ардуино. Автоматика для пивоварни BeerDuino на базе arduino mega

22.04.2019

В 2014 году я наткнулся на видео где мужик делает пиво из концентрата пивного сусла. Я загорелся идеей пивоварения и тут понеслось…
Варка пива из консервов мне стала не интересной после 2-го раза и я решил перейти на all-grain. Раз сварил пиво на газу и понял, что это не мой метод. Решил сделать автоматику. Вечера стали интересней. Я так втянулся в программирование, что кодил аж до 2-3 часов ночи. Нужны были испытания в реальных условиях. В закромах откопал кипятильник и граненый стакан.

И вот, что в итоге у меня получилось

А теперь расскажу как сделать такую автоматику.
Для начала нам понадобятся следующие детали. Я их купил в Китае.
ssd1289 или ili9341.
Твердотельное реле для управления ТЭНом (или схема на )
Твердотельное реле для управления насосом (для насоса на переменном токе) или (на постоянном токе)
Термодатчик или или
Блок питания 7.5-9В 1А. Например
Разьемы для подключения термодатчика и насоса и
(еще )
(buzzer)
Резистор на 4.7кОм

Схема низкого напряжения

Силовая схема. Будьте осторожны. Не уверены — доверьте профессионалам.

Сечение проводов берем в зависимости от суммарной мощности насоса и ТЭНа. Для твердотелки ТЭНа нужен радиатор т.к. греется он не слабо. Запихиваем все это в коробок. Заливаем прошивку,настраиваем и варим пиво.

(инструкция внутри)

Но базовых функций мне было мало. И я решил прикрутить wifi. Прикупил на aliexpress модуль ESP8266 . Заодно заказал модуль т.к. ребята с форума ну очень просили внедрить его в проект (можно и без него) . И подключил по следующей схеме

Для питания wifi модуля нам нужен источник питания 5В. Использовать arduino нельзя. Можно использовать отдельный источник питания либо преобразовать 9В в 5В. Для этого можно собрать простенькую схему со стабилизатором напряжения или купить готовый у китайцев. Например (есть еще куча других вариантов).

Следующим шагом будет прошивка нашего модуля прошивкой NodeMCU. Скачиваем . Запускаем. Нажимаем Start и ждем окончания заливки прошивки. Прошили? Вот и отлично. Теперь загружаем скрипт. Для этого нам понадобится . Есть конечно другие программы типа . Но у меня не получилось их заставить работать с моим модулем. В ESPlorer-е создаем новый файл init.lua с следующим содержанием:

Меняем имя wifi сети и пароль на свои. Ставим скорость 9600. Жмем кнопку «Open»(если не конектится может помочь нажатие кнопки reset на модуле). И жмем «Save to ESP». После загрузки скрипта, модуль должен подключится к вашему роутеру. Это можно проверить зайдя в роутер и посмотреть клиентов DHCP. Если вашего модуля там не видно, то что-то пошло не так.

В web-интерфейсе присутствуют следующие функции.
1. Мониторинг процессов. Можно следить за температурой, состоянием насоса, показателями затирания и варки. Веб интерфейс снабжен звуковым сигнализатором.
2. Загружать рецепты в память контроллера и на флешку.
3. Построение глобального графика всей варки.






Вход в web-интерфейс

Устройство используется для автоматизации процесса затирания солода. Не предназначена для кипячения сусла.

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

Для автоматизации затирания солода понадобятся следующие детали.

Arduino UNO R3
1.8 «серийный 128×160 SPI TFT ЖК-дисплей модуль Дисплей + адаптер PCB Мощность IC SD Разъем
5 В реле Модуль 1 канал низкого уровня для СКМ Бытовая техника Управление для (10A 220V, на пределе, лучше использовать более сильное, на пример Твердотельное реле SSR-40DA + радиатор для отвода тепла)
Перемычки Dupont (папа, мама)
DS1820 из нержавеющей стали посылка Водонепроницаемый DS18B20 датчик температуры датчик 18B20 для Arduino
Пищалка (Пьезодинамик)
Резистор на 4.7кОм
Кабель USB A-B + USB зарядка для питания ардуино

Схема подключения датчика, реле, пищалки

Схема подключения TFT экрана к arduino uno

1.8 TFT SPI 128×160 Arduino UNO
SCK Pin 13
SDA Pin 11
CS Pin 10
A0 Pin 9
RESET Pin 8
VCC +5V
GND GND
LED+ +5V

Силовая схема.

Платформа Arduino

Подключение ТЭНа, насоса

Сечение проводов и силовое реле подбираем по суммарной мощности ТЭНа и насоса.

Скетч для arduino uno (файл ino 30.03.2018).zip (2,32 Kb)

Для загрузки скетча необходимо установить Arduino IDE.

Подключаем arduino к компьютеру, запускаем Arduino IDE. В меню «Инструменты» — Плата — выбираем «Arduino/Genuino Uno». «Инструменты» — Порт — выбираем тот куда подключена arduino. Скорее всего будет один com порт. Так же номер порта можно посмотреть в диспетчере устройств.

Открываем скетч и жмем кнопку «Загрузить».

Все устройство готово к работе.

Настройка пауз производиться непосредственно в самом скетче (строки с 12 по 29):

Пример:
int c1 = 52; //температура первой паузы 52 градуса
unsigned long p1 = 20 * 60000; //время первой паузы 20 минут
int c2 = 63; //температура второй паузы 63 градуса
unsigned long p2 = 30 * 60000; //время второй паузы 30 минут

В строке 177 скетча производиться корректировка показаний датчика температуры.
celsius = celsius + 1; // +1 градус

1. Показание реле: Vk — включено / замкнуто, Ot — выключено / разомкнуто.
2. Температуры пауз.
3. Текущее показание датчика температуры.
4. Общее время работы.
5. Время температурных пауз.
6. Таймер (обратный отсчет) текущей паузы.

!!!ВАЖНО При включении реле включено / замкнуто.
По окончании паузы Mash out реле выключено / разомкнуто.

Если необходимо меньшее количество пауз, на пример однопаузное затирание, для этого настройки следующие:
1 пауза, 67 градусов 60 мин.
2, 3, 4 паузы градусы и время устанавливаем НОЛЬ.
76 mash out 5 мин.

На практике используется следующим образом.

Датчик температуры установлен в стенку бака.
ТЭН 2КВт под фальш дном.
Насос на 12В, забор сусла через кран под фальш дном, но выше ТЭНа., возвращает в бак сверху.
!!!Насос и ТЭН «висят» на одном реле (10A 220V, на пределе, лучше использовать более сильное)
Заливается вода, засыпается солод.
Включается устройство.
Сразу начинается подъем температуры до первой паузы, по достижению тэн и насос отключаются.
Включается таймер. Происходит поддержание температуры, по окончании времени, происходит подъем температуры до след паузы и т.д.

Вопросы, ответы, обсуждения в Группе ВК vk.com/brewmate

3

Устройство используется для автоматизации процесса затирания солода. Не предназначена для кипячения сусла.

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

Для автоматизации затирания солода понадобятся следующие детали.

Для загрузки скетча необходимо установить .

Подключаем arduino к компьютеру, запускаем Arduino IDE. В меню "Инструменты" - Плата - выбираем "Arduino/Genuino Uno". "Инструменты" - Порт - выбираем тот куда подключена arduino. Скорее всего будет один com порт. Так же номер порта можно посмотреть в диспетчере устройств.

Открываем скетч и жмем кнопку "Загрузить".

Все устройство готово к работе.

Настройка пауз производиться непосредственно в самом скетче (строки с 12 по 29):

Пример:
int c1 = 52; //температура первой паузы 52 градуса
unsigned long p1 = 20 * 60000; //время первой паузы 20 минут
int c2 = 63; //температура второй паузы 63 градуса
unsigned long p2 = 30 * 60000; //время второй паузы 30 минут

В строке 177 скетча производиться корректировка показаний датчика температуры.
celsius = celsius + 1; // +1 градус


1. Показание реле: Vk - включено / замкнуто, Ot - выключено / разомкнуто.
2. Температуры пауз.
3. Текущее показание датчика температуры.
4. Общее время работы.
5. Время температурных пауз.
6. Таймер (обратный отсчет) текущей паузы.

!!!ВАЖНО При включении реле включено / замкнуто.
По окончании паузы Mash out реле выключено / разомкнуто.

Если необходимо меньшее количество пауз, на пример однопаузное затирание, для этого настройки следующие:
1 пауза, 67 градусов 60 мин.
2, 3, 4 паузы градусы и время устанавливаем НОЛЬ.
76 mash out 5 мин.

На практике используется следующим образом.

Датчик температуры установлен в стенку бака.
ТЭН 2КВт под фальш дном.
Насос на 12В, забор сусла через кран под фальш дном, но выше ТЭНа., возвращает в бак сверху.
!!!Насос и ТЭН "висят" на одном реле (10A 220V, на пределе , лучше использовать более сильное)
Заливается вода, засыпается солод.
Включается устройство.
Сразу начинается подъем температуры до первой паузы, по достижению тэн и насос отключаются.
Включается таймер. Происходит поддержание температуры, по окончании времени, происходит подъем температуры до след паузы и т.д.

Вопросы, ответы, обсуждения в Группе ВК

Для чего же мне понадобилась автоматика?

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

Делать я свою автоматику решил из готового проект . Работает она на arduino, к нему подключается датчик температуры, два реле, дисплей и кнопки. Первое реле управляет ТЭНом, второе реле насосом. Насос для затирания очень удобен, т.к. отпадает необходимость за весь процесс затирания перемешивать затор (подробнее как варить пиво, рекомендую прочитать в моих ранних )

Первую автоматику я собрал с помощью модулей:

- Arduino mini
- Блок из двух реле на 15А
- Дисплей 2004
- Температурный датчик
- 4 кнопки
- БП на 5 вольт
Удобство модульной сборки, только состоит в том, что достать все детали не составит труда и паять практически ничего не нужно. Но самый большой минус - это огромное количество проводов, а дешевое китайское реле создавало помехи на дисплее, по этому механическое реле пришлось заменить твердотельным.

Со временем я пришел к выводу, что надо собрать свою автоматику на чипе с 64кб памяти (у arduino mini всего 32 кб) на одной плате. Готового решения я не нашел, по этому сам стал создавать схему и в последующем плату для своей поделки.

Схема:

Схему разработал и рисовал так сказать на коленке и для себя, по этому возможны кое-какие недочеты, но схема полностью рабочая:

Плата:

Схему нарисовал, далее осталось нарисовать плату, сначала рисовал с помощью программы Sprint-Layout 6 , очень удобная, но маловато в ней функционал, по этому решил от нее уйти в сторону программы DipTrace и вот что у меня получилось:

Скачать исходники можно .
Как видно свою пивоварню я назвал QRBeer и это уже версия 0.5…

Плата готова, осталось ее как-то изготовить. Для этого я решил использовать . Почему именно им, а не ЛУТ? Просто решил испробовать для себя такую новую технологию, ЛУТ я уже испробовал, так сказать пощупал, не скажу, что мне она понравилась…

Фоторезист:

Для изготовления печатных плат с помощью фоторезиста понадобится:
- Пленка для принтера
-
- УФ лампа
- Сода кальцинированная

УФ лампа

Для начала поделюсь информацией как я делал свою УФ лампу . Сначала хотел использовать готовую лампу, а потом решил собрать ее на шести 3Вт светодиодах:
и куплены так же на тао:


Светодиоды приклеил на радиатор , хотя можно было их собрать на текстолите, сомневаюсь, что они перегрелись бы.
Вот что у меня получилось:


Изготовление платы

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

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


3. После этой процедуры, медь ещё нужно обезжирить ацетоном:


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


6. Когда фоторезист наклеен, текстолит с ним нужно пропусить через ламинатор 2-3 раза или воспользоваться теплым утюгом и проглаживать через лист бумаги сложенным в два раза:


Главное фоторезист не перегреть, а то получится вот так:


Если при наклеивании фоторезиста получился «косяк», то лучше его убрать (смыть или соскоблить) и заново наклеить, а то после травления платы будет печально… Я же убирать этот фоторезист не буду, покажу конечный результат.
7. Накладываем на текстолит с фоторезистом шаблон и прижимаем стеклом (я взял его от старой фоторамки), а на стекло устанавливаем груз:


8. Засвечиваем фоторезист с помощью УФ лампы. Моей лампы хватает примерно 2 минуты:


Как видно фоторезист который засветился поменял цвет со светло-синего до темно-синего, причем засвеченный фоторезист очень хрупкий.
9. Убираем стекло и шаблон. Лишний фоторезист можно (не обязательно) обрезать и аккуратно отделить пинцетом:


10. Следующим шагом следует щелочью смыть непроявившийся фоторезист, для этого берем 2 стакана воды и столовую ложку кальцинированной соды, хорошенько размешиваем. Отклеиваем верхнюю защитную пленку у фоторезиста и опускаем в щелочной раствор наш текстолит.


11. Берем кисточку и трем по фоторезисту в щелочи, постепенно непроявленный фоторезист смывается:


Щелочь можно не выливать, а оставить на следующую плату или для смывания фоторезиста после травления, но об этом чуть позже…
12. Травление платы:
Тут два способа доступнее всего: травление хлорным железом или перекисью+лимонная кислота и соль. Про хлорное железо писать не буду, а вот с помощью перекиси пожалуй опишу:
- 100 мл. перекиси водорода 3% - продается она в аптеке за 7-12 рублей
- 30 гр. лимонной кислоты (есть в любом продуктовом магазине)
- 1 ст. ложка соли (подойдет как мелкая так и каменная)


Все это смешивается в емкости и погружается туда плата с готовым фоторезистом, через некоторое время на плате появляются пузыри:


А через некоторое время «голая медь» полностью протравится:


Кстати, если травить в более высокой температуре, например у лампы накаливания или в водяной ванне, то тремя травления уменьшится, главное не переусердствовать, иначе лишнее протравится…
13. Убирать фоторезист удобнее всего в этой же щелочи, в которой смывали непротравленный фоторезист, минут через 20 он сам отпадет и ничего тереть не надо…

А вот и мои «косяки»:


Хоть и не значительные, но все же, а во всем виновата невнимательность, не заметил пузырьки воздуха под фоторезистом или перегрел…

Следующая плата у меня получилась «чистая»:


14. Далее сверлим отверстия и лудим плату:


15. Припаиваем все детали и отмываем от лишнего флюса:


Припаивал SMD компоненты китайской инфракрасной паяльной станцией, очень удобно:

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

Программирование atmega644

1. Для начала программирования нужно загрузить в него bootloader. Делается это не сложно с помощью Arduino UNO, но для начала нужно скачать и установить программу .
2. Следующим шагом в установленную программу добавить или взять сразу готовую сборку:
3. Заливаем на UNO скетч ArduinoISP:

4. И подключаем к UNO нашу плату:


В соответствии инструкции скетча:
// pin name // slave reset: 10: // MOSI: 11: // MISO: 12: // SCK: 13:
Получается по моей схеме так:

5. Далее устанавливаем в настройках нашу плату и загружаем bootloader:




Если все удачно прошло, то увидим сообщение: «Запись загрузчика завершена»
На этом загрузка bootloader"a завершена, можно подключать дисплей, кнопки, датчик температуры и заливать

© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows