Радіо для всіх - Контролер роботи насоса на 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 IDE:

скачати код

Мікроконтролер на платі Arduino має EEPROM (Е 2) ПРОМ пам'ять, значення зберігаються навіть при виключенні живлення. Бібліотека EEPROM дозволяє читати і писати ці байти. ATmega328 мікроконтролер має об'ємом 1024 байт.

На початок огляду



© 2008 — 2012 offroad.net.ua . All rights reserved. by nucleart.net 2008