Умный термометр для дистиллятора

Форум самогонщиков, пивоваров, виноделов Оборудование Приборы и электр(он)ика
1 2 3 4 3
Grem_line Специалист С-Петербург 147 116
Отв.40  21 Марта 17, 23:12
Да уж. Простите, люди добрые! Совсем я забросил этот проект.
Но вот тут взялся всетаки и написал библиотеку для Arduino,
которая поможет вам вычислить по показаниям температурного датчика
значения процентного содержания спирта в кубе и в пару над ним.
Пользоваться очень легко - есть пример.
В качестве входных параметров - два байта,считанных прямо с датчика.
Выходные параметры - температура в десятых градуса и две расчетных величины
процента спирта в десятых процента.
Таблицы построены с помощью калькулятора Руди (CalcSam) - наиболее точного из имеющихся.
Spirit.zip (4Кб - загружено 64 раз)
Grem_line Специалист С-Петербург 147 116
Отв.41  26 Марта 17, 13:22
Сегодня наконец получил из Китая готовый шилд funduino multi-function shield.
В нем есть четырехразрядный индикатор, бипер, три кнопки и разъем для подключения
датчика температуры. Проверил - с Arduino UNO R3 работает прекрасно.
Правда, пришлось поковырять родной скетч - индикатор поставили с общим катодом.
Осталось теперь только программу собрать.
$_1.JPG
400x400 35Кб
shram1970 Доцент Желтая гора 1274 312
Отв.42  26 Марта 17, 20:22
Ждем,тоже такой шилд есть.
Grem_line Специалист С-Петербург 147 116
Отв.43  29 Марта 17, 09:04
Сегодня закончил версию "Умного Термометра" для Arduino. Надо еще проверить все функции. С шилдом было много сюрпризов. Так, оказалось, что бузер, установленный на нем, сам издает звук при подаче на его вход низкого уровня - не надо формировать частоту. Резистор подтяжки сигнального провода датчика температуры не 4,7 КОм, как положено, а 10КОм. Но оказалось, что датчик на проводе и так прекрасно работает...
На днях выложу скетч и нужные библиотеки.
Grem_line Специалист С-Петербург 147 116
Отв.44  29 Марта 17, 21:45
Проверил, вроде все работает как надо
P1030996.JPG
1024x768 100Кб
P1030997.JPG
1024x768 94Кб
P1030998.JPG
1024x768 112Кб
Grem_line Специалист С-Петербург 147 116
Отв.45  29 Марта 17, 22:15, через 31 мин
Выкладываю скетч и используемые библиотеки.
Как пользоваться:
При включении просто показывает температуру.
Нужно установить датчик в куб (погрузить в жидкость).
Кнопки:
К1 - показывать температуру браги
К2 - % спирта в браге (брага должна кипеть!)
К3 - % спирта в выходящем паре

(!) % спирта показывается только когда температура в кубе больше 76*С
Правильные значения будут только при кипении браги при нормальном атмосферном давлении!

Сигналы:
1 - короткий бип, когда температура в кубе достигнет 80*С
2 - длинный бип, когда температура в кубе достигнет 90*С
4 - повторяющийся сигнал, когда температура подойдет к Порог1 (для прекращения нажать любую кнопку)
5 - повторяющийся сигнал, когда температура подойдет к Порог2 (для прекращения нажать любую кнопку)

Порог1 выставлен 91,5*С - брага вот-вот закипит (при крепости 12%)
Порог2 выставлен 95,8*С - крепость на выходе менее 40%

Пороги можно изменить:
Нажать одновременно К1 и К2 - менять Порог1 (К2+ К3- К1-записать)
Нажать одновременно К1 и К3 - менять Порог2 (К2+ К3- К1-записать)

(!) При изменении пороги записываются в энергонезависимую память и сохраняются после выключения

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

Таблица подключения датчика DS18B20:

Номер контакта      Провод датчика     Сигнал
----------------------------------------------
    1                 красный           +5 Вольт
    2                 желтый            данные
    3                 черный            земля
-----------------------------------------------
(!) Будьте внимательны: если перепутать ножки датчика, он сгорит!

Удачи всем!
UTv1.1.zip (22Кб - загружено 95 раз)
Grem_line Специалист С-Петербург 147 116
Отв.46  03 Апр. 17, 21:38
Хочу добавить функцию предсказания оставшегося времени до закипания.
Как думаете, нужна такая?
Esc Доцент Москва 1124 1178
Отв.47  04 Апр. 17, 22:05
Кому то фича "оставшегося времени" точно пригодится.

И об возможности внедрения еще одного функционала, типа "Порог-3".
Итак преамбула.

На форуме не редко можно встретить рекомендацию:
- Брагу на СС гони до "нуля"!!!

В пошаговом виде инструкция смотрится примерно так:
•  отслеживаешь показания кубового градусника;
•  когда температура достигнет сотни градусов - алкоголь испарился и в кубе кипит вода;
•  пора завершать погон...

Конечно для этих целей можно использовать и бипер на "Пороге-2", но...
Реальное атмосферное давление на каждом погоне будет корректировать температуру "кипятка воды".
Для примера график АД с 31.03 на 01.04.2017г.
ad_31.03_-_01.04.2017.png

За этот суточный отрезок времени произвел 2 погона браги (время погонов красные отрезки на временной шкале).
И собственно кардиограммы самих погонов с отметками о температуре завершения процесса.
braga_31.03.17.png

braga_01.04.17.png

Моя автоматика использует довольно простой алгоритм завершения погона. Примерно после 96°С в кубе контроллер начинает отслеживать рост кубовой температуры. И если в течении допустим 5мин. кубовая температура не повышается, а "стоит колом" - пора завершать погон. И плевать нам на атмосферу.
Grem_line Специалист С-Петербург 147 116
Отв.48  04 Апр. 17, 22:30, через 25 мин
И если в течении допустим 5мин. кубовая температура не повышается, а "стоит колом" - пора завершать погон.Esc, 04 Апр. 17, 22:05
Спасибо! Мысль интересная. Правда, есть некие сомнения: во время погона температура растет очень медленно, и чем ближе к концу погона - тем медленнее. Тут, ИМХО, могут быть ложные срабатывания от бросков напряжения в сети, открывания окна и т.п. Но это я чисто теоретицки Улыбающийся Надо пробовать, тем более, если Вы говорите, что работает.
Esc Доцент Москва 1124 1178
Отв.49  04 Апр. 17, 23:00, через 31 мин
есть некие сомнения: во время погона температура растет очень медленноGrem_line, 04 Апр. 17, 22:30

В прикрепленном файле (первоапрельская брага) наглядность по данному вопросу.
Голубой столбец - время в формате ЧЧ:ММ:СС
Желтый столбец - собственно температура кубовой жидкости в градусах Цельсия.

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

ИМХО, могут быть ложные срабатывания от бросков напряжения в сети, открывания окна и т.пGrem_line, 04 Апр. 17, 22:30

А ты не торопись. Подумай как обойти вышеперечисленные косяки. Я ведь специально только намекнул слегка об алгоритме...
Сахар_01.04.2017.rar (380Кб - загружено 31 раз)
Grem_line Специалист С-Петербург 147 116
Отв.50  05 Апр. 17, 20:56
Выкладываю скетч и используемые библиотеки.Grem_line, 29 Марта 17, 22:15
Двенадцать раз скачали - неужто никто не попробовал еще?
Отпишитесь, как запустите!
shram1970 Доцент Желтая гора 1274 312
Отв.51  06 Апр. 17, 14:53
Шилд едет,как приедет соберу и отпишусь.
dizel-44 Специалист Солнечный 177 18
Отв.52  07 Апр. 17, 16:12
Шилд едетshram1970, 06 Апр. 17, 14:53
Дайте, плиз, ссылку на проверенного продавца по шилду.
Grem_line Специалист С-Петербург 147 116
Отв.53  07 Апр. 17, 17:55
Дайте, плиз, ссылку на проверенного продавца по шилду.dizel-44, 07 Апр. 17, 16:12
Я заказывал тут https://ru.aliexpress.com/...0708.0.0.I8VlWZ
Но шло очень долго - около двух месяцев...
shram1970 Доцент Желтая гора 1274 312
Отв.54  08 Апр. 17, 08:28
Grem_line, При компиляции выдает ошибку 'void ledSegmentWrite(byte)' was declared 'extern' and later 'static' [-fpermissive] ,IDE 1.6.6
dizel-44, Шилд брал сдесь https://ru.aliexpress.com/...0608.0.0.KAbFlj но еще едет.
Grem_line Специалист С-Петербург 147 116
Отв.55  08 Апр. 17, 09:39
При компиляции выдает ошибку 'void ledSegmentWrite(byte)' was declared 'extern' and later 'static'shram1970, 08 Апр. 17, 08:28
Странно. У меня компилится без ошибок. IDE 1.6.12.
Возможно, что у тебя подключена какая-то библиотека, в которой есть функция с тем-же именем.
Попробуй поменять в скетче слово ledSegmentWrite например на ledSW везде, где оно встречается.
А какая у тебя ARDUINO? Могу выслать уже собранный HEX-файл.
shram1970 Доцент Желтая гора 1274 312
Отв.56  08 Апр. 17, 13:08
Grem_line, UNO,сейчас удалю все библиотеки кроме твоих.
Grem_line Специалист С-Петербург 147 116
Отв.57  08 Апр. 17, 14:02, через 54 мин
Насколько я понимаю, одинаковые с виду шилды могут иметь несколько разную "начинку".
Например, установленный цифровой индикатор может быть с общим анодом, или с общим катодом.
Установленный зуммер может быть активным или пассивным. Чтобы звучал активный достаточно подать на него нужный уровень, а пассивному нужно выдавать импульсы.
Но это все не страшно - если после загрузки программы на индикаторе будут крокозябры вместо цифр, если что-то не так со звуковой сигнализацией - пишите, я подскажу, как подправить скетч, чтобы работало правильно.
capsolo Профессор Зелик 4797 1486
Отв.58  08 Апр. 17, 15:06
Grem_line, коллега шильд огонь, библиотека - тоже огонь. Отличный проект.
shram1970 Доцент Желтая гора 1274 312
Отв.59  09 Апр. 17, 14:01
Grem_line, Удаление всех библиотек не помогло.Поставил 1.6.12 и все прекрасно скомпилировалось.Вывод:более старые версии не подходят.