Что я по пивоварне за последнее время делал.

Небольшая преамбула – зимой мы собирали пивоварню в свободном помещении, поставили большой – 125-и литровый бак, сварили каркас, ёмкости, всё собрали и даже подключили, однако затем ситуация вильнула таким образом, что помещение мы решили оборудовать под сварочный цех – собрали вентиляцию, сделали стеллажи, приобрели немного дополнительного оборудования, переделали окно в дополнительную дверь, прокинули капитальную проводку на оборудование, которое потребляет много – в общем цех сейчас работает и это хорошо, однако пивоварню нужно было куда то девать, так как сварочный цех это полный ПЭ в виде металлической пыли, грязи и прочих вещей, с пивоварением малосовместимых.
Тогда было решено переделать основной бак на 50 литров, сделать его максимально узким и прикрепить к каркасу. В бак был вварен датчик температуры, в просверленные отверстия монтированы поплавковые датчики уровня (геркон) и ТЭН на 4кВт, в котёл пока поставили 2 тэна по 2 кВт, подключённые последовательно, для увеличения нагревающей поверхности, дабы исключить пресловутое подгорание солода. Ёмкости были соединены PPR трубами(чтобы в случае переделки не было мучительно больно переваривать нержавеющие трубы) через латунные электромагнитные клапаны. Затем всё это дело мы утеплили экструдированным пенополистиролом, толщиной 20 мм, а сверху к краям ёмкости мы подошли фасонными изделиями, для того, чтобы организовать притвор крышки и закрыть «кишки».
Если сказать одним предложением – то мы собрали опытный образец, который теперь необходимо активно тестировать, искать косяки, думать, как их устранять. В офисе мы вывели на внешнюю стенку воду и канализацию, подключились. Кинули напрямую медный кабель 3х4 прямо от ввода линии. Более подробно конструкцию я опишу позже, сейчас же я хочу перейти к электрической составляющей проекта, так как она озадачила меня на пару ночей…

В августе я потихоньку начал почитывать различные вводные статейки на Си. Ещё в феврале прикупил себе макетную плату, и потихоньку собирал на ней управление. Позже один хороший человек с данного ресурса предложил свою помощь и объяснил мне, что прежде чем программировать нужно хотя бы в общем получить представление о том как же всё таки контроллер работает на физическом уровне. Затем показал мне как просто и мощно можно писать используя конечные автоматы. Я довольно быстро на радостях написал кучу кода. Был организован опрос кнопок, были введены дефайны на подстановку часов, минут, секунд чтобы не пересчитывать с миллисекунд, так как я принципиально решил писать без delay, был организован опрос датчика температуры (да, пока во float – но сейчас на такие мелочи просто нет времени). Дальше я немного заморочился именно функциональными вещами – опрос датчиков, срабатывание при замыкании геркона, отправка сигнала на блок реле, который рулит уже всем, что больше 5 вольт. Даже сделал что-то интересное – а именно проверка на ложное срабатывание поплавкового датчика, на случай если в ёмкости будет волнение от поступающей под давлением из водопроводной системы воды.
Когда же я соединил электронику и собственно саму пивоварню – то оказалось, что кое-что периодически сбоит – то датчик температуры выбивает в обработчик ошибок, то датчик уровня ведёт себя так, будто в баке шторм – причём даже тогда, когда в баке сухо. Магнитный пускатель тоже порадовал периодическими включениями-отключениями. Разбираться в этом времени – ну вот совсем не было, тогда я ещё немного поковырялся, сделал менюшку с возможностью выбора рецепта — и к этому моменту забил на 85% память ATMega 8.

Тогда я решил взять паузу и хорошенько обдумать, что мне делать дальше – как я и раньше хотел – докинуть ещё 1 микроконтроллер, соединить их по UART и продолжить, либо же осмотреться, что можно выбрать под конкретные требования + запаса процентов 50.
Тут дело в том, что вообще я хотел записывать данные с датчиков, для последующей возможности по этим данным построить диаграмму температуры по времени – таким образом каждой конкретной варке будет соответствовать свой «профиль» — и разница между «профилями» будет основополагающей при прочих равных параметрах. Можно будет исправить, и выйти на приемлемую точность при варке по конкретным рецептам.
Этот момент во-первых, требует памяти, во-вторых требует достаточное количество циклов записи энергонезависимой памяти, при том, что быстродействие не играет существенной роли – опрос датчика планирую сделать раз в минуту, для той же mega 8 – этот вопрос вообще не стоит.
Кроме того, дисплей 2х16 символов меня уже сейчас не устраивает, так как интерфейс планировался изначально под пользователя – для диалога с ним, а какой ты можешь построить диалог, если тебе слово OPEN приходится писать как OPN чтобы оставшаяся часть фразы на строку влезла. Я порой ловил себя на мысли, что я во время программирования меню большую часть времени потратил на подсчёт, влезет ли на экран нужная мне фраза.
В общем мысли пока не сформулированы, однако идёт на ум что-то вроде Linux на каком-нибудь Raspberry pi, при том, что по деньгам большой проблемы нет купить что то подороже – ибо проект не в массы и по факту нужно подобрать одну систему. При том, что ранее я даже обдумывал возможность подрубиться к пивоварне через интернет – с приложения или через сайт, а так же рассылку уведомлений через GSM сеть – ибо сейчас это вроде как обыденность – отправка заранее составленного сообщения по какому то событию. А так здорово будет – «Твоё пиво сварено, МЭН! Будет готово через 21 день. Напомнить через неделю?»
Как вариант можно непосредственное управление пивоварней оставить на межках, а с одной из них просто общаться из более высокоуровневой сети, ибо в планах к зиме собрать каменную печь с тремя теплосъёмами, и тепло аккумулятором, рулить этим всем тоже с чего то будет необходимо.

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

Ссылка на фотоальбом VK — здесь больше фото.
Собственно в комментариях хотелось бы обсудить варианты по мозгам и сетке.
- +4
- 12 июня 2016, 23:46
- VeniaminCaver
Да, в панель нынешнюю устанавливается тот самый дисплей, на который сейчас выводится температура с двух датчиков.
- VeniaminCaver
- 13 июня 2016, 00:13
- ↓
Интересно было прочесть, давно не было ничего про пивоварню.
С датчиками своя пляска с бубном=)) В Хим.производстве высмотрел интересную фишку, там ставятся три датчика и решение (измерение) берется по результат минимум двух из трех датчиков на случай выхода одного из строя или ложного срабатывания. Хотя… если брать в пример линии производства и розливапива питательных жидкостей, то там датчики не дублируются… но и используются весьма не дешевое и специфическое измерительное оборудование… но и используется куча проверок, блокировок и защит.
Уровень в емкости легче мерить датчиком давления (вернее в Вашем случае двумя, один с низу емкости другой в верху). как вариант годная альтернатива.
З.Ы. пардон за отступление но интересно, а как Вы C.I.P. реализовать собираетесь? Ведь все это хозяйство мыть нужно, и в придачу трубопроводы ручками не отдраишь
Когда же я соединил электронику и собственно саму пивоварню – то оказалось, что кое-что периодически сбоит – то датчик температуры выбивает в обработчик ошибок, то датчик уровня ведёт себя так, будто в баке шторм – причём даже тогда, когда в баке сухо.
С датчиками своя пляска с бубном=)) В Хим.производстве высмотрел интересную фишку, там ставятся три датчика и решение (измерение) берется по результат минимум двух из трех датчиков на случай выхода одного из строя или ложного срабатывания. Хотя… если брать в пример линии производства и розлива
Уровень в емкости легче мерить датчиком давления (вернее в Вашем случае двумя, один с низу емкости другой в верху). как вариант годная альтернатива.
З.Ы. пардон за отступление но интересно, а как Вы C.I.P. реализовать собираетесь? Ведь все это хозяйство мыть нужно, и в придачу трубопроводы ручками не отдраишь
Мыть пока вручную, отдельный пистолет на шланге и вперёд. Трубопроводы промываются кислотным моющим средством, в клапанах стоят мембраны не помню точно EPDM, или NBR — но помню, что и то и другое устойчиво к кислотным растворам. Подразумеваю, что вторая итерация будет собрана на нержавейке полностью, включая клапана, и ёмкости будут иметь несколько другую конфигурацию. Пока важно что принципиально это всё работает. Ну и куча проверок и защит пока что не нужна, так как всё под наблюдением и запороть партию в 30 литров не так страшно.
- VeniaminCaver
- 13 июня 2016, 00:53
- ↑
- ↓
Уровень в емкости легче мерить датчиком давления (вернее в Вашем случае двумя, один с низу емкости другой в верху). как вариант годная альтернатива.В пивоварении емкости для хранения пива и его производных называют форфасами. Т.к они обычно находятся под избыточным давлением 0,0-1 бар СО2, уровни всегда меряют дифманометром. Это могут быть как два отдельных датчика, так и один датчик с дифкамерой.
здесь не критично, так как давления нет, объём ёмкости рассчитан на 30 литров выхода готового продукта, сами ёмкости 42 литра, бак на 50. Все проблемы решаются дозированным наполнением с учётом всех потерь на всех этапах.
- VeniaminCaver
- 13 июня 2016, 01:12
- ↑
- ↓
По датчикам мне предлагали взять датчик, у которого сопротивление изменяется в зависимости от температуры — типа аналоговый наверное. Я сразу отказался, потому что АЦП пока что ещё даже в ближайшем принижении не рассматривал. Но сейчас уже думаю как вариант — ведь можно просто собрать схемку по которой АЦП будет измерять напряжение, которое будет через этот самый датчик проходить и в зависимости от температуры — падение напряжения будет разным. И вроде бы датчики уровня у того же ОВНА имеются — два три электрода — чем больше площадь соприкосновения с водой тем больше(или меньше не помню) сопротивление. То есть одним АЦП можно сразу пару зайцев хлопнуть — если только подводных камней никаких нет.
- VeniaminCaver
- 13 июня 2016, 02:04
- ↑
- ↓
Собственно в комментариях хотелось бы обсудить варианты по мозгам и сетке.
1. Определитесь с архитектурой системы управления. Я бы использовал модульную систему, разбив всю электронику на несколько функциональных модулей (один управляет нагревом, второй заливает выливает смешивает, дозирует, третий управляет как мастер всеми подчиненными да на экранчик с кнопочками мигает и т.д.)
2. Определиться с сетью? там CAN, Ethernet, SPI, RS485
3. Ну и без протокола обмена данными не обойтись.
Если эти пункты выполнить, то получится немножко гибкости добавить в систему что в последующем облегчит подпиливание напильником
Can — не знаю что такое, Ethernet — вроде слишком сложный, или я попался на предубеждения? SPI — я поднимал как-то этот вопрос — вроде как проводники должны быть достаточно короткими, чтобы всё работало, и подальше должно всё это от моих электромагнитных клапанов и магнитных пускателей находиться, ибо индукция — а как следствие помехи, наводки и прочая нечисть. RS485 — советовали многие, протокол MODBUS кажется — но я почитал википедию, понял, что так нахрапом не возьму. С SPI попроще. Может есть какая книга почитать так, чтобы с нормальной вводной частью — я порой беру книжку — а там сходу слишком много моментов, мне вообще непонятных. И опять же — всеми этими протоколами из под чего то ведь нужно рулить — поэтому нужно подобрать платформу. Я так понимаю, что если разобраться допустим с MODBUS то можно вообще подключить всё что угодно к порту на компьютере — через этот порт забирать, а уже владея всеми ресурсами PC — обрабатывать, и отправлять обратно, параллельно на PC писать статистику, и потом уже хоть из под отдельной программы статистику обрабатывать… Ну опять же я сейчас без конкретики рассуждаю, так сказать образно. Может быть MODBUS такой сложный, что я его и не потяну.
- VeniaminCaver
- 13 июня 2016, 01:04
- ↑
- ↓
Я бы не сказал, что MODBUS сложный. Хотя есть и попроще протоколы, в том числе стандартные. Где-то тут упоминался один из таких, но не помню названия.
В целом поддержу kalik'а — непосредственные задачи управления должны выполнять микроконтроллеры, а вот общее управление можно реализовать на ПК, через сеть — тот же MODBUS, например.
В целом поддержу kalik'а — непосредственные задачи управления должны выполнять микроконтроллеры, а вот общее управление можно реализовать на ПК, через сеть — тот же MODBUS, например.
Я так понимаю, что если разобраться допустим с MODBUS то можно вообще подключить всё что угодно к порту на компьютереТут надо разбираться с программированием на ПК, тот же Qt или Visual Studio осваивать, Pyton на крайняк. Все они могут получить доступ к COM порту, а дальше на что ваша фантазия позволит то и получите, сможете реализовать любой протокол.
А переходник из USB во что угодно (хоть bit-bang) продаются ну и схем реализации в тырнете полно
по сетке и протоколу.
есть один товарисч, Кластер, он же Кластер-Д, он же Кластер-М…
Он себе ваял на атмегах умыный дом. И заделал протокольчик общения по одному проводу.
Сделал на основе этого протокольчика сетку и умный дом у него нормально бегает.
Я для своего умного дома его сетку и протокол повторил.
Я добавил еще некоторую защиту от статики в виде обратно включенных диодов на шину +12 вольт и на землю, да резистора в 10 кОм на входную ногу контроллера.
Пока нареканий у меня нет, все по сетке бегает, девайсы общаются. между самыми удаленными устройствами — около 15 метров провода.
В качестве физической сетки я использовал телефонную витуху — там 2 пары. По одной паре идет питание и земля, по второй — сигнальная шина и земля.
Единственное, я выпилил из кластерного кода приоритеты. не нужны они мне.
вот тут кластер описывает свое детище, там же в каментах есть мои вопросы и ссыль на гитхаб.
есть один товарисч, Кластер, он же Кластер-Д, он же Кластер-М…
Он себе ваял на атмегах умыный дом. И заделал протокольчик общения по одному проводу.
Сделал на основе этого протокольчика сетку и умный дом у него нормально бегает.
Я для своего умного дома его сетку и протокол повторил.
Я добавил еще некоторую защиту от статики в виде обратно включенных диодов на шину +12 вольт и на землю, да резистора в 10 кОм на входную ногу контроллера.
Пока нареканий у меня нет, все по сетке бегает, девайсы общаются. между самыми удаленными устройствами — около 15 метров провода.
В качестве физической сетки я использовал телефонную витуху — там 2 пары. По одной паре идет питание и земля, по второй — сигнальная шина и земля.
Единственное, я выпилил из кластерного кода приоритеты. не нужны они мне.
вот тут кластер описывает свое детище, там же в каментах есть мои вопросы и ссыль на гитхаб.
- GoldenAndy
- 13 июня 2016, 01:27
- ↓
Обалденно! Спасибо большое за информацию! Вопрос в тему — есть ли практический смысл кидать хорошо экранированную витуху? Реально от чего может защитить экран? У меня сигнальный кабель проходит под пивоварней — там вокруг стоит 4 электромагнитных клапана с катушкой постоянного тока на 12 вольт. Сбоку стоит 2 магнитных пускателя на 25 и 16 ампер на них идёт управляющий сигнал тоже 220 через реле, реле уже отдельно подключаются к микроконтроллеру — там какая то родная обвязка то-ли на транзисторах, то ли оптическая, по моему оптическая. Однако если землю контролера не разделять с землёй, которая на этот блок подключается — то начинает глючить экран. Я землю вроде разделил — эта проблема пропала — но сам факт что низковольтный сигнал идёт с датчиков температуры опять таки в зашифрованном виде по 1-wire — и наводкой может покрошиться бит — вот от таких моментов я бы хотел максимально обезопаситься, чтобы система не была уж такой прям «нежной» и чувствительной.
- VeniaminCaver
- 13 июня 2016, 01:57
- ↑
- ↓
Ну можно, немного усложнив выходной и входной каскады, сделать дифференциальную пару… но тогда потеряется вся простота сетки.
а можно подтянуть линию к +12 вольтам, причем меликм резистором, а потом хорошим транзистором просаживать линию. Что б ток замыкания линии был 20-30-50 мА. Я думаю, что пускатель не сможет сделать наводку, которая сможет просадить 30 мА линию на 0.
Единственное — если подтяжка на +12 вольт — то входной каскад МК нужно делать через 10-20кОм резистор и со стабилитроном на 4.7-5.1 вольта.
а можно подтянуть линию к +12 вольтам, причем меликм резистором, а потом хорошим транзистором просаживать линию. Что б ток замыкания линии был 20-30-50 мА. Я думаю, что пускатель не сможет сделать наводку, которая сможет просадить 30 мА линию на 0.
Единственное — если подтяжка на +12 вольт — то входной каскад МК нужно делать через 10-20кОм резистор и со стабилитроном на 4.7-5.1 вольта.
- GoldenAndy
- 13 июня 2016, 02:11
- ↑
- ↓
Да не, в вашем случае особой экранировки не требуется. К помехам очень чуствителен импульсный сигнал, к примеру выход расходомера (N импульсов на М литров). Очень устойчивы к помехам и просто трех-четырех проводные выходы Pt100, хотя все же лучше использовать термодатчики с нормирующим преобразователем 4-20ма.
Сейчас статью нарыл в блоге у Di. http://easyelectronics.ru/izmeritelnye-cepi.html вот как бы к чему готовиться нужно, при использовании аналоговых датчиков
- VeniaminCaver
- 13 июня 2016, 05:02
- ↑
- ↓
Не советуйте сложных путей… там человеку было жалко одной ноги в контроллере и одного проводка… сам себе придумал нечто (молодец конечно)
VeniaminCaver Не слушайте вредных советов, берите за физическую основу сети RS485
VeniaminCaver Не слушайте вредных советов, берите за физическую основу сети RS485
Не слушайте вредных советов, берите за физическую основу сети RS485Могу только присоедиться, взяв за физическую основу сеть RS485 вы можете на более высоком уровне пустить по ней и ModBus и ProfuBus, да и вообще почти любой Bus.
А так здорово будет – «Твоё пиво сварено, МЭН! Будет готово через 21 день. Напомнить через неделю?»
Поверьте, ничего здорового в этом нет. Сначала будет интересно (даже не сколько интересно, сколько это будет «Вау»-эффект, которым можно, например, похвастаться среди друзей) Но потом, когда процесс станет обыденным — подобные оповещения будут только напрягать, как спам. Уж поверьте мне, я уже давно «переболел» идеей умного дома :)
Более логично использовать такой канал для сообщений о авариях (типа «Господин, мы не смогли сварить Ваше пиво, код ошибки 112,
Касательно интерфейсов и протоколов — я присоединяюсь к тем, кто советует Вам взять за основу стандартизированные решения, например, rs485 + modbus…
Касательно интерфейсов и протоколов — я присоединяюсь к тем, кто советует Вам взять за основу стандартизированные решения, например, rs485 + modbus…А также несколько кубиков Oven и нарисовать всю систему в CODESYS за полдня.
Вообще, пиво в последнее время навевает тоску.
Открываемые в последнее время на каждом углу разливайки (франшизы, я так понимаю) стремительно деградируют, вместе с содержимым кег(ов?), а в ресторанах-пивоварнях пиво хоть и получше, но средний чек около 700р, да и на полчаса туда не забежишь мимоходом.
Пожалуй, перейду на активию — вкуснее и вреда меньше. Ещё вот киндербир появился, надо попробовать :)
Открываемые в последнее время на каждом углу разливайки (франшизы, я так понимаю) стремительно деградируют, вместе с содержимым кег(ов?), а в ресторанах-пивоварнях пиво хоть и получше, но средний чек около 700р, да и на полчаса туда не забежишь мимоходом.
Пожалуй, перейду на активию — вкуснее и вреда меньше. Ещё вот киндербир появился, надо попробовать :)
Если есть финансы на такую кучу оборудования, то можно приобрести графическую панель weintek. И на ней полностью визуализировать весь процесс пивоварения. и с нее же сделать управление всем процессом, и она же будет выдавать сообщения и рисовать графики да что угодно. В ней же уже есть часы реального времени. Поэтому отсчет времени пустяк. Работает по RS485модбас или RS232 модбас или на выбор огромное количество протоколов в самой панели. тогда можно просто обойтись микроконтроллером панелью и необходимыми датчиками и как бы все.
- Papandopala
- 23 июня 2016, 17:09
- ↓
Комментарии (33)
RSS свернуть / развернуть