А собрали осознанно или по инструкции других людей?algriba, 16 Янв. 22, 14:28Собирал сам, на вопросы по программированию, получил ответы автора.
Автоматика Самовар
Valerio70
Студент
Сеа
15 4
Отв.180 16 Янв. 22, 15:29
сообщения удалены (9)
Egorys
Новичок
Саратов
4
Отв.181 21 Янв. 22, 10:04
Собрал я его тоже, провел несколько, а точнее 5, ректификаций.Valerio70, 16 Янв. 22, 13:10
А какой насос используется, китайский или напечатанный? И самый главный вопрос, поредохлодитель используете ?
lkosoj
Куратор
Видное
396 392
Отв.182 21 Янв. 22, 10:52, через 49 мин
У меня стоит китайский, без предохладителя, проблем нет. Перед печатным лучше поставить. Да и на китайский, для душевного спокойствия, тоже
Egorys
Новичок
Саратов
4
Отв.183 21 Янв. 22, 14:18
У меня стоит китайский, без предохладителя,lkosoj, 21 Янв. 22, 10:52Спасибо. У меня тоже китайский, не очень хочется с ним заморачиваться.
Valerio70
Студент
Сеа
15 4
Отв.184 21 Янв. 22, 14:39, через 22 мин
Кстати интересный вопрос про пред охладитель...может с этим и связано, что калибруем на холодном, а качаем горячий, ... вот и отклонения небольшие... у кого как?
Kuban
Кандидат наук
Краснодар
321 219
Отв.185 21 Янв. 22, 14:41, через 2 мин
У меня насос стоит после доохладителя. И никаких проблем.
lkosoj
Куратор
Видное
396 392
Отв.186 21 Янв. 22, 17:38
В версии 4.07 добавился функционал:
На GPIO35 можно добавить кнопку или датчик (например, протечки воды), который работает на замыкание. При подаче на GPIO35 высокого уровня (замыкание с 3V3) Самовар аварийно отключит напряжение и остановит подачу воды. Кнопку и датчики (несколько датчиков) можно вешать параллельно. Главное, чтобы датчики были рассчитаны на напряжение 3.3V. Выход из аварийного режима возможен только перезагрузкой. По умолчанию кнопка отключена в скетче. Чтобы ее включить, в файле Samovar_ini.h необходимо заменить
на
Так же в режиме "Пиво" для сборки с поддержкой регуляторов, управляемых по UART, добавлена возможность использовать разгонный тэн. При температуре в кубе ниже установленной в программе на ACCELERATION_HEATER_DELTA градусов (задается в файле Samovar_ini.h) включится реле №4. При превышении этого предела реле выключится. Реле необходимо использовать с паспортной мощностью, превышающей мощность тэна (минимум на 20 процентов). Если используется модуль-сборка из четырех реле, можно с помощью реле включить контактор или другое реле с необходимой мощностью.
Например, в программе "Пауза" задана температура 64, ACCELERATION_HEATER_DELTA 4. При включении Самовара или при переходе с предыдущей программы Самовар включит разгонный тэн, и выключит его при достижении 60 градусов в кубе, дальше будет работать только основной тэн.
Так же в режиме "Пиво" можно в настройках с помощью уставки на датчике температуры куба задать дельту, с которой Самовар будет считать, что заданная температура достигнута.
Например, в программе "Пауза" задана температура 64, уставка температуры куба задана 0.1, при достижении температуры 63.9 Самовар начнет отсчет времени, заданного в программе "Пауза".
На GPIO35 можно добавить кнопку или датчик (например, протечки воды), который работает на замыкание. При подаче на GPIO35 высокого уровня (замыкание с 3V3) Самовар аварийно отключит напряжение и остановит подачу воды. Кнопку и датчики (несколько датчиков) можно вешать параллельно. Главное, чтобы датчики были рассчитаны на напряжение 3.3V. Выход из аварийного режима возможен только перезагрузкой. По умолчанию кнопка отключена в скетче. Чтобы ее включить, в файле Samovar_ini.h необходимо заменить
//#define USE_ALARM_BTN
на
#define USE_ALARM_BTN
Так же в режиме "Пиво" для сборки с поддержкой регуляторов, управляемых по UART, добавлена возможность использовать разгонный тэн. При температуре в кубе ниже установленной в программе на ACCELERATION_HEATER_DELTA градусов (задается в файле Samovar_ini.h) включится реле №4. При превышении этого предела реле выключится. Реле необходимо использовать с паспортной мощностью, превышающей мощность тэна (минимум на 20 процентов). Если используется модуль-сборка из четырех реле, можно с помощью реле включить контактор или другое реле с необходимой мощностью.
Например, в программе "Пауза" задана температура 64, ACCELERATION_HEATER_DELTA 4. При включении Самовара или при переходе с предыдущей программы Самовар включит разгонный тэн, и выключит его при достижении 60 градусов в кубе, дальше будет работать только основной тэн.
Так же в режиме "Пиво" можно в настройках с помощью уставки на датчике температуры куба задать дельту, с которой Самовар будет считать, что заданная температура достигнута.
Например, в программе "Пауза" задана температура 64, уставка температуры куба задана 0.1, при достижении температуры 63.9 Самовар начнет отсчет времени, заданного в программе "Пауза".
lkosoj
Куратор
Видное
396 392
Отв.187 21 Янв. 22, 20:15
калибруем на холодном, а качаем горячийValerio70, 21 Янв. 22, 14:39Отклонения точно будут. Можно подкорректировать в настройках количество шагов на мл., и учесть это отклонение, но правильнее, конечно, поставить предохладитель.
kvic
Магистр
Тула
210 55
Отв.188 21 Янв. 22, 23:27
калибруем на холодном, а качаем горячий, ... вот и отклонения небольшие... у кого как?Valerio70, 21 Янв. 22, 14:39КТР(коэффициент температурного расширения) спирта 1080*10^-6
т.е. при охлаждении на 50 градусов, он съёжится на 1080*50*10^-6 = 0.054 от изначального объема.
А это 5,4 процента.
Вместо литра получится 946 мл.
Даже на глаз заметно.
Valerio70
Студент
Сеа
15 4
Отв.189 22 Янв. 22, 13:36
А это 5,4 процента.Только у меня больше получается, в 100 мл цилиндре, получается примерно 110, я думаю, что калибровал я насос еще на версии 3.04, после этого было несколько новых версий, и что характерно, пришлось перекалибровывать датчики температуры. Не на много, в принципе, может стоит и перекалибровать насос. А может и трубка вытянулась...
Вместо литра получится 946 мл.kvic, 21 Янв. 22, 23:27
Думаю что это не критично... мелочь. Главное, что мне нравиться, я не кручу кран постоянно и не пересчитываю скорость отбора каждый раз.
lkosoj
Куратор
Видное
396 392
Отв.190 22 Янв. 22, 16:09
калибровал я насос еще на версии 3.04, после этого было несколько новых версий, и что характерно, пришлось перекалибровывать датчики температурыValerio70, 22 Янв. 22, 13:36Работа с насосом и с датчиками температур не менялась с первой версии, так что насос - скорей всего какие-то механические изменения.
А что именно пришлось делать с датчиками температур?
Valerio70
Студент
Сеа
15 4
Отв.191 23 Янв. 22, 12:24
А что именно пришлось делать с датчиками температур?lkosoj, 22 Янв. 22, 16:09Подстроил расхождения относительно самого высокого значения.
lkosoj
Куратор
Видное
396 392
Отв.192 23 Янв. 22, 14:04
Может быть положения самих датчиков изменились, и они стали вести себя иначе? Самовар ничего с температурой не делает, передает то, что считывает с датчика, и добавляет корректировку, заданную в настройках.
Valerio70
Студент
Сеа
15 4
Отв.193 23 Янв. 22, 18:58
Может быть положения самих датчиков изменились, и они стали вести себя иначе?lkosoj, 23 Янв. 22, 14:04Я их снимал все, и в термосе калибровал и первый раз и второй. Ранее писал, что после нагрева, два датчика не вернулись к исходной температуре, правда и ждал я минут сорок, не более. Поэтому и перекалибровал. Думаю, что связано с самими датчиками...китайские, + провода 2 метра.
Добавлено через 1мин.:
Самовар ничего с температурой не делает, передает то, что считывает с датчика,lkosoj, 23 Янв. 22, 14:04Я и не сомневался, в этом.
lex738
Студент
Рязань
20 2
Отв.194 24 Янв. 22, 08:41
Только у меня больше получается, в 100 мл цилиндре, получается примерно 110, я думаю, что калибровал я насос еще на версии 3.04Valerio70, 22 Янв. 22, 13:36Насос калибровал один раз перед первым запуском. Калибровал головами из старых запасов. Получилось в настройках что-то 15650 шагов. Чуть не доливал. Сейчас ставлю в настройках Самовара 16000, отбор практически совпадает, меня устраивает.
Я их снимал все, и в термосе калибровал и первый раз и второйValerio70, 23 Янв. 22, 18:58Вначале тоже так делал. Сейчас регулирую погрешность датчиков, если это необходимо, на уже собранной колонне перед началом ректификации.
lkosoj
Куратор
Видное
396 392
Отв.195 26 Янв. 22, 19:48
Небольшой анонс версии 5.0
Добавил поддержку модуля PCF8575 - это расширитель на 16 портов, который подключается по I2C. А так же добавил скриптовый язык lua. По умолчанию они в скетче отключены.
На расширитель портов можно вешать любые исполнительные устройства или кнопки (датчики, которые работают как кнопки), и самому определить, что должно происходить в тот или иной момент при работе Самовара.
Инициализационный скрипт запускается при старте Самовара, а дальше раз в секунду запускается другой скрипт. В первом можно описать необходимые устройства, во втором описать их поведение. Например, в нем можно сделать проверку по температуре или текущему статусу Самовара, и, например, включить/выключить насос, или открыть/закрыть клапан, или управлять дополнительным тэном. Можно проверить, что не сработал датчик безопасности, а если сработал, то прямо из скрипта можно выключить Самовар, увеличить или остановить подачу воды. Сценариев может быть много. Определяются они конкретным оборудованием.
При этом базовый функционал Самовара не меняется.
Ниже пример скрипта, который можно написать прямо в редакторе в веб-интерфейсе, он будет выполняться раз в секунду и при достижении температуры в кубе 70 градусов начнет включать/выключать устройство, подключенное к первому порту расширителя, а так же писать об этом в UART и в консоль браузера
Добавил поддержку модуля PCF8575 - это расширитель на 16 портов, который подключается по I2C. А так же добавил скриптовый язык lua. По умолчанию они в скетче отключены.
На расширитель портов можно вешать любые исполнительные устройства или кнопки (датчики, которые работают как кнопки), и самому определить, что должно происходить в тот или иной момент при работе Самовара.
Инициализационный скрипт запускается при старте Самовара, а дальше раз в секунду запускается другой скрипт. В первом можно описать необходимые устройства, во втором описать их поведение. Например, в нем можно сделать проверку по температуре или текущему статусу Самовара, и, например, включить/выключить насос, или открыть/закрыть клапан, или управлять дополнительным тэном. Можно проверить, что не сработал датчик безопасности, а если сработал, то прямо из скрипта можно выключить Самовар, увеличить или остановить подачу воды. Сценариев может быть много. Определяются они конкретным оборудованием.
При этом базовый функционал Самовара не меняется.
Ниже пример скрипта, который можно написать прямо в редакторе в веб-интерфейсе, он будет выполняться раз в секунду и при достижении температуры в кубе 70 градусов начнет включать/выключать устройство, подключенное к первому порту расширителя, а так же писать об этом в UART и в консоль браузера
if TankTemp > 70 then
if exp_digitalRead(1) == 0 then
exp_digitalWrite(1,1)
print("Включено")
else
exp_digitalWrite(1,0)
print("Выключено")
end
end
ais77
Студент
Москва
47 35
Отв.196 27 Янв. 22, 12:46
Коллеги-самоварщики, предлагаю (в помощь решившим тоже собрать) поделиться своими вариантами конструктивной реализации Самовара.
В начале каждый из нас вставал перед вопросами - какой выбрать корпус, коннекторы, как скомпоновать, какие подсистемы реализовывать, а какие необязательно/подождут, что изменить и т.п. Давайте поделимся своими найденными ответами - и неофитам поможем определиться, и друг-другу, возможно, подкинем каких-то новых идей.
И автору можем свои хотелки, основанные уже на опыте, сформулировать - проект же будет развиваться.
Начну с себя, итак
= МОЙ САМОВАР =
Когда собран: 10.21
Сколько было на нём ректификаций: 5
Текущая версия: 4.7
Тип регулятора мощности: SEM AVR
Реализованы доп. подсистемы: аварийный контактор, разбор по ёмкостям, датчик потока воды, насос воды + промежуточная ёмкость
Не используется: Blynk, логи в облаке
Что изменено: веб-интерфейс главного окна сделан компактнее (чтобы влезал на один экран), добавлены очередь сообщений и звуковой алярм в браузере
Пожелания (чего хочется):
- тест всех подсистем перед стартом
- сохранение только изменённого датчика Т (чтобы остальные не сбрасывались, если не подключены)
Автору - искреннее уважение за подвижничество, труд и открытость!
Картинки под спойлерами
Общий вид
РМ, аварийный контактор и БП насоса воды
Независимая от давления подача воды
Коннекторы
USB идеально подошёл для датчиков и управления, на шаговик перистальтика не решился его ставить (MOLEX поэтому), как практика показала - напрасно, и USB бы хватило. 220 от контактора на реле тоже завёл отдельным разъёмом - просто, чтобы не перепутать случайно по запарке, фейерверки нам не нужны)
Внутри тесно
Что неудивительно, корпус от роутера TP-Link, но всё, удивительным образом, вошло. Сейчас 4-канальный блок реле заменил на 2-канальный (и тот избыточен, клапанов нет - ШИМ насоса воды же, поэтому используется только один канал - 220 на аварийный контактор) - стало посвободнее
РМ
Регулятор мощности собран в распаечной коробке. Твёрдотельное реле вынес наружу и прикрутил кулер от какой-то старой видюхи - не греется вообще, чуть тёплое даже на 3кВт разгоне
Модификация интерфейса
Не так это сложно, если немного знаете html/css/JS
В начале каждый из нас вставал перед вопросами - какой выбрать корпус, коннекторы, как скомпоновать, какие подсистемы реализовывать, а какие необязательно/подождут, что изменить и т.п. Давайте поделимся своими найденными ответами - и неофитам поможем определиться, и друг-другу, возможно, подкинем каких-то новых идей.
И автору можем свои хотелки, основанные уже на опыте, сформулировать - проект же будет развиваться.
Начну с себя, итак
= МОЙ САМОВАР =
Когда собран: 10.21
Сколько было на нём ректификаций: 5
Текущая версия: 4.7
Тип регулятора мощности: SEM AVR
Реализованы доп. подсистемы: аварийный контактор, разбор по ёмкостям, датчик потока воды, насос воды + промежуточная ёмкость
Не используется: Blynk, логи в облаке
Что изменено: веб-интерфейс главного окна сделан компактнее (чтобы влезал на один экран), добавлены очередь сообщений и звуковой алярм в браузере
Пожелания (чего хочется):
- тест всех подсистем перед стартом
- сохранение только изменённого датчика Т (чтобы остальные не сбрасывались, если не подключены)
Автору - искреннее уважение за подвижничество, труд и открытость!
Картинки под спойлерами
Общий вид
РМ, аварийный контактор и БП насоса воды
Независимая от давления подача воды
Коннекторы
USB идеально подошёл для датчиков и управления, на шаговик перистальтика не решился его ставить (MOLEX поэтому), как практика показала - напрасно, и USB бы хватило. 220 от контактора на реле тоже завёл отдельным разъёмом - просто, чтобы не перепутать случайно по запарке, фейерверки нам не нужны)
Внутри тесно
Что неудивительно, корпус от роутера TP-Link, но всё, удивительным образом, вошло. Сейчас 4-канальный блок реле заменил на 2-канальный (и тот избыточен, клапанов нет - ШИМ насоса воды же, поэтому используется только один канал - 220 на аварийный контактор) - стало посвободнее
РМ
Регулятор мощности собран в распаечной коробке. Твёрдотельное реле вынес наружу и прикрутил кулер от какой-то старой видюхи - не греется вообще, чуть тёплое даже на 3кВт разгоне
Модификация интерфейса
Не так это сложно, если немного знаете html/css/JS
lkosoj
Куратор
Видное
396 392
Отв.197 27 Янв. 22, 14:41
Вышла 5 версия с поддержкой скриптов на языке lua
Пример ниже читает аналоговый сигнал с 34 пина Самовара, и если он находится в диапазоне от 1000 до 2000, включает водяную помпу. Иначе - отключает ее. Скрипт пишется прямо в браузере, при сохранении сразу доступен для выполнения.
Можно сохранять переменные в памяти Самовара, запускать до 10 таймеров, получать статус работы Самовара и т. д. Т. е. можно подключать дополнительное оборудование и автоматически управлять им в процессе работы Самовара
Пример ниже читает аналоговый сигнал с 34 пина Самовара, и если он находится в диапазоне от 1000 до 2000, включает водяную помпу. Иначе - отключает ее. Скрипт пишется прямо в браузере, при сохранении сразу доступен для выполнения.
start_pump = getObject("start_pump", "NUMERIC") + 0 --получаем из ранее сохраненного объекта числовое значение и преобразуем в число
sensor = analogRead() --читаем аналоговое значение пина 34 (зарезервирован для lua)
--sensor = 1500
if sensor >= 1000 and sensor <= 2000 and start_pump == 0 then
setObject("start_pump", 1) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
digitalWrite(4,1) --устанавливаем на 4 ноге высокий уровень
print("Start pump") --[=[пишем в com-port. Так-же можно использовать команду sendMsg("Msg", Level). Если Level = -1, сообщение будет выведено в com-port и в консоль браузера, удобно для отладки.
Если Level 0,1,2 - сообщение отрпавляетя в консоль и в блинк]=]
--sendMsg("Start pump",-1)
elseif sensor == 0 then
setObject("start_pump", 0) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
if (start_pump == 1) then
digitalWrite(4,0) --устанавливаем на 4 ноге низкий уровень
print("Finish pump")
end
end
Можно сохранять переменные в памяти Самовара, запускать до 10 таймеров, получать статус работы Самовара и т. д. Т. е. можно подключать дополнительное оборудование и автоматически управлять им в процессе работы Самовара
wwf75
Студент
Москва
34 11
Отв.198 27 Янв. 22, 19:42
Мой вариант сборки Самовара.
Собран был 04.21, сколько провел ректификаций точно не скажу, больше десяти.
Текущая версия: 4.6, работает в паре со Стабилизированным регулятором напряжения на базе Arduino с управлением через UART от kvic
Подключены: 5 температурных датчиков, датчик потока воды, датчик уровня флегмы, сервопривод с узлом разбора.
Использую Blynk, логи пишутся в облако.
Ну и несколько фото.
Общий вид с колонной
Вид спереди
Сздади
Внутри
Узел разбора
В паре со стабилизатором
Спасибо Автору за отличный проект, постоянную поддержку и модернизацию своего проекта, с каждым новым релизом добавляются новые интересные "фишки".
P.S [сообщение #13885481]
Плат еще немного осталось.
Собран был 04.21, сколько провел ректификаций точно не скажу, больше десяти.
Текущая версия: 4.6, работает в паре со Стабилизированным регулятором напряжения на базе Arduino с управлением через UART от kvic
Подключены: 5 температурных датчиков, датчик потока воды, датчик уровня флегмы, сервопривод с узлом разбора.
Использую Blynk, логи пишутся в облако.
Ну и несколько фото.
Общий вид с колонной
Вид спереди
Сздади
Внутри
Узел разбора
В паре со стабилизатором
Спасибо Автору за отличный проект, постоянную поддержку и модернизацию своего проекта, с каждым новым релизом добавляются новые интересные "фишки".
P.S [сообщение #13885481]
Плат еще немного осталось.
Kuban
Кандидат наук
Краснодар
321 219
Отв.199 27 Янв. 22, 19:58, через 16 мин
Отличная сборка. Когда-то использовал такие корпуса, завод у нас в городе выпускал. Супер. Можно было засунуть все что угодно.
Единственно рекомендую пересмотреть используемые разъемы. Поясню мысль - использовать для разной периферии разъемы с разными пин. Пример - для датчиков, допустим 3 пин - 5 шт. а для следующей периферии который нужно всего 3 пин, все равно использовать уже разъем 5 пин. Разница между ними в цене 10 руб, но один в другой точно не воткнешь. ИМХО.
Нужно собраться единомышленникам и спроектировать универсальную плату для Самовара с учетом новых реалий для любых корпусов. Конечно по мере сил и времени. Готов принять участие.
wwf75, А почему доохладитель подключен отдельно к воде? Не справляется?
Единственно рекомендую пересмотреть используемые разъемы. Поясню мысль - использовать для разной периферии разъемы с разными пин. Пример - для датчиков, допустим 3 пин - 5 шт. а для следующей периферии который нужно всего 3 пин, все равно использовать уже разъем 5 пин. Разница между ними в цене 10 руб, но один в другой точно не воткнешь. ИМХО.
Нужно собраться единомышленникам и спроектировать универсальную плату для Самовара с учетом новых реалий для любых корпусов. Конечно по мере сил и времени. Готов принять участие.
wwf75, А почему доохладитель подключен отдельно к воде? Не справляется?