Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Автоматика Самовар

Форум самогонщиков Вопросы по электр(он)ике
1 2 3 4 ... 99 1
lkosoj Куратор Видное 391 405
31 Марта 21, 00:27
Хочу поделиться с вами проектом "Самовар". Проект реализован на ESP32.

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

ESP32 контролирует 5 температур, управляет 4 реле (через них включает через пускатель нагрев куба, открывает клапан подачи воды), управляет шаговиком с насосом для отбора из РК, управляет сервоприводом для фракционного отбора (10 + 1 емкость), работает с экраном и энкодером, работает через веб-сервер ESP32, сохраняет у себя лог погона, на своем веб-сервере рисует графики по логу (5 температур, давление, скорость отбора), работает через Blynk - можно удаленно с телефона смотреть за всеми параметрами и управлять основными функциями. Сохраняет лог в облако с возможностью в онлайне смотреть логи с сервера www.samovar-tool.ru
Еще одна возможность: можно задавать программу отбора на весь погон. В программе отбора можно указать в какую емкость, какой объем, в каком температурном режиме отбирать текущую часть погона. Может управлять по UART регулятором мощности для управления нагревом в кубе. Напряжение регулятора задается в программе отбора.

Самовар может обеспечить отслеживание следующих аварийных ситуаций в процессе работы:
1.Если превышена заданная в скетче температура в кубе, Самовар выключит регулятор напряжения, и отправится сообщение об ошибке.
2.Если превышена заданная в скетче температуры пара, Самовар выключит регулятор напряжения, и отправится сообщение об ошибке.
3.Если будет превышена заданная в скетче температура воды, и используется регулятор напряжения, Самовар понизит напряжение, и отправит сообщение об ошибке. Если через 20 секунд температура воды будет еще превышать заданную, Самовар еще понизит напряжение на регуляторе. И так, пока температура не упадет ниже заданной, или не превысит критическую температуру, при которой Самовар отключит регулятор напряжение, и отправит сообщение об ошибке.
4.Если установлен датчик уровня жидкости на трубочке уровня на голове РК, Самовар, при срабатывании этого датчика более чем на 5 секунд, при подключенном регуляторе напряжения понизит напряжение на регуляторе, и отправит сообщение об ошибке. Если через двадцать секунд датчик уровня жидкости будет продолжать показывать наличие жидкости выше узла отбора, Самовар будет скидывать напряжение, пока датчик не перестанет срабатывать. Каждое снижение напряжения на регуляторе будет сопровождаться оповещением.
5.Если установлен датчик потока на выход воды охлаждения, он не только показывает скорость расхода и общий расход воды. Самовар так же с его помощью контролирует наличие постоянного расхода воды. Если расхода воды нет в течении 20 секунд – выключится регулятор напряжения, и отправится сообщение об ошибке.

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

Для работы всего функционала необходимо подключение к интернету. Без интернета не будет работать Blynk, лог не будет сохраняться в облако и не будут строиться графики (библиотека для графиков грузится из сети, она большая, ее на внутренней памяти ESP32 не сохранить). Все остальное будет работать.

Проект открытый, разводка платы, скетч, модели для печати, все доступно в открытом доступе.
Файлы проекта доступны на гитхабе https://github.com/LKosoj/Samovar

Единственная просьба - если будете делать под себя и что-то добавлять/изменять - рассказывайте пожалуйста об этом, чтобы можно было все собрать в одном месте.
И главное! Не смотря на то, что многое автоматизировано, присутствие оператора рядом с колонной обязательно! Автоматика позволяет упростить отбор, но сама ничего не сделает.

В проекте использовались:
ESP32 30 pin
Servo SG90
Encoder
Stepper drive
Toggle switch
Perestaltic pomp
Contactor
Wattmeter
DS18b20 x 4
GX16-3 (3A+3B) x 4
Silicone tube
BME680 (можно заменить на BME180, BME280, для этого надо будет заменить библиотеки)
LCD 2004 I2C
Stepper driver A4988
XKC-Y25-PNP 5-12V

Стоимость железа на ali без пересылки ориентировочно 100 - 200 USD в зависимости от набора функций. Плюс печать на 3d принтере, если хочется красиво.

Схема
Samovar_bb.png
Samovar_bb. Автоматика Самовар. Вопросы по электр(он)ике.

И немного фотографий
IMG_8949.png
IMG_8949. Автоматика Самовар. Вопросы по электр(он)ике.
IMG_8987.png
IMG_8987. Автоматика Самовар. Вопросы по электр(он)ике.
IMG_8989.png
IMG_8989. Автоматика Самовар. Вопросы по электр(он)ике.
IMG_8990.png
IMG_8990. Автоматика Самовар. Вопросы по электр(он)ике.

Вот так выглядит приложение в интерфейсе Blynk
Самовар - 1 из 13.png
Самовар - 1 из 13. Автоматика Самовар. Вопросы по электр(он)ике.
Самовар - 2 из 13.png
Самовар - 2 из 13. Автоматика Самовар. Вопросы по электр(он)ике.

Так - в браузере
Самовар - 6 из 13.png
Самовар - 6 из 13. Автоматика Самовар. Вопросы по электр(он)ике.
Самовар - 5 из 13.png
Самовар - 5 из 13. Автоматика Самовар. Вопросы по электр(он)ике.


И небольшое видео от форумчанина, собравшего себе Самовар:
Автоматика. Своими руками: космос винокурения за не очень много денег и прямые руки

Напишу небольшой план по дальнейшему развитию Самовара:

1. Исправить ошибку - не выключается мешалка в режиме Пиво после включения. Ошибка не подтвердилась.
2. В режиме Пиво в строку программы добавить выбор, какой температурный датчик использовать для управления нагревом (нужно для реализации различных варочных порядков). Будет добавлена возможность выбора 5 датчиков.
3. Увеличить время работы насоса в режиме самотестирования (не хватает времени на прокачку воды)
4. Исправить скетч "простого регулятора мощности" Stab-avr для корректной работы с Самоваром, сейчас периодически он теряет команды от Самовара и не корректно отвечает на запросы Самовара.
5. Добавить в режиме Пиво возможность управления автоматическим добавлением хмеля на основе шагового двигателя. Начальная позиция выставляется руками.
6. Сделать 3Д-модель для печати автомата по добавлению хмеля.
7. Сделать возможность работы Самовара в режиме точки доступа, чтобы можно было использовать без роутера и интернета. На текущий момент такая возможность есть, но не штатная, и работает через раз. Функционал добавлен в 6.14.
8. Проверить наличие проблемы в вызове setCurrentPower(maxPower) в Lua Работает
9. В режиме Пиво и Дистилляция сделать сохранение программы и текущего статуса выполнения программы в текстовые файлы, аналогично тому, как это реализовано в режиме Ректификация.
10. На экран режима Дистилляции и Пиво вывести показания всех датчиков температур.
11. В Lua добавить возможность регулирования производительности насоса воды. Добавлена функция setPumpPwm(p), p=0 - насос выключен, p=1023 - максимальная производительность.
12. Сделать возможность отключения контроля датчика протока воды в настройках.
13. Добавить опцию в настройки - не понижать мощность при кипении в режиме Пиво.
14. Добавить опцию в настройки - использовать при ректификации датчик уровня флегмы. добавлено в 6.11
15. Шрифт текущей мощности ТЕН-а сделать крупнее. добавлено в 6.11 с помощью ais77
16. Добавить опцию в настройки в режиме дистилляции - время в минутах для прекращению дистилляции, при условии, что значение датчика куба не меняется. Если 0, то время не учитывать. добавлено в 6.11
17. В режим Пиво добавить ручное управление насосом охлаждения (на текущий момент можно использовать скрипты Lua [сообщение #14016944]) добавлено в 6.11
18. Добавить датчик давления. В настройках сделать предельное давление, при котором включать аварийный режим. добавлено в 6.12
19. Вывести показания всех датчиков температуры на дисплей Самовара (сейчас это зависит от режима). добавлено в 6.12
20. Датчик ТСА использовать как элемент группы безопасности на всех режимах. Можно будет подключать его к сбросовым клапанам ПВК, автоклава и прочее. Как на дистилляции, так и на ректификации.
21. Проверить. Режим "Пиво". Программа брожение. Статус. - Выключено. Но при этом нагрев включен и работает . Программа выполняется.
22. Изменить работу с кнопками Lua

Если у вас есть еще какие-то пожелания, или я что-то из того, что обсуждали в личке, забыл упомянуть, напишите пожалуйста.

Зачеркнутое - доступно в версии 6.10 и старше.
сообщения удалены (2)
cxx Магистр Домодедово 278 154
Отв.1  31 Марта 21, 11:25
забыл ссылку на гитхаб) https://github.com/LKosoj/Samovar
lkosoj Куратор Видное 391 405
Отв.2  31 Марта 21, 11:31, через 7 мин
забыл ссылку на гитхаб)cxx, 31 Марта 21, 11:25
Есть текстом в первом сообщении Улыбающийся
Ссылки пока не могу вставлять на форум
cxx Магистр Домодедово 278 154
Отв.3  31 Марта 21, 12:16, через 45 мин
А слона то я и не увидел) Жаль с вакуумом не работает а так да, вполне прилично все.
сообщение удалено
lkosoj Куратор Видное 391 405
Отв.4  31 Марта 21, 13:14, через 59 мин
автоматика должна обеспечивать нагрев с охлаждением (раз), отбор продукта (два) и безопасность процесса (три)
Желательно с автоподстройкой под железо, с минимальным участием человека в этом процессе)))игорь223, 31 Марта 21, 12:39
первое обеспечивает отдельный блок - регулятор напряжения, и водопровод, Самовар может ими управлять Улыбающийся, второе и третье - непосредственно сам Самовар.
Датчики висят на одной шине и их х нужно прописывать или каждый имеет свое четкое место в системе?игорь223, 31 Марта 21, 12:39
Висят на одной шине, адреса прописываются в настройках
Все четыре силовые и контактные?игорь223, 31 Марта 21, 12:39
Наверное зависит от того, какие реле поставить Улыбающийся, у меня стоят силовые и контактные. Одно реле управляет пускателем для управления регулятором.
то есть это шаговик вращения головки перестальтики отбора, верно?игорь223, 31 Марта 21, 12:39
Верно
вещь абсолютно бесполезная, но вопрос - есть ли обратная связь по положению головки?игорь223, 31 Марта 21, 12:39
На такое категоричное заявление могу только сказать - кто понимает, о чем идет речь - использует Улыбающийся. Сервопривод сам обеспечивает точность позиционирования. Это заложено в конструкцию сервопривода.
мощность нагрева задается или напряжениеигорь223, 31 Марта 21, 12:39
В моем варианте задается напряжение, так как мой регулятор использует регулировку по напряжению. При этом в интерфейсе Самовара показывается мощность (знаем напряжение, знаем сопротивление тена - знаем мощность). Сделать сопряжение с другим регулятором и принципом регулирования не сложно (если регулятор позволяет внешнее управление). Так же можно управлять РМ-2, но управление ограничено вкл/выкл, и вкл разгон/выкл разгон
Что это за входа, явно не описаные в преамбуле? Аналоговые - уровня - цифровые?игорь223, 31 Марта 21, 12:39
Аналоговые, работают на замыкание.
Есть ли еще неявно описанные входа-выхода?игорь223, 31 Марта 21, 12:39
Все отражено на картинке Схема в начале темы.
сообщения удалены (17)
serjrv Кандидат наук Камышин 382 202
Отв.5  01 Апр. 21, 12:59
lkosoj, а зачем в качестве датчика давления применил BME680? Вполне достаточно BMP180 или BMP280, с ними прекрасно работает библиотека http://iarduino.ru/file/227.html, тип датчика (180/280) определяет автоматом.

Ну и немного не понял зачем на контроль поворота энкодера 2 прерывания? Вполне хватает одного на изменение сигнала к примеру по CLK, код примерно такой:
  if ( *portInputRegister(digitalPinToPort(11)) & 8 ) encoder_CLK |= 0x01;
  else encoder_CLK = 0;
  if ( *portInputRegister(digitalPinToPort(9)) & 2 ) encoder_DT |= 0x01;
  else encoder_DT = 0;
 
  if ((!encoder_CLK) && (encoder_CLK_prev)) {
    if (encoder_DT) encoder_Data++;
    else encoder_Data--;
  }
  encoder_CLK_prev = encoder_CLK;

естественно с поправкой прямого обращения к регистрам (portInputRegister) под ESP32.
lkosoj Куратор Видное 391 405
Отв.6  01 Апр. 21, 13:08, через 9 мин
а зачем в качестве датчика давления применил BME680?serjrv, 01 Апр. 21, 12:59
Ответ прозаичен, он у меня был, я его поставил Улыбающийся
Вполне достаточно BMP180 или BMP280serjrv, 01 Апр. 21, 12:59
Да, их достаточно, на текущий момент можно без проблем использовать BME680, BMP180, BMP280 или BME280, так как у них распиновка одинакова. Выбрать используемый датчик можно в скетче, в файле Samovar_ini.h

//Необходимо выбрать, какой используется датчик давления, и оставить только одну строку. Другие строки должны быть закоментиированы.
//#define USE_BMP180                        //использовать датчик давления BMP180/BMP085
//#define USE_BMP280                        //использовать датчик давления BMP280
//#define USE_BME280                        //использовать датчик давления BME280
#define USE_BME680                          //использовать датчик давления BME680

Про такую библиотеку не знал, спасибо, буду иметь в виду.
сообщения удалены (8)
aisman Студент Москва 28 8
Отв.7  01 Апр. 21, 16:55
О, давно ждал подобного, спасибо! Огромный благодарень за open source, гит себе склонил уже, пока железки дойдут, туда-сюда ) У меня есть автоматика, но мне очень, очень не хватает дистанционного мониторинга, хотя бы из соседней комнаты. web камеру не предлагать)
сообщения удалены (78)
lkosoj Куратор Видное 391 405
Отв.8  05 Апр. 21, 19:25
Для информации.
На текущий момент стоимость всех деталей, необходимых для сборки Самовара с доставкой из Китая ориентировочно - 7900 (можно исключить не востребованные под ваши задачи, получится дешевле).

Можно заказать 3D печать в вашем городе (если он, конечно, есть на этом сервисе) по этой ссылке https://3dprint.alexgyver.ru. Цена договорная. Буквально сегодня, удалось договориться за 200 рублей за печать двух деталей для узла разбора, что на мой взгляд, совсем не дорого.
сообщения удалены (24)
lkosoj Куратор Видное 391 405
Отв.9  09 Апр. 21, 15:44
Самовар может управлять насосом через ШИМ с помощью PID-регулятора (но это еще тестируется)lkosoj, 03 Апр. 21, 22:10
Протестировано. Управляет, температуру воды держит +-1 градус.

почему в алгоритме не реализована защита по превышению температуры в ТСАserjrv, 02 Апр. 21, 12:19
Добавлен датчик температуры в ТСА. При превышении заданного предельного значения отключится нагрев колонны.

Так же контролируется работоспособность температурных датчиков: если датчик не возвращает значения больше 10 секунд, Самовар известит о проблеме с датчиком. Если проблема не будет устранена, уведомления будут приходить раз в две минуты.

Добавлено через 64дн. 6ч. 3мин.:

Давно не обновлял тему. Отпишусь о новинках.
Добавил еще два режима работы: "Дистилляция" и "Пиво".

В режиме "Дистилляция" греет куб до заданной в настройках температуры и выключится. При этом контролирует наличие воды в охладителе и ее температуру. В случае ошибки по потоку воды или по температуре - выключит нагрев.

В режиме "Пиво" можно задать программу температурных пауз, кипения и охлаждения. Нагрев до заданной температуры будет идти на полной мощности регулятора напряжения, перед заданной температурой регулятор напряжения переключится на пониженное напряжение (задается в настройках) и будет поддерживать заданную температуру, используя PID. Кипение так же поддерживается при пониженном напряжении.
Режим "Пиво" так же можно использовать для затирания зерна и для су-вид.

Обновленный скетч доступен на GitHub, там же доступна дополнительная информация.
lkosoj Куратор Видное 391 405
Отв.10  02 Сент. 21, 19:20
Что нового:
Существенно переработан дизайн. Добавлен расчет программы отбора для режима "Ректификация, а так же программы затирания в режиме "Пиво".
При ректификации реализовано автоматическое поддержание эмульгационного режима (предзахлеб).
Добавлена поддержка управления по UART трех реализаций регуляторов напряжений.
Готовится справка по использованию Самовара.
2021-09-02_19-08-47.png
2021-09-02_19-08-47. Автоматика Самовар. Вопросы по электр(он)ике.
2021-09-02_19-09-23.png
2021-09-02_19-09-23. Автоматика Самовар. Вопросы по электр(он)ике.
2021-09-02_19-10-38.png
2021-09-02_19-10-38. Автоматика Самовар. Вопросы по электр(он)ике.


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

Добавлено через 64дн. 22ч. 36мин.:

Добавлен полуавтоматический режим управления бражной колонной.
lkosoj Куратор Видное 391 405
Отв.11  22 Дек. 21, 13:00
Версия 4.05 поддерживает сохранение логов Самовара в облаке, а так же просмотр графиков, загрузка лога, сообщения Самовара в процессе работы, причину предыдущей перезагрузки, и описание.
Для того, чтобы использовать этот функционал, необходимо раскомментировать (убрать символы //) в строке #define USE_MQTT в файле Samovar_ini.h, и зарегистрироваться на сайте www.samovar-tool.ru
/#define USE_MQTT  //использовать сохранение логов в облако. Для этого необходимо зарегистрироваться на сайте www.samovar-tool.ru и в редактировании своего профиля указать токен Blynk. Все логи и сообщения Самовара будут сохраняться и будут доступны через меню - Пользователь - Логи.
lkosoj Куратор Видное 391 405
Отв.12  23 Дек. 21, 00:07
Вот так выглядит реальный лог в процессе работы (прямо сейчас идет процесс)
https://www.samovar-tool.ru/logi/?id=80&chart=1
Another_Redneck Студент Город 14 3
Отв.13  30 Дек. 21, 05:24
Скажите, а на Алкодистиллерз проект продолжается? Тему поддержки закрыли. Это модераторы сделали?
В любом случае можно с не меньшим успехом и здесь общаться.
В ближайшее время начну сборку и отработку в тестовом режиме.

Спасибо за проект! С наступающим и всех благ!
lkosoj Куратор Видное 391 405
Отв.14  30 Дек. 21, 08:50
Проект продолжается.

Добавлено через 27мин.:

Всех с наступающим!
Likhoslav Магистр Тверь 232 98
Отв.15  30 Дек. 21, 11:52
Скажите, а на Алкодистиллерз проект продолжается? Тему поддержки закрыли. Это модераторы сделали?Another_Redneck, 30 Дек. 21, 05:24
Тебя еще не выгнали оттуда? Тогда срочно учись делать "ку" и надень цак. Автору Самовара там иголки под ногти загоняли, требуя признания в двойном гражданстве.
Another_Redneck Студент Город 14 3
Отв.16  30 Дек. 21, 14:57
Тебя еще не выгнали оттуда?Likhoslav, 30 Дек. 21, 11:52

У Ивана похоже проблемы с психикой. Не может спокойно общаться, срывается на оскорбления и мат. И многие его поддерживают. А некоторые свои склоки затевают.

Так что читать - читаю, образовываюсь, а общаться уже не очень хочется.

Думаю, что Иван угробит свой форум.
lkosoj Куратор Видное 391 405
Отв.17  04 Янв. 22, 12:41
Там меня обвинили в том, что проект коммерческий Улыбающийся забанили и удалили тему.
Хотя я и тут, и там много раз писал, что он не коммерческий и никогда коммерческим не будет.
На всякий случай повторю еще раз
Проект не коммерческий и никогда коммерческим не будет.
Все обсуждение переносится сюда.
maikl9999 Новичок Городок 4 2
Отв.18  04 Янв. 22, 16:10
Проект не коммерческий и никогда коммерческим не будет.lkosoj, 04 Янв. 22, 12:41
Только собрал и запустил твой Samovar и всё-тему удалили, пришлось переходить сюда. В каком месте он коммерческий я так и не понял. Удачи тебе.
lkosoj Куратор Видное 391 405
Отв.19  04 Янв. 22, 16:30, через 20 мин
Ты не одинок, я тоже не понимаю Улыбающийся
Спасибо!