ВНИМАНИЕ ДЛЯ ЗАГРУЗКИ ПРОШИВКИ НА АРДУИНО ТРЕБУЕТСЯ ЗАМЕНИТЬ ЗАГРУЗЧИК!!!
БЕЗ ЗАМЕНЫ ЗАГРУЗЧИКА ПЛАТА СТАНЕТ МУСОРОМ!!!
Так как в данной прошивке реализована работа WatchDog, необходима замена стандартного загрузчика, так как стандартный не поддерживает WatchDog. Можно установить Optiboot или MiniCore, последний рекомендую так как он поддерживает прошивку чипов ATmega328PB, которые частенько подсовывают китайцы под видом ATmega328P/PA. Информации в сети по данной теме море, найти ее при желании не составляет проблем. При желании можно убрать часть кода отвечающую за WatchDog, кому как нравится.
На данный момент режим дистиляции не завершен, основной уклон сделан на ректификацию. Дистиляцию потом допилю, ибо автоматизировать там особо нечего, кроме отключения нагрева и охлаждения дефа по заданной температуре.
Собственно что попытался реализовать:
1 работа с одним или двумя клапанами отбора (выбирается в меню). В режиме с одним клапаном отбор запрещаем/разрешаем в ручную, переход от голов к телу автоматический по заданному объему голов (задается в меню) для отбора обоих фракций используется клапан тела. В режиме с двумя клапанами отбор фракций происходит без участия оператора;
2 управления двумя фазами нагрева, одна рабочая, вторая разгонная. Разгон отключается при достижении 70*С на датчике температуры в колонне!!!
3 управление подачей воды в дефлегматор. После 70*С в колонне включается подача воды.
4 аварийное отключение нагрева в случае отсутствия охлаждения.
Подключение.
пин TX - реле/симистор основного тэна
пин RX - реле/симистор разгонного тэна
D2 - датчик температуры куба (не забываем подтяжку к питанию)
D3 - датчик температуры колонны (не забываем подтяжку к питанию)
D4 - реле клапана тела
D5 - реле клапана голов
D6 - реле клапана охлаждающей жидкости
D7,8,9,10,11,12 подключение LCD пины RS,E,D4,D5,D6,D7 соотвественно
D13 подключаем датчик аварии (обычная KSD9700 на 40*С NO, одной ногой к D13 второй к земле)
A0 - кнопка меню
А1 - кнопка плюс
А2 - кнопка минус
А3 - кнопка ОК
BMP180/280 подключаем по I2C
Назначение кнопок:
Кнопка Меню - соответственно вход в меню (для выхода из меню несколько секунд не нажимать кнопки).
Кнопка Плюс/Минус: не входя в меню - смена экранов, вошли в меню - изменение параметров, нажали вместе - принудительная стабилизация.
Кнопка ОК: вне меню - на основном экране с температурами разрешает/запрещает отбор(при работе с одном клапаном), на втором экране запускает/останавливает процесс ректификации и нагрев. при входе в меню - сохранение параметра(изменили параметр, нажали ОК, перешли к следующему).
Кнопка Меню+Плюс+Минус - сброс настроек(рекомендуется при первом запуске).
Кнопка Меню+ОК - сброс сообщения об отсутствии охлаждения, при условии размыкания датчика аварии.
Меню и настройки вроде интуитивно понятны. Пункт в меню "Откл при залете" нужен для выбора отключать процесс при превышении таймаута залета или нет.
Если кому то инетересно и кто то будет тестировать, задавайте вопросы в тему, отвечу по возможности. Прошивку полностью на реальном железе сам полностью не тестировал, только некоторые функции.
Чуть не забыл, светодиод L на пине D13 надо отпаять, иначе работать не будет.
Project0.0.1-21.02.23.zip