26 lines
4.6 KiB
Markdown
26 lines
4.6 KiB
Markdown
# Таймер автоклава для работы с терморегулятором
|
||
|
||
Легковесное решение для автоматизации процессов стерилизации в автоклаве на базе микроконтроллера Wemos D1 Mini (ESP8266) под управлением прошивки NodeMCU Lua (версия integer-only, без плавающей точки).
|
||
|
||
Система управляет циклом нагрева и выдержки времени по сигналу от внешнего термостата. Настройка времени работы осуществляется локально с помощью ползункового фейдера, а удаленный мониторинг доступен через автономный веб-интерфейс по WiFi.
|
||
|
||
## Особенности системы
|
||
- **Защита при старте:** Встроенная программная пауза 5 секунд при включении устройства в розетку для предотвращения ложных срабатываний до стабилизации питания.
|
||
- **Аппаратная фиксация таймера:** Уставка времени жестко блокируется в памяти в момент первого достижения рабочей температуры. Случайное смещение ползунка во время стерилизации не повлияет на обратный отсчет.
|
||
- **Фильтрация шумов АЦП:** Сглаживание показаний потенциометра методом скользящего среднего по 10 замерам для устранения дребезга значений.
|
||
- **Нелинейная шкала времени:** Дискретность шага составляет 5 минут в диапазоне до 1 часа и 10 минут в диапазоне от 1 до 3 часов для удобной физической разметки панели.
|
||
- **Автономный Веб-интерфейс:** Точка доступа WiFi (`192.168.4.1`) работает без пароля и выводит адаптивную страницу со статусом системы и поминутным округлением оставшегося времени (с автообновлением каждые 5 секунд).
|
||
- **Ориентированность на отказоустойчивость:** Код разработан с учетом совместной работы с независимой механической защитой по питанию.
|
||
|
||
## Коммутация и распиновка (Pinout)
|
||
|
||
| Компонент | Пин Wemos D1 | ID пина в NodeMCU | Логический уровень / Питание | Описание |
|
||
| :--- | :--- | :--- | :--- | :--- |
|
||
| **Реле ТЭНа** | `D1` (GPIO5) | `1` | Выход 3.3V | Управляет силовым реле или контактором ТЭНов. |
|
||
| **Сигнал термостата** | `D2` (GPIO4) | `2` | Вход 3.3V (Pull-up) | Подключается к сухим контактам внешнего термостата. Пока идет нагрев, контакты замкнуты на GND. При достижении уставки размыкаются (переход в HIGH). |
|
||
| **Фейдер времени** | `A0` (ADC0) | `0` | Аналоговый 0V - 3.3V | Ползунковый потенциометр 10 кОм. Подключается строго к линиям `3V3` и `GND`. |
|
||
| **Аварийный термостат** | *Внешний* | *Отсутствует* | Силовая линия ~220В | Биметаллический выключатель KSD301 (130°C/140°C NC с кнопкой ручного сброса) на корпусе. Включается последовательно в разрыв питания ТЭНа. |
|
||
|
||
### ⚠️ Предупреждение по питанию потенциометра
|
||
Несмотря на то, что периферийные датчики могут питаться от 5V, ползунковый резистор времени **ОБЯЗАТЕЛЬНО** должен быть запитан от пина **`3V3`** платы Wemos. Это гарантирует, что аналоговый сигнал не превысит допустимый предел встроенного делителя напряжения ESP8266 (3.2V).
|