Да уж. Простите, люди добрые! Совсем я забросил этот проект. Но вот тут взялся всетаки и написал библиотеку для Arduino, которая поможет вам вычислить по показаниям температурного датчика значения процентного содержания спирта в кубе и в пару над ним. Пользоваться очень легко - есть пример. В качестве входных параметров - два байта,считанных прямо с датчика. Выходные параметры - температура в десятых градуса и две расчетных величины процента спирта в десятых процента. Таблицы построены с помощью калькулятора Руди (CalcSam) - наиболее точного из имеющихся.
Сегодня наконец получил из Китая готовый шилд funduino multi-function shield. В нем есть четырехразрядный индикатор, бипер, три кнопки и разъем для подключения датчика температуры. Проверил - с Arduino UNO R3 работает прекрасно. Правда, пришлось поковырять родной скетч - индикатор поставили с общим катодом. Осталось теперь только программу собрать.
_1.JPG Умный термометр для дистиллятора. Приборы и электр(он)ика.
shram1970
Доцент
Желтая гора
1.3K 325
Отв.42 26 Марта 17, 20:22
Ждем,тоже такой шилд есть.
Grem_line
Специалист
С-Петербург
197 123
Отв.43 29 Марта 17, 09:04
Сегодня закончил версию "Умного Термометра" для Arduino. Надо еще проверить все функции. С шилдом было много сюрпризов. Так, оказалось, что бузер, установленный на нем, сам издает звук при подаче на его вход низкого уровня - не надо формировать частоту. Резистор подтяжки сигнального провода датчика температуры не 4,7 КОм, как положено, а 10КОм. Но оказалось, что датчик на проводе и так прекрасно работает... На днях выложу скетч и нужные библиотеки.
Grem_line
Специалист
С-Петербург
197 123
Отв.44 29 Марта 17, 21:45
Проверил, вроде все работает как надо
P1030996.JPG Умный термометр для дистиллятора. Приборы и электр(он)ика.P1030997.JPG Умный термометр для дистиллятора. Приборы и электр(он)ика.P1030998.JPG Умный термометр для дистиллятора. Приборы и электр(он)ика.
Grem_line
Специалист
С-Петербург
197 123
Отв.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 черный земля ----------------------------------------------- (!) Будьте внимательны: если перепутать ножки датчика, он сгорит!
Хочу добавить функцию предсказания оставшегося времени до закипания. Как думаете, нужна такая?
Esc
Профессор
Москва
2.2K 2.2K
Отв.47 04 Апр. 17, 22:05
Кому то фича "оставшегося времени" точно пригодится.
И об возможности внедрения еще одного функционала, типа "Порог-3". Итак преамбула.
На форуме не редко можно встретить рекомендацию: - Брагу на СС гони до "нуля"!!!
В пошаговом виде инструкция смотрится примерно так: • отслеживаешь показания кубового градусника; • когда температура достигнет сотни градусов - алкоголь испарился и в кубе кипит вода; • пора завершать погон...
Конечно для этих целей можно использовать и бипер на "Пороге-2", но... Реальное атмосферное давление на каждом погоне будет корректировать температуру "кипятка воды". Для примера график АД с 31.03 на 01.04.2017г. Ad_31. Умный термометр для дистиллятора. Приборы и электр(он)ика.
За этот суточный отрезок времени произвел 2 погона браги (время погонов красные отрезки на временной шкале). И собственно кардиограммы самих погонов с отметками о температуре завершения процесса. Braga_31. Умный термометр для дистиллятора. Приборы и электр(он)ика.
Braga_01. Умный термометр для дистиллятора. Приборы и электр(он)ика.
Моя автоматика использует довольно простой алгоритм завершения погона. Примерно после 96°С в кубе контроллер начинает отслеживать рост кубовой температуры. И если в течении допустим 5мин. кубовая температура не повышается, а "стоит колом" - пора завершать погон. И плевать нам на атмосферу.
Grem_line
Специалист
С-Петербург
197 123
Отв.48 04 Апр. 17, 22:30 (через 25 мин)
И если в течении допустим 5мин. кубовая температура не повышается, а "стоит колом" - пора завершать погон.Esc, 04 Апр. 17, 22:05
Спасибо! Мысль интересная. Правда, есть некие сомнения: во время погона температура растет очень медленно, и чем ближе к концу погона - тем медленнее. Тут, ИМХО, могут быть ложные срабатывания от бросков напряжения в сети, открывания окна и т.п. Но это я чисто теоретицки Надо пробовать, тем более, если Вы говорите, что работает.
Esc
Профессор
Москва
2.2K 2.2K
Отв.49 04 Апр. 17, 23:00 (через 31 мин)
есть некие сомнения: во время погона температура растет очень медленноGrem_line, 04 Апр. 17, 22:30
В прикрепленном файле (первоапрельская брага) наглядность по данному вопросу. Голубой столбец - время в формате ЧЧ:ММ:СС Желтый столбец - собственно температура кубовой жидкости в градусах Цельсия.
Добавлено через 7мин.:
ИМХО, могут быть ложные срабатывания от бросков напряжения в сети, открывания окна и т.пGrem_line, 04 Апр. 17, 22:30
А ты не торопись. Подумай как обойти вышеперечисленные косяки. Я ведь специально только намекнул слегка об алгоритме...
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
Специалист
С-Петербург
197 123
Отв.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
Доцент
Желтая гора
1.3K 325
Отв.56 08 Апр. 17, 13:08
Grem_line, UNO,сейчас удалю все библиотеки кроме твоих.
Grem_line
Специалист
С-Петербург
197 123
Отв.57 08 Апр. 17, 14:02 (через 54 мин)
Насколько я понимаю, одинаковые с виду шилды могут иметь несколько разную "начинку". Например, установленный цифровой индикатор может быть с общим анодом, или с общим катодом. Установленный зуммер может быть активным или пассивным. Чтобы звучал активный достаточно подать на него нужный уровень, а пассивному нужно выдавать импульсы. Но это все не страшно - если после загрузки программы на индикаторе будут крокозябры вместо цифр, если что-то не так со звуковой сигнализацией - пишите, я подскажу, как подправить скетч, чтобы работало правильно.
capsolo
Профессор
Зелик
5.3K 1.6K
Отв.58 08 Апр. 17, 15:06
Grem_line, коллега шильд огонь, библиотека - тоже огонь. Отличный проект.
shram1970
Доцент
Желтая гора
1.3K 325
Отв.59 09 Апр. 17, 14:01
Grem_line, Удаление всех библиотек не помогло.Поставил 1.6.12 и все прекрасно скомпилировалось.Вывод:более старые версии не подходят.