Smart Distiller (Умный дистиллятор с управлением по интернет)
Предыстория
Заняться этой темой меня подтолкнули коллеги Ruslanmaz и Andrey_33, которые в теме Aндроид предложили управлять перегонным процессом с Android да еще через блютуз. Схема измерения и управления при таком подходе получается несложной, весь алгоритм управления прописывается в Android. Я уже было схватился изучать, как писать программы под Android, но, поразмыслив и посоветовавшись с грамотными людьми, начал приходить к пониманию, что блютуз даст возможность управлять не далее чем 10 метров от аппаратуры, а программа под Андроид будет требовать наличия моего смартфона в пределах этих 10 метров. И, если случится какой сбой в связи, или, допустим, разрядится аккумулятор смартфона, аппаратура останется в неопределенном состоянии, что чревато нехорошими последствиями. Автоматика, управляющая дистиллятором или ректификационной колонной, должна работать автономно, сама реализовывать алгоритмы управления процессом перегона. Связь же ей нужна для мониторинга состояния дистиллятора и корректировки параметров управления.
Автоматика на базе процессора PIC, предложенная коллегой Andrey_33 в теме Автоматизация на PIC, DS18B20, Bluetooth, Android ещё пока в состоянии создания, да и требует подготовки печатной платы, пайки и программирования под свои нужды, что по силам далеко не каждому самогонщику.
Размышляя далее, пришел к выводу (к которому давно пришел коллега GIVI в теме Автоматика + удалённый контроль через Ethernet/Inet/Wi-Fi и т.д.), что ограничивать контроль только одной операционной платформой типа Android – означает сузить круг коллег, которые смогут пользоваться таким решением.
Для обеспечения кросс-платформенности управления, нужно, чтобы автоматика имела WEB-интерфейс в своем составе и, соответственно, связь с интернетом. WEB-интерфейс доступен через интернет посредством интернет-браузера. Интернет-браузеры реализованы почти на всех платформах.
Такое решение позволит мониторить состояние аппаратуры и управлять параметрами перегонки как со смартфона, так и с планшетника и с компьютера, имеющих доступ в интернет и практически из любой точки планеты.
Первым начал контролировать состояние аппаратуры через интернет коллега Игорь еще в далеком 2008 году. Правда обратная связь у него была через телефонную сеть посредством исполнительного механизма типа жена.
Тему управления через интернет также поднимал коллега KD в теме Аппаратная платформа Arduino для автоматизации наших процессов, только он не написал, что у него из этого вышло.
Требования
Постарался формализовать требования к умной автоматике, что она должна иметь:- набор готовых блоков (чтобы их просто соединить, а не травить платы и не паять);
- аппаратный интерфейс (цифровые и аналоговые входы/выходы);
- готовые программные блоки и решения;
- возможность создания WEB-интерфейса (WEB-сервер);
- несложный программный интерфейс (чтобы почти неподготовленный самогонщик мог самостоятельно реализовать свой алгоритм управления и дизайн web-интерфейса);
- модуль беспроводного подключения к интернету (Wi-Fi);
- доступную цену.
Поиск решения
Наиболее полно этим требованиям отвечает платформа Arduino, тем более что имеет в своем составе WEB-сервер. Она была первой, которая рассматривалась в качестве платформы для реализации умной автоматики.Arduino имеет продуманные аппаратный и программный интерфейсы, много готовых измерительных/исполнительных модулей, огромную кучу решений.
Однако ни разу не гуманный ценник на модуль Wi-Fi шилд резко охладил едва вспыхнувшую страсть к Arduino.
pcDuino
Естественно, что поиски доступного решения пришлось продолжить, и в результате нашлась ардуиноподобная плата pcDuino V2. Даже беглого взгляда на её возможности было достаточно, чтобы забыть ради неё Arduino. Эта кроха представляет собой настоящий одноплатный компьютер, умещающийся на ладони, с предустановленной Linux Ubuntu, одноядерным процессором на 1 гигагерц, оперативной памятью 1 гигабайт, 2-мя гигабайтами флэш-памяти, слотом для microSD до 32 гигабайт.Окончательное решение в пользу применения pcDuino в качестве платформы для умного дистиллятора определило наличие ардуинообразных аппаратного порта и системы подготовки спичей (программ), наличие на борту Wi-Fi и цена чуть больше цены Wi-Fi шилд для Arduino.
pcDuino можно не только легко поставить взамен Arduino, но и использовать шилды и прочие прибамбасы из набора последней.
WEB-сервер, поднятый под Линухом, будет давать куда больше возможностей для WEB-интерфейса, нежели WEB-сервер платформы Arduino. Установка системы управления базами данных (типа MySql) даст возможность хранить много состояний аппаратуры (можно анализировать, рисовать графики).
Для программирования и настройки pcDuino не нужно подключать к компьютеру (он сам компьютер), к pcDuino подключаются монитор (разъем HDMI), клавиатура/мышь (через USB), кабель Eternet. Маленько нудное видео.
Недостатки:
- меньшая, по сравнению с Arduino, нагрузочная способность портов;
- отсутствие русскоязычных проектов на pcDuino.
Решение
Далее я привожу решение для своего дистиллятора, оно может быть другим в зависимости от конкретного устройства дистиллятора/ректификационной колонны и используемых алгоритмов перегона.Аппаратная часть на pcDuino реализуется весьма просто. Для своего дистиллятора, в котором нужно управлять двумя электроклапанами и двумя ТЭНами на основе данных о температуре в различных частях колонны нарисовал такую структуру:
Основа умного дистиллятора – одноплатный компьютер pcDuino V2.
Информация о температурах различных участков колонны получается с цифровых термометров DS18B20 по шине 1-Wire через адаптер с USB-шиной DS9490R (паразитное питание НЕ ИСПОЛЬЗОВАТЬ!!!).
Для включения/выключения электроклапанов и ТЭНов к pcDuino подключается четырехрелейный модуль от Arduino. Контакты реле рассчитаны на напряжение 220V и ток 10A (нагрузка до 2kW).
Совсем без пайки не обойтись, паять придется цифровые термометры DS18B20 к шине 1-Wire, остальное соединяется колодками.
Структура программной части
Для ускорения и упрощения создания умного дистиллятора, основные программы будут использоваться или стандартные или готовые, благо в интернете их полно.Основу составит база данных (скорее MySql), которая будет содержать данные о подключенных устройствах и их прошлых и текущих состояниях.
Драйверы датчиков будут наполнять базу данных (в моем случае) данными о температуре различных частей колонны.
Управление исполнительными устройствами (реле) будет осуществлять отдельная программа, которая периодически запрашивает из базы данных необходимые состояния исполнителей, и включает соответствующие реле.
Алгоритмы управления будут реализованы на скриптовом языке (возможно PHP), чтобы легко можно было их переписать даже неподготовленным самогонщиком. Они также периодически читают из базы показания датчиков и на основе этих показаний записывают в базу новые значения состояний исполнителей.
Графический интерфейс с пользователем реализуется посредством WEB-интерфейса на базе WEB-сервера (типа Apach). Через WEB-интерфейс можно будет не только увидеть состояние дистиллятора, но и изменить параметры управления, вплоть до выключения всех систем.
Схема подключения
Мой дистиллятор имеет два врезанных в куб ТЭНа от старых электрочайников на 1,25 kW, безнасадочную колонну в виде восходящей спирали из нержавеющей гофры, проходной холодильник-дефлегматор, проходной холодильник-конденсатор.На рисунке ниже представлена подробная схема подключения умной автоматики.
В схеме не используются специальные обозначения, чтобы проще было её читать.
Питается автоматика от зарядного устройства 5V через разъем micro USB
Соединение pcDuino с четырехрелейным модулем:
Название | pcDuino | 4 relay module |
5V | J9-5 | VCC |
GND | J9-6 | GND |
Дефлегматор | J11-1 | IN1 |
Конденсатор | J8-8 | IN2 |
ТЭН1 | J8-5 | IN3 |
ТЭН2 | J8-3 | IN4 |
Температура измеряется:
- на выходе из куба;
- под дефлегматором;
- на выходе дефлегматора;
- на выходе конденсатора.
По температуре на выходе из куба не только принимается решение об останове процесса дистилляции, но и регулируется мощность, подаваемая на ТЭНы (путем их периодического включения/отключения).
Данные о температуре под дефлегматором используются в режиме стабилизации/антипены и для корректировки мощности нагрева.
Температура над дефлегматором удерживается стабильной, но разной на режимах стабилизации, отбора голов и отбора тела.
Температура на выходе конденсатора также удерживается стабильной на уровне 20°C.
Что реально
Купил на ebay pcDuino V2, 4 Channel Relay Module Shield 5V For Arduino, DS9490R купил в Tesla Electronics (другие адаптеры не рекомендую применять, например адаптер USB9097 периодически отваливается от pcDuino), и ещё Dupont Wire Color Jumper Cabl 2.54mm 1P-1P Male to Female для соединения pcDuino с четырехрелейным модулем.DS18B20 у меня есть, провода, колодки, вилку тоже найду. В местном магазине купил кабель-переходник HDMI-DVI для подключения pcDuino к монитору, зарядное устройство с кабелем microUSB на 2000 mA для питания pcDuino и USB Hub для подключения мыши-клавиатуры.
Сдвоенный электроклапан от стиралки купил в сервисном центре бытовой техники.
Пока pcDuino и четырехрелейный модуль идут с ebay, у меня есть месяц, чтобы определиться с составом программного обеспечения и научиться программирить pcDuino.
Дальнейший план:
- Развернуть базу данных SQL;
- Найти и установить библиотеки для работы с шиной 1-Wire, написать программу опроса термометров и сохранения данных в базе;
- Написать программу управления реле по данным из базы SQL;
- Написать алгоритмы управления для режимов разгона, стабилизации, отбора голов, тела и хвостов;
- Развернуть WEB-сервер;
- Создать WEB-интерфейс.