Контроллер для пивоварения. Автоматика для пивоварни BeerDuino на базе arduino mega. Схема подключения TFT экрана к arduino uno

Друзья, нужна помощь домашнему пивовару. С момента желания сделать умный термометр , прошло много времени и возникло новое желание - построить автоматизированную домашнюю пивоварню. Для ее автоматизации необходим блок управления. Решено было отказаться от использования покупных PID контроллеров, для управления ТЭНом, т.к. имеется Arduino, к ней SSR реле, дисплей 4 на 20 строк и к нему Serial Board для передачи инфы по одному проводу, не считая землю и питание.
Мой контроллер на Ардуино, использую проект австралийца Роба, проект расчитан на Arduino Duemilanove ATmega328 - www.arduino.cc/cgi-bin/yabb2/YaBB.pl
и не посредственно сам проект -
Пивоварня моя будет работать маленько по другому принципу, не как у Роба, ориентируюсь на Шпидель Браумейстер, как он работает, понятно по этим видео: http://www.youtube.com/watch?v=x-OBE4tJ-j8&feature=player_profilepage
Но я к сожалению не разу не программист, умею паять и делать по инструкциям. Вот если бы переделать программу Роба, получится идеальное управляющее устройство. Я контроллер собрал и опробовал но, почему то не опознаются термодатчики DS. В этом проекте, для меня много лишнего, т.к. систему HERMS, как у автора я строить не хочу, то и из программы можно убрать все лишние. Всеми исполнительными устройствами управляют твердотельные реле. У меня 2 штуки, для тэна и насоса. ТЭН я использую купленный на амазоне, низкой плотности 4,5кВт. К нему ничего не пригорает и даже можно включить на воздухе и не сгорит. Что интересено, дисплей подключается через Serial Board, его я собрал из комплекта, купленно на ибее. Используется всего 3 провода, тем самым разгружаем порты Ардуино. Что необходимо: PID управление Тэном для точности и удобства, для Ардуино есть готовая бибилиотека, широко используемая в проекте www.brewtroller.com/wiki/doku.php , оттуда тоже можно позаимствовать много идей, но проект перегружен функциями и тоже заточен под американский HERMS и RIMS. В программе должно быть 3 режима работы: CIP мойка (подогрев воды до 70гр (можно изменять в настройках) и одновременная работа насоса), АВТО режим (когда отрабатываются все шаги, заложенные в режиме программирование, можно ставить на паузу и переходить принудительно к следующему шагу), РУЧНОЙ режим (В ручном режиме просто управляем включением-выключением тэна, насоса и выходом AUX, происходит индикация температуры.), программирование АВТО (Режим авто - подогрев воды 70гр, пауза (для засыпи, настраивается), установка температурных пауз (должно быть 4 паузы, чтоб с запасом, кислотная, белковая, осахаривание), с одновременной работой насоса, пауза мэш аут - настраивается с одновременной работой насоса, просто работа насоса, так называемый режим вирпул, когда сусло потоком закручивается и вся муть оседает в центре, и перекачка с одновременной работой AUX и второго термодатчика, в нем будет подключен аквариумный компрессор с проточным аэратором, сусло вытекает через проточный чиллер-охладитель.
Собственно задача не большая, но я гуманитарий, и программирование ну никак не дается.

На данный момент, контроллер выглядит вот так:

В замен, обещаю стать личным наставником и учителем в пивоварении, кому, интересно! :)

UDP! Топик на Хабре!

Всем привет!
С момента, когда я решил построить свою автоматизированную пивоварню прошло много времени. Вот первый пост .
Сегодня контроллер полностью готов, осталось сделать само варочно-фильтровальное устройство. Все делалось моими собственными руками. Прошу не судить строго, у меня нет инженерного образования, я простой гуманитарий! Расскажу по-порядку, как и из чего это делалось. Внимание, траффик, много фоток! Коротко о разработке. Выполнено на Arduino. Звуковая, световая индикация, индикация тока и напряжения (т.к. аппарат отладочный, мне необходимо следить за этими показателями). Аварийное отключение. Вся система на полупроводниковых реле. Силовая часть развязана с цифровой. Управление 4 нагрузками 25-40А (масштабируется), память рецептов на 8 штук. 8 температурных пауз. Интуитивно понятный интерфейс. Полностью ручной или полностью автоматический режим. Автоматическая CIP мойка. 2 температурных датчика с точностью 0,1гр. Датчик жидкости в котле. Датчик жидкости при перекачке. Производительность - от 20л до 1000л. Управление аэрацией, вирпулом, помпой, резервный выход. Настраиваемый PID, под разные емкости (beta), USB для обновления софта, в скором будущем - дистанционное управление с iPhone/iPad. Сейчас можно управлять с компа, с экрана монитора, даже через интернет.
Начнем. Сначала я выбрал в магазине корпус. Цены очень разные. Выбрал приемлемый по размеру и цене, забегая вперед, скажу, что начинка влезла на пределе, в меньший корпус не поместилась бы:

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


С конфигурацией определился, нижний ряд кнопок оставлен на будущее, под расширение возможностей:

Наклеил малярный скотч и нарисовал карандашом разметку.

Дело за малым. Вырезать отверстия. Прямоугольные делались электролобзиком, пилкой с самым мелким зубом. Круглые - ступенчатым сверлом-ёлочкой. Мелкие круглые - дрелью.

Все отверстия обрабатывались напильником.

И покрасил. Замечу, сделал я это зря, краска нещадно откалывается при любом контакте. Красил на 3-4 слоя. Грунт не использовал.

Подождал сутки, когда высохнет краска и разместил элементы.


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

С обратной стороны.

Внутри.

В сборе.

Проверка электроники.

Набросал очень сложную схему, без схемы - никуда!

Подключил все и припаял. Пошагово не снимал, не до этого было.

Еще один вид. Каждую компрессионною клемму я пропаиваю.


Розетки на исполнительные устройства.

SSR реле. Использовал двух номиналов и разных производителей, так интереснее.

Вот, что получилось. Кнопки выбора поставил другие, более удобные и зеленые, так, я думаю выглядит красивее, а то красного слишком много:)


Немного прибрался на столе и на тест! Вместо ТЭН, нагрузкой и нагревающим элементом является винтажная настольная лампа.

Наклеил таблички на Момент Кристалл. Таблички специальные, заказанные в фирме. Бывают двух видов Гравертон и Гедаколор, отличаются по цене, качеству и стойкости. Какие у меня, уже и не помню. И все готово!


А тем временем, на столе уже ждет новый мозг с новыми возможностями для новейшей разработки! :)

Следующий этап, подбор компонентов для варочника и окончательная постройка. Но об этом в следующей части

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

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

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

Попрошу прощение за качество фоток, все делалось на телефон. Спасибо всем, кто дочитал до конца!

Для тех, кого заинтересовало домашнее пивоварение,

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, на пределе , лучше использовать более сильное)
Заливается вода, засыпается солод.
Включается устройство.
Сразу начинается подъем температуры до первой паузы, по достижению тэн и насос отключаются.
Включается таймер. Происходит поддержание температуры, по окончании времени, происходит подъем температуры до след паузы и т.д.

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

В 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

Никто вам не запрещает спаять собственную плату и самому же её запрограммировать с помощью низкоуровневых языков. Однако автоматика на ардуино и готовых микроконтроллерах значительно облегчит весь процесс и сэкономит время. Ведь куда проще купить уже готовый продукт с набором библиотек и приспособить его под свои задачи. А доступная автоматика на ардуино мега 2560 может пригодиться во многих сферах жизни, от голосовых выключателей для умного дома и до электрических щеколд с детектором движения. Главные преимущества, которыми славится именно автоматика ардуино, это:

  1. Низкий порог вхождения. Нет необходимости получать образование инженера, достаточно просмотреть пару обучающих видео и иметь базу в программировании.
  2. Большое количество уже заготовленных библиотек. Ардуино применяется на просторах СНГ многими любителями робототехники, вплоть до того, что производство различной электроники становится их хобби. Соответственно, и в сети пользовательское сообщество крайне активно, размещает большое количество заготовок и готово вам помочь в решении любых проблем. Качество библиотек, из-за низкого порога вхождения, страдает, но никто не запрещает создать свою собственную, достаточно изучить семантику языка С++ или использовать уже готовые трансляторы.
  3. Большое количество периферии. Неважно, необходима вам автоматизация теплицы на ардуино или датчик освещённости, вы найдёте любые модули, вплоть до датчиков звука и распознавателей голоса. Да, часть плат стоит немалых денег, но всегда можно найти дешёвые аналоги, например, модуль wi-fi от сторонних производителей esp8269, стоящий в 10 раз дешевле официального.
  4. Большое количество информации. Любая проблема, с которой вы столкнулись, уже была у кого-то, и вы наверняка найдёте её решение в Гугле. Существует и полноценная литература, с которой можно ознакомиться.

Однако не стоит думать, что у Ардуино нет изъянов. Плата славится своей низкой производительностью. В особо сложных задачах и при большом количестве кода время отклика может достигать 1 секунды, что непозволительно для микроконтроллеров. Флеш-память у большинства модулей не превышает 1 Мб, чего недостаточно для создания нейросетей или использования медиафайлов. Конечно, можно подсоединить вспомогательную карту памяти, но это же увеличивает время отклика, забирает дополнительные ресурсы на её питание и делается полукустарным способом.

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

Пример автоматизации процессов на основе мк Arduino

Простейшим примером автоматизации процесса может стать теплица на ардуино. Чтобы создать любую систему, стоит чётко расчертить задачи, которые та должна выполнять. На примере теплицы, это будет:

  1. Создание специального климата.
  2. Своевременное включение и выключение освещения.
  3. Своевременный полив растений и удержание влажности воздуха на одном уровне.

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

  1. Датчик температуры. Он будет следить за тем, чтобы воздух не нагревался и не охлаждался, находясь в прописанных программой пределах. В случае изменения температуры плата будет включать кондиционер или электронные батареи.
  2. Датчик освещённости. Конечно, можно ограничиться программным решением и прикупить дорогостоящие лампы с имитацией дневного света. Но если вы хотите создать полноценную теплицу, то куда удобнее будет установить автоматический потолок, который будет контролироваться Ардуино.
  3. Датчик влажности. Здесь всё так же, как и с температурой, по прописанному сценарию, плата будет включать опрыскиватели и увлажнители воздуха, при необходимости.

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

Программирование мк Arduino для автоматизации процессов. Пример

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: