Перейти к публикации
capsolo

Автоматизация затирки пива на модуле STH0024 v3

Рекомендованные сообщения

Коллеги, предлагаю еще раз поговорить о реализации автоматики для затирки пива.

История вопроса следующая: нам с коллегой AlexeyT некоторое время назад удалось приспособить контроллер STH0024 v3  к процессу управления отбором при ректификации. Эта идея нашла воплощение в готовых устройствах, которыми более-менее успешно пользуются десятки наших уважаемых коллег.
Суть идеи заключается в том, что термостат обладает всем необходимым железом и разъемами для управления клапаном отбора, а именно:
1. Микроконтроллером Atmega8A для реализации логики.
2. Выходом для подключения цифрового датчика температуры Dallas 18B20, широко используемого в нашем деле для автоматизации.
3. Высоковольтным реле для управления клапаном отбора.
4. Разьемом для прошивки контроллера

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

 

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

 

Сейчас с подачи тульских мастеров возникла идея без аппаратной модернизации приспособить контроллер к процессу затирки пива.

 

Так как на борту у нас всего одно реле и Атмега8А - набор функций мне видится достаточно спартанским, а именно:

 

1) Четыре паузы (по умолчанию 52-62-72-78 градусов) с установкой длительности пауз.

2) Термостатирование (поясню далее как оно работает)

3) Отображение попеременно температуры и времени, оставшегося до очередной фазы. Время, оставшееся до достижения паузы будет вычисляться с учетом скорости изменения температуры.

4) Запоминание последней введенной программы (температур и пауз) в энергонезависимую память

 

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

 

Алгоритм термостатирования следующий:

1) Достигли температуры T-D, где T - целевая температура, D - дельта и вырубили нагрев. Запустили таймер отсчета.

2) Остыли до температуры T-D. Включаем нагрев на время, необходимое, чтобы нагреть затор до Т. Время вычисляем из прошлой статистики нагрева.

3) повторяем 1 и 2 пока не обнулится таймер.

 

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

 

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

Изменено пользователем capsolo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В результате получилось следующее устройство:

 

Контроллер делает все сам: определяет какая программа выбрана, на какой температуре он находится и продолжает выбранную программу со считанной температуры.

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

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

 

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

 

Програм семь

 

1) 35,45,52,65,72,78 градусов

    10,10,20,25,30,35 минут соответственно. Так затирает Вова Джоллер

 

2) 72,78 градусов

      30,15 минут соответственно. Однопаузное с мэшаутом

 

3) 52,72,78 градусов

    30,30,10 минут соответственно. Двухпаузное для отечественного солода.

 

4) 62 - 60 мин - для затирки солода на вискарь

5) 62 - 120мин - для затирки солода с несоложенкой на вискарь

6) 99 - 1 мин - для дистилляции на СС

7) 45-20 55-20 63-30 72-30 78-5 - Вова Джоллер заказал

 

После прохода по паузам контроллер вырубает нагрев.

 

beer_kita_program_v1.1.zip - проект в Атмель Студии

beer_project_program_v1.1.zip - проект для Алгоритм Билдера

 

Допустим, у нас есть термостат с заводской прошивкой и программатор SPA0008
1) Подключаем модуль по питанию, к модулю подключаем программатор (обращаем внимание на ключ на шлейфе, он должен совпадать с изображением ключа на модуле), подключаем программатор к компьютеру.
У меня Windows 7, и он самостоятельно нашел драйверы к программатору и изобразил его в устройствах как COM-порт.
2) Устанавливаем Algorithm Builder отсюда

3) Качаем проект с прошивкой , ну и распаковываем куда-нибудь.
4) Запускаем АВ, "Файл/открыть" и открываем файл tau_project.alp из архива

post-1211-0-28984500-1457010200_thumb.jpg

После загрузки проекта экран выглядит вот так:

post-1211-0-98525400-1457010207_thumb.jpg

5) Выбираем из меню "Опции/Опции среды", вкладка "Порт". Выставляем параметры как на рисунке ниже. по нажатию на "COM1" выпадет список доступных СОМ-портов - выбирает порт программатора.

post-1211-0-85620600-1457010215_thumb.jpg

6) Нажимаем кнопочку, помеченную "1" из пункта 4. После компиляции экран выглядит вот так:

post-1211-0-26605300-1457010221_thumb.jpg

7) Нажимаем кнопочку, помеченную "2" из пункта 4.

post-1211-0-76991900-1457010227_thumb.jpg

В появившемся диалоге нажимаем "Старт" и шьемся. Экран модуля погаснет на время загрузки новой прошивки. Когда прошивка будет окончена - экран модуля засветится вновь. Можно отключать модуль по питанию и отключать программатор от модуля и компьютера.
.
.
.
Profit!

Инструкция по успешному зашиванию модуля программатором S51&AVR (очень бюджетный, можно поискать на Али), а так же программа для прошивания этим программатором. Внимательно смотрим как выставлены фьюзы! прошивку берем из проекта Algorithm Builder. Файл с расширением HEX.
программа

progisp172.zip

инструкция

програмирование STH0024.docx

 

ВАЖНО! Реле контроллера устанавливается в разрыв цепи питания тэном. Для управления мощной нагрузкой (коей являтся тэн) необходимо между реле контроллера и цепью питания тэна установить любой доступный модуль управления мощной нагрузкой, например магнитный пускатель или твердотельное реле.

Изменено пользователем capsolo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

извини, а как нагрев теплоносителя рубашки происходит? ты ведь про ПВК?

Оптосимисторный или опторелейный блок дает гальваническую развязку контроллера и нагрузке, чтобы не было скачков и модуль не перезагружался. А если сигнал шиммируемый, то не будет скачков(в теории).

 

кстати, мне кажется для установки температур вручную оперативнее использовать энкодер. Это так, мысли...

Изменено пользователем MrDanger

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[b][member=Murzzzilk][/b], они только цветом цифирок отличаются....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[b][member=alexeyT][/b], добавка "-v3" на работу влияет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нагрев теплоносителя рубашки происходит?

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


 

 


две программы влезут?

Две программы не влезут. Либо клапаном управляем, либо пиво варим. Не хочу сто миллионов настроек, да и памяти у меги8 мало.


[member=alexeyT], добавка "-v3" на работу влияет?

нам подходит только v3,  а других уже вроде как не продают.

Изменено пользователем capsolo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

все будет нормально. перед тэном обязательно ставить твердотелку, питание которой замыкает штатное реле от того же блока питания, что и STH. такое решение 100% защитит от наводок  т.п.

ну и программу написать осталось.

в связи с убогостью интерфейса можно заложить все варианты темопауз в режимы работы и при старте просто выбирать режим.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно в исходнике сделать 2 массива размером 100*5 для каждого из 100 режимов

в одном задавать градусы, в другом задавать минуты.

можно постепенно наполнять массив рецептами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[member=61003], мысль кстати!

[b][member=capsolo][/b],  а внешнюю память нельзя довесить?

 

вот чем мне нравится пик, так ценой, но надо платы самому делать... нет модульности...

Изменено пользователем MrDanger

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да, ничего никуда каждый раз не тыкать и не вспоминать какие параметры. запомнил, что например сегодня варю 78й рецепт, и на форуме тоже сказал, что 78й рецепт куче, чем 54й ))


производство своих приборов это тупик как показала практика ))

реально если делать, то сразу 10 000 экземпляров, нанимать соответственно людей и т.п.

а у нас спрос маленький очень, так что остается использовать готовое железо. на пике такого не встречал, тока авр или стм. но меги 8й там за глаза и за уши

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


темы про стх для ректа и диста не создавал?

Ну...пока с ХЗ не переносил тему. У многих туда есть еще доступ. Тут такие мысли зерновикам-традиционалистам ректификация не уперлась, поэтому есть ли смысл у них этот проект размещать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на пике все примитивно, только надо самому спаять и все. прогу писать надо, вот это сложнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


нельзя довесить?

Ничего нельзя :) Модуль собирают в заводских условиях партиями. Мне бы релюху вторую навесить, но ног свободных нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


спаять и все.

действительно... штук 200 для начала...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть ли смысл у них этот проект размещать...

 

Ну а как же ? Тема спирт есть , ндрф есть . Автоматика полюбому нужна !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

показывать только температуру

Эхъ сомневаюсь :) Заманчивая идея - этакое пивное караоке с книжечкой выбора песен. Вот я солод купил русский - ему для избавления от мути надо 52 полчаса держать, а на импортном я просто пренебрегу этой паузой. А пиво получится более-менее одинаковое. Легко запутаться в рецептах. Ты, Леш, более-менее освободился? Вижу, стал на форум заходить. В ближайшем будущем будем мутить очередную реализацию регулятора мощности на готовом китайском блоке за 200рэ. Хотелось бы чтобы ты со своим авторитетным мнением поучаствовал в обсуждении.

Там СТМ16 вроде как.

Ну а как же ? Тема спирт есть , ндрф есть . Автоматика полюбому нужна !

Значит перееду через некоторое время.

Изменено пользователем capsolo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[b][member=capsolo][/b], а не думал освободить  ноги МК, применив сдвиговый регистр?. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


освободить ноги МК

Нам с Лешей сейчас другая железяка едет, там 3 реле, два градусника, все заводское, добротное. И дешевле. Будем ту осваивать вместе :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не согласен. с точки зрения маркетинга железки как раз и нужна тема на форуме, где будет написано, что русскому солоду нужен режим 45, а импортному режим 23.

если сделать сводную таблицу режимов и накапливать ее, то обычному человеку не нужно будет ничего выбирать кроме номера режима.

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

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

в плане освобождения все плохо, я сейчас в командировке, поэтому по вечерам есть время писать, а дома ждет жена))

СТМ не знаю и не планирую знать, т.к. АВР достаточно вполне.

пока просвету нету, но чем смогу - помогу

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


оптимизировать режимы

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

но это потребует кодинга более долгого... так-то весь ваш алгоритм можно уложить в 4-5 Кб

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В смысле пользовательских шаблонов? Ну....это сложнее сделать. А вот захардкоженые шаблоны - это попроще.

Пауз всего 5. А пользуются только четырьмя. Ну если мне расширят кругозор - добавлю еще шаблонов.

Изменено пользователем capsolo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ничего там не сложнее. когда выбираешь параметры они есть все в памяти, просто при старте нужно их записывать в память и все. там 3-4 строчки кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


ничего там не сложнее.

Ну если так я код напишу, а ты эти 3 строчки предложишь. :) Фича, конечно, заманчивая. типа 10 зашито и 5 можно своих задать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

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

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...