Контроллер работы насоса на Arduino
Для жителей, проживающих в сельских районах, всегда присутствует проблема поливки огородов. Таким образом, многие люди устанавливают емкости для воды на крыше сооружений. Вода закачивается в резервуар с помощью насосного двигателя. Наиболее эффективным способом подачи и распределения воды будет установление автоматического контроллера. Традиционный регулятор уровня воды может контролировать воду между двух уровней с помощью поплавковых переключателей или датчиков для измерения уровня. В зависимости от положения переключателя насос двигателя может быть включен или выключен.
Принципиальная схема
Тем не менее, блок управления, как правило, размещен в верхней части бака для воды. При этом влажность может вызвать коррозию контактных точек переключателя датчика. Если питание будет включено, двигатель можно просто сжечь.
Расположение элементов на двухсторонней печатной плате
Расположение датчиков уровня воды
Схема подключения блоков
Предлагаем простой, но эффективный переключатель резонансного контура водяного насоса, который реализован с использованием известного AVR микроконтроллера ATmega328P-PU. Светодиоды отображают состояния системы, кнопочный переключатель для автоматического / ручного выбора режима, электромагнитное реле управляет работой двигателя. Схема может быть использована для поддержания уровня воды в верхнем резервуаре в заданных пределах. Основная идея заключается в установлении двух портов микроконтроллера для обнаружения уровня воды: один порт для автоматического / ручного выбора переключателя режимов и два порта для индикации состояния. Внутреннее программное обеспечение может определить уровень воды в емкости. Схема будет работать с напряжением питания постоянного тока 9 - 12V. Как показано на рисунке выше, для определения уровня воды служат два датчика, один для низкого уровня (L), а другой для высокого (H) уровня. Между ними, в зависимости от уровня скользит магнитный поплавковый выключатель. Если он находится рядом с датчиком L, тогда поступает сигнал на микроконтроллер, водяной насос активируется. Светодиодный индикатор STANDBY гаснет, и насосный PUMP ON загорается. При достижении уровня Н, водяной насос отключается. PUMP ON погаснет, и индикатор режима ожидания снова загорится. Водяной насос активируется только тогда, когда вода падает обратно на L уровень. Кроме того, в автоматическом режиме, если (по желанию) третий датчик (сухой датчик хода) установлен в баке подвал воды, датчик (G) запускает свой микроконтроллер ввода сообщить системе, что там нет воды в баке подвал воды. В режиме AUTO, водяной насос останавливается при максимальном уровне воды (Н) будет. В ручном режиме, процесс определения уровня воды отключен, поэтому, водяной насос будет продолжать работать бесконечно. Одновременно, индикатор ручной режим загорается в качестве индикатора предупреждения. Режим AUTO / MAN может быть переключен при любом уровне воды с помощью кнопочного переключателя AUTO / MAN. Переключатель S1- сброс. На плате Arduino контакты PD2, PD4, PD7 и выводы микросхемы IC1 (D2, D4, D7) настроены в качестве входных портов. Остальные PB0, PB4, PB5 и выводы микросхемы IC1 (D8, D12, D13), настроены как выходные порты. PD2 подключен к AUTO / MAN (переключателю режимов). Датчики уровня воды считываются портами PD4 и PD5. PB5 используется для контроля двигателя водяного насоса с помощью транзистора (T1) и электромагнитного реле (RL1). IC1 может быть запрограммирована / перепрограммирована через последовательный интерфейс (разъем J3), с помощью FTDI Basic (USB-COM преобразователя). Датчики уровня воды в емкости подключаются к схеме через разъемы J1 и J2 соответственно. Разъем J4 запитывает систему от регулируемого источника 5В, предварительно обрабатывается регулятором напряжения (IC2). LED4 работает как индикатор питания (вкл / выкл).
ПлатаFTDI
Вот основная логика микроконтроллера, подготовленная к использованию в Arduino IDE:
Микроконтроллер на плате Arduino имеет EEPROM (Е 2) ПРОМ память, значения хранятся даже при выключении питания. Библиотека EEPROM позволяет читать и писать эти байты. ATmega328 микроконтроллер имеет объем 1024 байт.