Перейти к содержанию

Автоматизация Домашней Пивоварни


strifonoff

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

Заразил меня коллега домашним пивоварением.

Решил, так сказать, применить себя по специальности (автоматизация технологических процессов ТЭС и АЭС) и собрать контроллер для управления пивоварней.

В качестве пивоварни подразумевается использование клона Браумастера: бак с ТЭНом, насос, бункер для солода, чиллер.

Железо контроллера: pic16f648 + lcd nokia5110 и мелочевка (кнопки, резисторы, диоды, оптопары и т.д.)

Исходник на Си.

Возможности:

- поддержание заданной температуры заданное время (5 пауз) с помощью ТЭНа и термодатчика (ds18b20)

- управление насосом

- управление клапаном подачи охлаждающей жидкости

- вывод информации на экран

- настройка\сохранение\загрузка "рецептов" (температуры, длительности)

- и т.д.

На данный момент проект не закончен. Не хватает "ручного режима" (вкл/выкл насоса и поддержание температуры), звукового сигнала, таймера засыпки хмеля.

Если у кого есть желание помочь с доработкой/оптимизацией - выложу исходник, вариант печатной платы и модель в Протеус8.

Ну а если нет - тема сама потеряется в недрах форума :)

В железе пока не собрано.

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

и фото пивоварни

тож есть мысля попробовать

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Возможности:

- поддержание заданной температуры заданное время (5 пауз) с помощью ТЭНа и термодатчика (ds18b20)

есть сомнения что ds18b20 подходит для этих целей... у оного большая инерционность + опрос не чаше раз в секунду.... не самый лучший выбор для ПИДа
Ссылка на комментарий
Поделиться на другие сайты

...бак с ТЭНом...
...ds18b20 подходит для этих целей... у оного большая инерционность...

Точнее - 700мс. Не больше, чем у бака.

Я не раздаю удочки. Я продаю рыбу.

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

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

В любом случае для пауз температура может гулять +-2градуса

Изменено пользователем strifonoff
Ссылка на комментарий
Поделиться на другие сайты

в общем пока вот что есть

посмотрите код, может посоветуете как лучше сделать какие-то моменты

мне тут приснилось несколько идей, попробую их внедрить

печатка и схема в протеусе не совпадают

не обращайте внимания на это, потом изменю как надо

beer.zip

Изменено пользователем strifonoff
Ссылка на комментарий
Поделиться на другие сайты

лучше фото пивоварни, остальное фигня

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

фото пивоварни нету

т.к. свою я ещё не собрал, а фоткать пивоварню товарища смысла нет (у него обычный браумастер)

гугл "клон браумастера" ;)

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

:)

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

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

насос работает 4 минуты, потом 1 минуту отдыхает (на некоторых шагах он отключен совсем, их я буду помечать знаком (*))

и так:

- нагреваем воду до температуры первой паузы

- ожидаем команды "следующий шаг". в это время устанавливаем бункер и засыпаем солод (*)

- 5 температурных пауз, причем отсчет времени нужно начинать с момента когда температура воды будет >= заданной

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

- начинаем варку, отсчет так же запускаем только как температура достигла точки кипения (ну тут я принял 95 градусов, потом скорректирую)

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

- охлаждение после варки путём подачи холодной воды в змеевик до 24 градусов

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

самый сложный процесс в пивоварении - ждать :)

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

вы бы лучше в код глянули

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

750 мс для точности 0.125 °С. Но даже этого выше крыши. А с зоной нечуствительности в 1 °С и подавно.

И тут нет никакого ПИД.

ну вам видней... из практики бак 100л, термоконтроллер на ds18b20 с гистерезисом в 1С, при отключении на 32С, в итоге дает 38-39С

посмотрите код, может посоветуете как лучше сделать какие-то моменты

сли честно не понял временной интервал системного тика

вы включили предделитель перед таймером , установили его 1:32 , и дергаете его каждые 250 отсчетов

частота гены 4МГц

итого 1мкс*32*250=8000мкс=8мс

для генерации 1сек вроде все правильно...

но рекомендую в протезе поставить точку останова на строке сброса флага таймера и посмотрите на ваши 8мс

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

Не будет там 8 мс. Такая куча кода пока пройдёт, до обновления таймера, состариться можно :)

Что бросилось в глаза.

1. Обработка DS-ки лузерская (не в обиду). Когда-нибудь, в неподходящий момент, она глюкнет. Как минимум - проверка наличия датчика на линии + запрет прерываний на время таймслота + обработка CRC.

2. К переменным, особенно многобайтным, используемым и в прерывании и в майне, нужно реализовывать атомарный доступ. Т.б. запрещать прерывания на время обработки этих переменных (чтобы их модификация не произошла во время доступа к ним другого процесса). Иначе - "быть беде".

Что касается общей концепции - вроде неплохо. Машины состояний, программные таймеры, всё синхронизировано...

ЗЫ: Советую присмотреться в сторону ОСи. Разберётесь в ней на раз-два... Потом за уши не оттащишь :)

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

Да, с дской уже бывают глюки. Думал, что это особенности протеуса. Но видимо прерывания, действительно, вмешиваются в работу 1-wire.

Проверка присутствия датчика есть. ds_init, если не ошибаюсь, в функциях

Точность отсчета тут не особо важна, даже если секунду в минуту убежит - не страшно.

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

Я немного перделал исходник, точнее очень даже переделал :) понравились мне структуры и я их начал пихать куда попало :)))

Но вот предоставить его получится лишь в понедельник...

Ртос я применю обязательно. Но на другом камне и в расширенной версии контроллера.

Я уже делал проект один на ОС. Мидибокс. Вот там вообще не думаешь, что внутри. Очень удобно.

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

Да, с дской уже бывают глюки. Думал, что это особенности протеуса. Но видимо прерывания, действительно, вмешиваются в работу 1-wire.

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

Я хотел вызов функций опроса ДСки поместить в функцию обработки прерываний. Но компилятор начал ругаться, что типа стек может быть переполнен.

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

Подскажите лучше, как реализовать пищалку.

Нужно что бы при переходе на следующий шаг - пикнуло 1 раз (0.2 секунды примерно). А при таймере хмеля пикало 5 секунд (0.2 через 0.2).

В качестве пищалки капсуль-генератор 2300 гц HCM1205X, т.е. достаточно просто дергать ногой в нужное время.

Если со сменой шага все просто, то как быть с процессом варки.

Т.к. сравнение текущей минуты и таймера хмеля происходит постоянно.

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

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