1 (2017-06-07 20:43:02 отредактировано d.styler)

Тема: TempMeter для Arduino - описание программы

Пришло время открыть для широкой публики новую инкарнацию программы TempMeter. Сейчас эта программа из просто мониторинговой перешла в класс мониторинговой и управляющей (процессами дистилляции и ректификации).
Итак, новая программа называется TempMeter для Arduino - или TMA. Название сразу указывает что аппаратной частью программного комплекса является широко распространенный микроконтроллер Arduino (в нашем случае - Nano). Информация о том как и что нужно к аппаратной части (а это и микроконтроллер, реле, клапаны и прочее) можно найти в соответствующей теме Инструкция по сборке аппаратного комплекса TMAS-1.0 для автоматизации

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

Итак - приступим.

1. Главное окно программы.
https://alcodistillers.ru/tma/main_window_about.png

Здесь видно, что TMA работает в Винде. Но независимо от ОС (Винда, Пингвин, Мак) - все функции программы и ее интерфейс идентичны. Интерфейс будет знаком тем пользователям которые знакомы с программой TempMeter - здесь видно меню программы, окно с графикой температуры и окно с дисплеями датчиков. Что появилось нового - это дисплей датчика атмосферного давления (опциональный) и его график (под основным графиком температур).
Про интерфейс программы можно сказать что он полностью разработан мной под мои "хотелки" - но я надеюсь что большие дисплеи датчиков будут весьма полезны в нашем деле...
Так же из нового можно отметить возможность работы программы как по проводу (когда ардуина подсоединена через юсб провод), так и через bluetooth (все это можно найти в смежной теме про конфигурации железа).

2. Настройка программы

https://alcodistillers.ru/tma/program_setup.png

Как вы видите для того чтобы программа начала свою нелегкую трудовую деятельность ее нужно настроить. Если вы проверили работоспособность аппаратной части, используя небольшую утилиту ast.jar, то вся настройка в программе сведется к выбору вашего коммуникационного порта. После этого программа должна увидеть подключенные датчики температуры и давления (если он подключен).
Также здесь настраиваютсявысота вашей месности (альтитуда - ищется без бубнов в интернете) - это позволит датчику давления провести преобразование давления именно для вашей высоты.
Опрос датчиков (миллисекунды) - позволяет настроить как часто будут присылаться обновления температуры.
Время конверсии температуры - прараметр присутствует здесь для любителей экстрима... Мою рекоммендация - оставить его без изменения, так как скетч на ардуино сам определяет (по протоколу) точное время окончания конверсии и начинает считывание  температуры немедленно. Если установить это значение ниже чем требуемое время конверсии - это значит начать считывать температуру до окончания конверсии - что при этом считается - только бог знает... Я делал измерения времени конверсии для максимальной точности в 12 бит (0,0625С) - при этом времена были всегда в районе 640-650 мс. Так что думайте сами - довериться алгоритму скетча и считать максимально быстро достоверную температуру или...
Раположение журнала - это директория куда будут сохраняться файлы журналов ректификации. По умолчанию это домашняя директория программы.
Интервал графика - позволяет задать длину графика температур и давления (в минутах).

3. Настройки температурных датчиков

https://alcodistillers.ru/tma/probe_setup.png

Для тех пользованетей кто пользовался или пользуются программой TempMeter этот диалог настройки остался без существенных изменений. Коротко по всем параметрам - думаю они и так понятны.

Отключить датчик - позволяет исключить жтот датчик из использования функциями программы. Это удобно например когда датчики подсоединяются не по отдельности, а спаяны вместе - тогда если например нужно только 2 датчика из 3-х - один можно отключить.
Название датчика - позволяет присвоить датчику свое имя.
Точность датчика - позволяет установить точность датчика (9,10,11,12 бит)
Отобразить на графике - позволяет использовать данные этого датчика для построения графика. Здесь же можно настроить цвет графика.
Журналировать температуру - эта опция позволяет использовать данные этого датчика в журнале ректификации. Само журналирование управляется из главного меню.
Установить аларм - позволяет настроить аларм на какое-то предельное значение температуры. Бывает иногда нужно...
Компенсировать системную ошибку датчика - позволяет скорректировать значение температуры датчика в соответствии с рекоммендациями их производителя.
Исправить температуру датчика - позволяет подстроить (калибровать) датчик под ваши измеренные несоответствия. Например, поместить все датчики в стабильные одинаковые условия и посмотреть разницу показаний - если не соответствуют - ввести коррекцию в этой опции.

4. Дисплеи датчиков

https://alcodistillers.ru/tma/display_panel.png

Небольшое описание дисплеев. Здесь как видно присутсвуют 3 температурных датчика и один датчик давления. Сначала рассмотрим основные компоненты температурного датчика - возьмем для примера датчик "Верх колонны".
Самая верхняя строчка на дисплее - это его название. Если датчику не было присвоено произвольное имя - здесь будет показан его адрес. При первичном запуске все детектированные датчики будут показывать адрес - пока не бутеи введен более понятное имя в его конфигурации.
Далее идет черный дисплей со значением пемпературы. Значение температуры может менять цвет в зависимости от ее изменения. Если температура неизменна в течении какого-то времени - цвет будет желтый, если температура подросла - цвет меняется на зеленый, если упала - на красный. Если сработал аларм - значение температуры будет мигать (примерно раз в секунду).
Также можно видеть что в верхнем правом углу дисплея есть индикатор управления датчика. В нашем примере все три пемпературных датчика имеют активное управление (зеленый цвет). Индикатор может менять цвет в зависимости от состояния управления:

  • индикатора нет - управление отключено

  • индикатор зеленый - управление включено, но неактивно

  • индикатор желтый - управление включено и мониторит температуру

  • индикатор красный - управление включило управляемое устройство (реле) и мониторит температуру

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

5. Конфигурация управления

https://www.rilax.net/images/alcodistillers/tma/ug/probe_control.png

Это диалог управления для датчика температуры - в данном случае это датчик "Верх колонны".
Немного описания всех доступных опций.
Датчик под контролем -- это имя датчика для которого конфигурируется управление.
Управляемый вывод ардуино -- это номер пина который управляет неким устройством типа реле. Пронрамма будет включать и выключать управление для этого пина.
При включении установить вывод -- цифровой пин имеет два уровня - HIGH и LOW. HIGH - на пин подается напряжение, LOW - с пина снимается напряжение и он имеет 0. Эта опция определяет - в какое состояние программа переключит пин когда сработает управление.
Управление включением контроллера - это не опция, а название группы опций которые отвечают за настройки включения управления.
Температура включения -- определяет граничную температуру при достижении и превышении которой срабатывет управление.
Задержка включения -- эта опция позволяет использовать задержку включения управления. Если опция выбрана - можно выбрать значение звдержки. Когда контроллер обнаружит что температура включения достигнута или превышена и определена эта опция он не включает управление сразу а переходит в специальный режим мониторинга с выбранной вами длительностью (индикатор становится желтым). Если по истечении времени задержки температура не упадет ниже температуры включения то контроллер включает управление (индикатор становится красным). В случае если температура снова упадет ниже температуры включения - контроллер снова засыпает, не включая управление (индикатор становиться зеленым).
Макимальное отклонение температуры -- эта опция имеет смысл только вместе с предыдущей. В ситуации описанной выше если в период мониторинга температура увеличится больше чем установленное значение, мониторинг превывается и включается управление.
Учитывать изменения давления -- эта опция пока не реализована. Когда будет реализация - описание будет добавлено.
Включить сигнализацию тревоги -- если включена эта опция то при включении управления будет также включена тревога (аларм). Хочу заметить что если тревога включается то отключить ее можно только вручную - автоманически она не отключится. Ручное отключение делается через меню датчика.
Управление выключением управления -- эта опция делает доступной опции выключения контроллера.
Надо заметить что все опции для выключения управления копируют оные для включения и имеют тот же смысл. Единственная разница что если включение мониторит температуру вверх, то для выключения - вниз. То есть если использовать максимальное отклонение, то оно будет считаться как  температура включения минус максимальное отклонение...
Включить управление -- это глобальный выключатель управления. Если управление не нужно, то его просто здесь выключаем (индикатор управления асчезает из дисплея).

6. Общие замечания по пользованию программой
[TBC]
Тема немного не закончена, будут правки и поправки.

TMA Версия 1.0.13
Лицензия: Бесплатно
Автор: Рудольф Фамиев
Требования: Кроссплатформа 64bit Windows, Linux, Mac OS + Установленная Java
Загрузка программы: tma.jar.zip
md5sum : 22793c9a6a5b0004368ec386b51b65a0
* Обновлено 22.06.20017

TMA Версия 1.0.15
Загрузка программы: tma1015.zip
md5sum: c78cb2cb1389b2e542428397a5b46977
* (версия для тестирования от 18.10.2017)


TMA Версия 1.0.16
Загрузка программы: tma1016.zip
md5sum:   7b83ae2cf2cef41a7830dc204aa451db
Изменения: исправлена работа с уровнями управляющего пина, до этого была ошибка. Отдельное спасибо Дмитрию Piper за обнаружение ошибки и ее тестирование после исправления!
* Стабильная версия

TMA Версия 1.0.17
Загрузка программы: tma1017.zip
md5sum- tma1017.zip
a684016a68d88e1266939edadb46462c
* (версия для тестирования от 17.11.2017)
Изменения: По заявкам пользователей сделана возможность использования температуры включения также для выключения управления в настройке управления датчика. Температура выключения теперь может быть отключена (чек бокс) - при этом ее значение берется из температуры включения.

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

РК: 42мм медь, 1.4м царга. Димрот 3м (8мм). Кубы 30л (кег, тэн 2квт) и 15л (тэн 2.8 квт).
Дистиллятор: на базе РК, поворот 42 в 22, доохладители 90см 1/2" в 3/4" и 4-х трубный 40см 8мм в 3/4". Куб 36л (индукция 3квт).

2

Re: TempMeter для Arduino - описание программы

d.styler,  С почином!  Благодарю тебя от лица всего общества за огромный труд, проделанный для людей!  *DRINK*  *INLOVE*

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

3

Re: TempMeter для Arduino - описание программы

Иван*ROSE*

РК: 42мм медь, 1.4м царга. Димрот 3м (8мм). Кубы 30л (кег, тэн 2квт) и 15л (тэн 2.8 квт).
Дистиллятор: на базе РК, поворот 42 в 22, доохладители 90см 1/2" в 3/4" и 4-х трубный 40см 8мм в 3/4". Куб 36л (индукция 3квт).

4

Re: TempMeter для Arduino - описание программы

d.styler, Иван,
Примите мои самые искренние поздравления с Днем Рождения ТМА!  *DRINK*  *INLOVE*  *YAHOO*

Усилия, которые вы приложили, чтобы «улучшить жизнь» винокура - это неоценимый труд!

Мое почтение!  *ROSE*

Пиво — интеллектуальный напиток. Какая досада, что его пьет так много идиотов.

5

Re: TempMeter для Arduino - описание программы

Alex.bcn, я не разрабатывал этот комплекс, я просто был тестером также как и Николай  [:}

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

6 (2017-06-07 21:40:37 отредактировано Alex.bcn)

Re: TempMeter для Arduino - описание программы

Николя, Иван, (та я знаю  :D ) ок.
Тогда Вас с Днем Рождения ТМА!, а

d.styler, Усилия, которые Вы приложили, чтобы «улучшить жизнь» винокура - это неоценимый труд!, но все ровно:

Мое почтение!

Пиво — интеллектуальный напиток. Какая досада, что его пьет так много идиотов.

7

Re: TempMeter для Arduino - описание программы

Новая Версия 1.0.3  доступна в первом сообщении.  При загрузке программа проверяет открытые порты на доступность, выводится логотип.  Загрузка 3-6 секунд.
Прошивка тоже обновлена.

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

8

Re: TempMeter для Arduino - описание программы

Сегодня очередная «порция» плат приехала. Скоро собирать буду!  *HI*

Пиво — интеллектуальный напиток. Какая досада, что его пьет так много идиотов.

9

Re: TempMeter для Arduino - описание программы

Alex.bcn пишет:

Скоро собирать буду! 

Для тестирования можно на столе собрать без корпуса, F-F провода ускоряют процесс :)   Только все железное и лишнее со стола убирать надо, чтоб на платах ничего не коротнуть.

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

10

Re: TempMeter для Arduino - описание программы

Иван,  F-F уже есть! Голубого зуба нету и датчика давления.
Да, такого беспорядка, как, когда я колонну паял, не будет  :)

Пиво — интеллектуальный напиток. Какая досада, что его пьет так много идиотов.

11

Re: TempMeter для Arduino - описание программы

"железяки" ко мне тоже едут. Скажите, програмка без обвеса запускается? Чет я туплю, или не там читаю.

Справедливость проявляется в воздаянии каждому по его заслугам.
Цицерон

12

Re: TempMeter для Arduino - описание программы

Толян пишет:

Скажите, програмка без обвеса запускается?

Какой обвес имеется в виду?

РК: 42мм медь, 1.4м царга. Димрот 3м (8мм). Кубы 30л (кег, тэн 2квт) и 15л (тэн 2.8 квт).
Дистиллятор: на базе РК, поворот 42 в 22, доохладители 90см 1/2" в 3/4" и 4-х трубный 40см 8мм в 3/4". Куб 36л (индукция 3квт).

13

Re: TempMeter для Arduino - описание программы

d.styler пишет:

Какой обвес имеется в виду?

да все, датчики и т.д. Просто файлик запустить, он что то должен показать, у меня пустое окно

Справедливость проявляется в воздаянии каждому по его заслугам.
Цицерон

14 (2017-06-10 00:05:58 отредактировано al)

Re: TempMeter для Arduino - описание программы

Толян пишет:

да все, датчики

На USB порт нужен UART c хотя бы одним датчиком DS 18B20.

Алкоголь не помогает найти ответ,
он помогает забыть вопрос!

15

Re: TempMeter для Arduino - описание программы

al пишет:

На USB порт нужен UART c хотя бы одним датчиком DS 18B20.

распиновка как и на темпкепер? Если да, то и с ним не запускается.

Справедливость проявляется в воздаянии каждому по его заслугам.
Цицерон

16

Re: TempMeter для Arduino - описание программы

Толян, Tx и Rx  объединяешь и через резистор 4,7 кОм на +5В, Питание +5В и Землю на DS 18B20 подаешь , а данные на Tx+Rx.

Алкоголь не помогает найти ответ,
он помогает забыть вопрос!

17

Re: TempMeter для Arduino - описание программы

Толян, блин, тему читал  Инструкция по сборке аппаратного комплекса TMAS-1.0 для автоматизации ?
Там указано куда и где делать расстановку и все остальное - очень досконально...
Ардуина подсоединена? Прошита скетчем? Порт выбран в настройках программы? Если нет ни одного датчика - что можно еще в программе смотреть кроме пустого окна? Все равно ничего делать нельзя...

РК: 42мм медь, 1.4м царга. Димрот 3м (8мм). Кубы 30л (кег, тэн 2квт) и 15л (тэн 2.8 квт).
Дистиллятор: на базе РК, поворот 42 в 22, доохладители 90см 1/2" в 3/4" и 4-х трубный 40см 8мм в 3/4". Куб 36л (индукция 3квт).

18

Re: TempMeter для Arduino - описание программы

Я подумал, что там пока без ардуинки. Значит я ляпнул не то.

Алкоголь не помогает найти ответ,
он помогает забыть вопрос!

19

Re: TempMeter для Arduino - описание программы

al, ТМА только с ардуиной работает, нано или микро со своим прошитым скетчем (там протокол управления свой).

РК: 42мм медь, 1.4м царга. Димрот 3м (8мм). Кубы 30л (кег, тэн 2квт) и 15л (тэн 2.8 квт).
Дистиллятор: на базе РК, поворот 42 в 22, доохладители 90см 1/2" в 3/4" и 4-х трубный 40см 8мм в 3/4". Куб 36л (индукция 3квт).

20

Re: TempMeter для Arduino - описание программы

Все собрал , все работает, но не могу установить разность т в 0,1 гр.
пишет ошибка, что не так делаю?

це моя суб'єктивна думка

21

Re: TempMeter для Arduino - описание программы

d.styler пишет:

Если нет ни одного датчика - что можно еще в программе смотреть кроме пустого окна? Все равно ничего делать нельзя...

достаточно этого предложения.

Справедливость проявляется в воздаянии каждому по его заслугам.
Цицерон

22

Re: TempMeter для Arduino - описание программы

dmytry, нужно точку использовать: 0.1

РК: 42мм медь, 1.4м царга. Димрот 3м (8мм). Кубы 30л (кег, тэн 2квт) и 15л (тэн 2.8 квт).
Дистиллятор: на базе РК, поворот 42 в 22, доохладители 90см 1/2" в 3/4" и 4-х трубный 40см 8мм в 3/4". Куб 36л (индукция 3квт).

23 (2017-06-10 00:48:40 отредактировано )

Re: TempMeter для Arduino - описание программы

d.styler пишет:

нано или микро со своим прошитым скетчем

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

d.styler пишет:

нужно точку использовать: 0.1

А DS18B20 работает с разрешением 0,06*С.
Можно ли устанавливать разность с точностью до 0.07*С?

Алкоголь не помогает найти ответ,
он помогает забыть вопрос!

24 (2017-06-10 00:51:17 отредактировано )

Re: TempMeter для Arduino - описание программы

al, залить скетч по проводу (через порт который CH340G) - минимально нужно на ардуину повесить DS18B20 датчики - программа после этого уже рабочая - при чем можно даже пробовать без блютусу - прямо через тот же порт по проводу...

al пишет:

DS18B20 работает с разрешением 0,06*С.
Можно ли устанавливать разность с точностью до 0.07*С?

Да хоть до 0.000001...

DS18B20 работает с 12-бит разрешением -- 0.0625*C

РК: 42мм медь, 1.4м царга. Димрот 3м (8мм). Кубы 30л (кег, тэн 2квт) и 15л (тэн 2.8 квт).
Дистиллятор: на базе РК, поворот 42 в 22, доохладители 90см 1/2" в 3/4" и 4-х трубный 40см 8мм в 3/4". Куб 36л (индукция 3квт).

25

Re: TempMeter для Arduino - описание программы

d.styler, а UNO будет работать или обязательно мини или нано ставить?

Алкоголь не помогает найти ответ,
он помогает забыть вопрос!