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

Программное обеспечение для термостата ZL 630A R

Форум самогонщиков Вопросы по электр(он)ике
Aksurd Студент Мордор 37 4
15 Авг. 21, 23:21
ZL-630A-R - термостат с двумя датчиками температуры и интерфейсом RS-485 MODBUS.

Выбран именно из-за возможности строить графики температур на ПК и управлять настройками термостата из удобного интерфейса.
Программа написана для OS Linux Ubuntu. Любители Windows могут переписать ПО под свою любимую OS самостоятельно.

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

Скриншоты привожу сразу.

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

Режим "старт-стоп" при отборе голов будет работать только с программой на ПК. Работа термореле возможна как с ПК, так и без него.

Пока все. Исчезнет ограничение на размещение ссылок - дам ссылку на проект.
WhatsApp Image 2021-08-11 at 17.00.18.jpeg
WhatsApp Image 2021-08-11 at 17.00.18.jpeg Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
WhatsApp Image 2021-08-10 at 14.29.07.jpeg
WhatsApp Image 2021-08-10 at 14.29.07.jpeg Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-13_18-27-28.png
Screenshot_2021-08-13_18-27-28.png Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-15_11-40-52.png
Screenshot_2021-08-15_11-40-52.png Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-15_11-41-51.png
Screenshot_2021-08-15_11-41-51.png Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Aksurd Студент Мордор 37 4
Отв.1  16 Авг. 21, 10:46
Пока не набралось 10 сообщений, давайте поговорим о том, что такое интерфейс RS-485 и протокол обмена данными MODBUS.

С точки зрения человека, далекого от схемотехники, интерфейс RS-485 - это два провода, на одном из которых есть положительное напряжение а на другом отрицательное. Опционально может быть подключен и третий провод, "земля". Но это не обязательно.
images 1.jpeg
Images 1. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


Чтобы связать ваш компьютер с устройствами по интерфейсу RS-485, достаточно приобрести недорогой адаптер. Например такой, как показан на снимке.
174c8f9afd30f31a8f2ee504e828836027c11ff34be3f32026c6e61dd4866576.jpg
174c8f9afd30f31a8f2ee504e828836027c11ff34be3f32026c6e61dd4866576. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


Что дает такой подход к организации автоматики? Это позволяет избавиться от знакомства с микропроцессорной техникой типа наборов Arduino.

Существует огромное количество устройств, к управлению которыми можно получить доступ с вашего компьютера через интерфейс RS-485 по протоколу MODBUS.
RS485-5-12-24.jpg
RS485-5-12-24. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
7-RS485-NTC-MODBUS-RTU.jpg
7-RS485-NTC-MODBUS-RTU. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Остается вопрос, как это все программировать. И здесь всё очень не страшно. Можно писать самому, а можно воспользоваться готовой SCADA - программой. В коммерческих SCADA (и их бесплатных версиях с ограниченным числом тегов) сделано всё, чтобы избавить разработчика автоматики от необходимости что-то программировать.

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

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

Потому что все уже сделано за нас. libmodbus - это свободно распространяемая библиотека для работы с функциями MODBUS.

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

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

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

В системах, где нужна надежность, используют программируемые контроллеры - PLC. Это по сути такие же компьютеры, только для других задач. PLC не умеет развлекать вас играми, но может круглые сутки управлять промышленным оборудованием. Пока мы обойдемся без PLC, но отметим, что во время работы оборудования наш настольный компьютер перезагружать будет нельзя, потому что PLC у нас нет.

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

Я по прежнему не могу показать вам исходники программы вот из-за этого замечательного ограничения.

"Внимание! Вы не можете использовать ссылки на другие интернет ресурсы, пока не наберете 10 сообщений!"

Вам тоже кажется, что это напоминает метание бисера?

Добавлено через 1дн. 14ч. 33мин.:

Обещанного десять комментов ждут. Дождались.

https://disk.yandex.ru/d/ISOr-XVXeDRv4Q

Кстати, о комментариях в исходных текстах программы. Их нет. Желающие негодовать могут начинать негодовать.

Пару слов о сути.

Libmodbus - это библиотека, но не программа с пользовательским интерфейсом.

Для того, чтобы пользоваться libmodbus, используется консольная утилита mbClient. Исходники взял готовые, другого автора. Поэтому привожу их как есть.
https://github.com/Krzysztow/modbus-utils

В архиве с проектом TViewMB.zip есть уже скомпилированная программа mbClient. Она нужна для работы графического приложения.

Библиотеку libmodbus5 придется установить.

Как обычно:

sudo apt updade
sudo apt install libmodbus5

Когда вы подключаете преобразователь интерфейса RS-485 - USB, появляется устройство типа такого: /dev/ttyUSB0

Чтобы с ним можно было работать, нужно дать права пользователю, либо добавив пользователя в группу dialout (чтобы это дало эффект, может потребоваться перезагрузка системы), либо изменив права доступа к устройству:
sudo chmod 777 /dev/ttyUSB0

В вашем конкретном случает могут быть различия.

Проверить доступность устройства можно например так:
echo "1" > /dev/ttyUSB0

Если НЕ появилось сообщение Permission denied или другое сообщение об ошибке, значит доступ к устройству есть.

После чего можно пробовать использовать mbClient для чтения регистров вашего устройства modbus.
Screenshot_2021-08-18_08-14-10.png
Screenshot_2021-08-18_08-14-10. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


В документации к прибору ZL-6x0A-R_en_V4.8.pdf есть таблица регистров Modbus. Для любого устройства с интерфейсом Moodbus вам придется искать подобный документ.

Собственно, ссылка на сам прибор:
https://aliexpress.ru/item/32377708086.html

Два температурных канала, реле, возможность регистрировать температуру на компьютере и всего за 1600 рублей. Ну разве не прелесть?
Aksurd Студент Мордор 37 4
Отв.2  18 Авг. 21, 13:47
Ну вот ради чего всё и затевалось.
Красная линия - термодатчик в узле отбора.
Синяя - термодатчик под теплоизоляцией царги, установленный на 3/4 от её высоты (вверху).
Посмотрим, что покажет.
5 литров СС 40% разбавленного таким же количеством воды.
Мощность 1200Вт.
Царга 1 метр 2", СПН 3,5 мм.

Калькулятор показывает температуру кипения спирта 77,6 при атмосферном давлении 739.
Температура в узле отбора установилась 76,9.
Screenshot_2021-08-18_13-37-31.png
Screenshot_2021-08-18_13-37-31. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-18_13-41-25.png
Screenshot_2021-08-18_13-41-25. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.

Добавлено через 2мин.:
Screenshot_2021-08-18_13-51-49.png
Screenshot_2021-08-18_13-51-49. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.

Температура упала на 0,2. Это мы делаем вид, что термостабилизируемся, видимо. Фракции по полочкам выстраиваем.

Дам поработать колонне "на себя" примерно час. Многовато, наверное, но пусть.

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

При ближайшем рассмотрении видно, что что снижение температуры происходило практически мгновенно.
Screenshot_2021-08-18_13-58-31.png
Screenshot_2021-08-18_13-58-31. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Наверное, сделаю для начала так:
60 секунд открытия клапана при цикле 600 секунд.
Screenshot_2021-08-18_14-17-00.png
Screenshot_2021-08-18_14-17-00. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Температура стабилизировалась и явно никуда не собирается.
Screenshot_2021-08-18_14-19-23.png
Screenshot_2021-08-18_14-19-23. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

При том, что минут за двадцать до это было изменение атмосферного давления, только сейчас произошел скачек температуры. +0,2.
Это после четвертого отбора.
Screenshot_2021-08-18_14-53-10.png
Screenshot_2021-08-18_14-53-10. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.

Если верить сайту метеостанции, то это уже спирт. Но пусть ещё сольется их трубки до клапана и опять же, "органолептика", то есть будет вонять или нет субъективно.
Пропущу еще пару циклов, минимум.
Screenshot_2021-08-18_14-53-10.png
Screenshot_2021-08-18_14-53-10. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Запах, кстати, по прежнему жутко химозный.
Изменения температуры в узле отбора видны на графике.
Еще раз о цели исследования. Есть такая зависимость температуры и отбираемых фракций в режиме "ШИМ", или нет.
И если, внезапно, есть, то как этим пользоваться?
Screenshot_2021-08-18_15-05-25.png
Screenshot_2021-08-18_15-05-25. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

На данный момент в мензурке 45 мл голов.

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

65 мл. Перед закрытием клапана понюхал - все ещё ацетон.

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

Случилось очередное "историческое" событие. Температура в узле отбора повысилась на 0,1 градуса и стала 77,0.
Атмосферное давление по данным метеостанции все еще 728. И если им верить, то
температура кипения спирта 76.9, то есть колонна практически вышла на "спиртовую полку"? Продолжаем наблюдение.
Screenshot_2021-08-18_15-18-55.png
Screenshot_2021-08-18_15-18-55. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

В "исторической ретроспективе" вся эта история выглядит вот так. Атмосферное давление корректировал один раз по данным метеостанции (см. выше).
Screenshot_2021-08-18_15-30-11.png
Screenshot_2021-08-18_15-30-11. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Только что слилось ещё 20мл жидкости. Менее вонючей, но как раз для стеклоомывателя.

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

Срочная новость(С)
Температура растет.
Screenshot_2021-08-18_15-40-58.png
Screenshot_2021-08-18_15-40-58. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


Если метеостанция не врет, давление прежнее. 728.0мм.рт.ст.

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

Очередной цикл отбора. Уже не ацетон, но всё ещё резкий запах. Понимаю, что надо было бы добавить счетчик циклов в программу. Но не догадался. СС ещё есть, та что почему бы и нет в следующий раз.
А вообще, датчик атмосферного давления нужно ставить свой. Это примерно 3-4 килорубля. Потому что онлайн-сервисам, особенно метео, верить можно, но нужно ли?

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

Атмосферное давление падает. Но пока что в пределах погрешности и округляя, оставим в калькуляторе 728.
Screenshot_2021-08-18_15-58-32.png
Screenshot_2021-08-18_15-58-32. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Температура в узле отбора по жидкости без изменений.
Screenshot_2021-08-18_16-01-24.png
Screenshot_2021-08-18_16-01-24. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Клапан сработал. По запаху пока что всё ещё - стекломой.

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

Если это кому-нибудь интересно, термодатчик под теплоизоляцией царги - без изменений за все это время.
Screenshot_2021-08-18_16-20-48.png
Screenshot_2021-08-18_16-20-48. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Атмосферное давление продолжает падать.

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

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

В комментарии призываются эксперты по давлению.

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

После очередного сброса голов клапаном.
Внезапно стала падать температура на царге.

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

Эксперты, не прячьтесь. Ваше мнение важно для всех.

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

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

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

Жаль, что уважаемые эксперты форума не дали своих бесценных советов. Но, будем надеяться, что у них все ещё впереди.
Screenshot_2021-08-18_17-18-47.png
Screenshot_2021-08-18_17-18-47. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-18_17-19-22.png
Screenshot_2021-08-18_17-19-22. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

Собственно, пошел спирт.
Всем спасибо за внимание и за своевременное вынимание.


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

Автоматическая отсечка хвостов выглядит так. На синем графике видно, как хвосты поднимаются наверх, повышая температуру.
Screenshot_2021-08-18_20-29-22.png
Screenshot_2021-08-18_20-29-22. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.

Screenshot_2021-08-18_20-35-34.png
Screenshot_2021-08-18_20-35-34. Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.


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

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

Видимо, без собственного датчика атмосферного давления в системе управления, никак не получится заранее предугадать температуру спиртовой полки.
Программное обеспечение для термостата ZL 630A R
Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.

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

Нужно ли с этим возиться или нет? Сказать сложно. Имея ясную картину отбора голов, можно было бы сократить время отбора. Но насколько это нужно? Выгода может быть крайне небольшой.

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

Полки
1 76,7
2 76,9
3 77,0
4 77,2 - спиртовая.

Допустим, что при одном и том же составе СС (из сахарной браги) состав "голов" будет примерно одинаковым.

Тогда от первой полки (стабилизация колонны после работы "на себя") расстояние до спиртовой полки составляет +0,5 градуса.

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

T1 - первая полка после работы "на себя"
T2 = T1 + 0,2
T3 = T2 + 0,1
T4 = T3 + 0,2 - спиртовая полка
Итого: +0,5

В данном случае было бы любопытно использовать термометр с разрешающей способностью (а еще лучше с точностью) 0,01 градус.
Но стоят такие приборы весьма дорого.
Screenshot_2021-08-18_16-29-00.png
Screenshot_2021-08-18_16-29-00.png Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-18_16-29-24.png
Screenshot_2021-08-18_16-29-24.png Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-18_16-55-44.png
Screenshot_2021-08-18_16-55-44.png Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.
Screenshot_2021-08-18_16-55-00.png
Screenshot_2021-08-18_16-55-00.png Программное обеспечение для термостата ZL 630A R. Вопросы по электр(он)ике.