Автоматический контроллер уровня воды на SRF04, L293D и PIC16F84A для дома и бизнеса
Полностью автоматический контроллер уровня воды на SRF04, L293D и PIC16F84A
Введение: зачем нужен автоматический контроль уровня воды
Мониторинг и контроль уровня воды в баках — критически важная задача во многих жилых и коммерческих зданиях. Без автоматики приходится постоянно проверять уровень вручную — утомительно и неудобно. В регионах с дефицитом воды переливы стоят дорого.
Решение — автоматический контроль. Существуют методы: датчики расстояния, токовые зонды, ультразвуковые дальномеры. Здесь фокус на ультразвуковом дальномере.

Связанный проект: Схема датчика дождя/снега/воды на таймере 555
Общая структура системы
Ультразвуковой датчик (SRF04) монтируется сверху на баке. При триггере он излучает пакет ультразвука (40 кГц). Сигнал отражается от поверхности воды и возвращается. Время между импульсом излучения и приемом эха пропорционально расстоянию до воды (уровню сверху).
Микроконтроллер посылает триггер (10 мкс), засекает время эха с помощью таймера. Число тактов таймера = расстояние до воды.
Так как датчик сверху, логика управления насосом основана на уровне от верха:
- Расстояние 0–1 см → бак переполняется → МК подает команду на реверс мотора (слив излишков)
- Расстояние 2–5 см → бак полон → МК выключает мотор
- Расстояние >5 см → бак пуст/пустеет → МК включает мотор вперед (наполнение)
Схема контроллера уровня воды
Нажмите на изображение для увеличения

Рисунок 1: Контроллер уровня воды
Описание компонентов
- Ультразвуковой дальномер SRF04
- Микроконтроллер PIC16F84A
- Драйвер двигателя L293D
- DC-мотор (насос)
- Два резистора 1 кОм
Ультразвуковой дальномер SRF04
Качественный ультразвуковой датчик для робототехники. Требует триггер-импульс 10 мкс. Излучает 8 импульсов при 40 кГц и поднимает линию Echo в HIGH. При приеме отраженного сигнала опускает Echo в LOW. Ширина импульса Echo пропорциональна расстоянию. Для 1 см ширина = 58 мкс.

Микроконтроллер PIC16F84A
CMOS, 8-бит, 18 выводов, Flash, один 8-битный таймер с 8-битным предделителем. Управление таймером через регистры OPTION_REG, TMR0, INTCON. Бит T0CS (5-й) в OPTION_REG выбирает режим: 1 = счетчик, 0 = таймер. TMR0 — регистр счетчика. INTCON бит T0IE (5-й) — флаг переполнения таймера.

Драйвер двигателя L293D
16-пиновый H-мост, управляет двумя моторами в обе стороны. Два пина Enable (1, 9) — HIGH включает драйвер. Интерфейс между МК и DC-мотором. 4 входных пина (по 2 на H-мост). Таблица управления:
| IN1 (Pin 2) | IN2 (Pin 7) | EN1 (Pin 1) | Режим мотора |
|---|---|---|---|
| HIGH | HIGH | HIGH | OFF |
| LOW | LOW | HIGH | OFF |
| HIGH | LOW | HIGH | ON (по часовой) |
| LOW | HIGH | HIGH | ON (против часовой) |
| X | X | LOW | OFF |

Примечание: SRF04 — TTL, PIC16F84A — CMOS. Используются подтягивающие резисторы 1 кОм для согласования уровней.
Принцип работы и алгоритм
Программа генерирует 10-мкс триггер для SRF04 (функция задержки). Таймер TMR0 загружается значением 200 (55 отсчетов). Эхо-сигнал с SRF04 поступает на RA4 (вход тактирования таймера). При переходе Echo HIGH→LOW таймер стартует. Мониторят флаг T0IE (переполнение). При срабатывании — стоп таймера. Процедура повторяется для уточнения. Число переполнений = число эхо-импульсов. 1 импульс = 58 мкс = 1 см. 5 импульсов = 5 см. Это значение (в целой переменной) управляет мотором через L293D:
- Значение 2–5 → RB0=HIGH, RB1=HIGH (IN1, IN2) → мотор OFF
- Значение 5–20 → RB0=HIGH, RB1=LOW → мотор ON по часовой (наполнение)
- Значение 0–1 → RB0=LOW, RB1=HIGH → мотор ON против часовой (слив)
Преимущества системы на SRF04
- Простая и удобная система
- Низкая стоимость (дешевые компоненты)
- Исключает проблемы ручного контроля
- Нет механических частей → нет износа/коррозии датчика уровня
Недостатки
- SRF04 подвержен демпфированию от окружающей электроники — нужна хорошая изоляция/экранирование.
- Датчик и исполнительный механизм (насос) должны быть рядом. Система для баков, где насос близко к баку. Для подводных насосов на крышах — не подходит без добавления линии связи (радио/проводная).
Промышленные технологии
- Передовая безводная технология окрашивания: устойчивость и сокращение отходов в текстиле
- Топ-4 выгоды умного детектирования утечек для безопасности зданий и экономии
- Почему IoT-детекция утечек воды Biz4Intellia повышает промышленную эффективность — 5 ключевых преимуществ
- Передовый интеллектуальный мониторинг и контроль уровня воды: эффективность и устойчивость в промышленном в…
- 7 ключевых преимуществ умного решения для мониторинга уровня Biz4Intellia
- Умная IoT-система мониторинга рек: улучшение водного управления и предотвращение наводнений
- Может ли полиуретан быть действительно водонепроницаемым? Понимание водопоглощения
- Ручные vs автоматические спецификации (BOM): почему автоматизация повышает эффективность
- 7 ключевых преимуществ полностью и полуавтоматизированных кухонь для облачного питания
- Автоматические водяные насосы: принцип работы и значение