V tomto článku nám Sprievodca povie, ako vytvoriť systém na monitorovanie a kontrolu hladiny vody v nádrži. Je to jednoduchý a spoľahlivý systém.
Jeho kľúčové vlastnosti sú nasledujúce:
Monitorovanie hladiny vody v reálnom čase.
Automatické čerpadlo na zapnutie / vypnutie.
Núdzové vypnutie čerpadla.
Náradie a materiály:
-Arduino Pro mini
- ultrazvukový snímač HC-SR04;
- modul MAX485;
- LCD modul i2c;
LCD 1602;
- mikrokontrolér ATTINY45 / 85;
- regulátor napätia LM7805;
Tranzistor NPN (2n3904);
-N-kanálový MOSFET IRFD024PBF;
Dióda 1N4007;
5-kolíkový konektor;
4-kolíkový konektor
-2 kolíkový konektor;
- Terminály s 2 kontaktmi (modrý) - 2 ks;
- Terminál s 2 kontaktmi (zelený);
DC Jack (- 2 ks.)
-Audio jack (samec / samica) - 2 ks;
- rezistor 1 kOhm;
- rezistor 10 kOhm - 3 ks;
- Kondenzátor 100 nF - 3 ks;
Kondenzátor 100 uF;
- tlačidlo SMD, 6x3,5 mm;
-DIP prepínače (SPST 2) - 2 ks;
- vypínač;
-Tumbler;
-12V DC relé;
-Relay stykač;
- napájanie jednosmerným prúdom 5 V (> 200 mA);
- napájanie 12 V DC (> 500 mA);
- škatule pre prípad vhodnej veľkosti;
-Krepezh;
-Doplnkové príslušenstvo;
- skrutkovač;
seeing-;
Krok 1: Senzorová jednotka
Táto jednotka meria hladinu vody a odosiela údaje do hlavného regulátora. Má dva senzory na meranie hladiny vody. Jedným z nich je ultrazvukový senzor vzdialenosti HC-SR04, ďalšie dve dlhé skrutky vyčnievajúce smerom von, ako je to znázornené na fotografii.
Ak chcete nainštalovať senzory, musíte vykonať nasledujúce kroky:
Umiestnite ultrazvukový prevodník hore nohami na prednú časť krytu blízko vrchu a označte dva otvory pre ultrazvukový vysielač a prijímač.
Vyrežte diery a pripevnite snímač na miesto pomocou horúceho lepidla.
Potom vyvŕtajte dva otvory s priemerom 3 mm s medzerou 2 až 3 cm v strede krytu.
Vložte dlhé skrutky M3 s drôtovou svorkou upnutou medzi dve podložky na zadnej strane krytu a utiahnite matice M3 na druhej strane.
Senzorová jednotka používa ATTINY45 ako primárny mikrokontrolér. Ako už bolo spomenuté, HC-SR04 sa používa na meranie hladiny vody. Funguje tak, že zmeria vzdialenosť od hornej časti nádrže.
Riadenie sa tiež vykonáva pomocou dvoch skrutiek v obvode, na ktorých je tranzistor nainštalovaný. Mikrokontrolér číta údaje z obidvoch týchto senzorov a odosiela údaje do Arduina nainštalovaného v riadiacej jednotke.
Po prvé, master chcel poslať dáta cez HC-12 RF moduly. Rozsah týchto modulov však nezodpovedá požiadavkám.Sprievodca použil prevodník MAX485 TTL na RS485 a vyrobil malý stúpač na inštaláciu namiesto modulov HC-12.
Schému a odkaz na tabuľu si môžete stiahnuť na tejto adrese.
Inštalácia je nasledovná:
HC-SR04 do hlavného okruhu:
Vcc - 5V (CN1).
trig - trigPin (CN1).
echo - echoPin (CN1).
Gnd - GND (CN1).
Skrutky M3 k hlavnému obvodu:
Skrutka 1 - 5 V (CN1).
Skrutka 2 - 100 (CN1).
Modul MAX485 (TX):
VCC - 5V (konektor HC-12)
A - 1/4-palcový zvukový konektor.
B - 1/4-palcový zvukový konektor.
GND - GND (konektor HC-12)
R0 - RX (konektor HC-12)
RE - VCC (MAX485) alebo 5V.
DE - RE (skrátene RE a DE).
DI - TX (konektor HC-12).
Konektor DC (konektor P1):
Tip - 5V
Rukáv - GND
Krok dva: Ovládač
Ovládanie regulátora je jednoduché. Arduino sa používa ako hlavný ovládač. Prijíma údaje snímača odoslané z dosky vysielača cez modul max485. Má 1602 LCD displej, ktorý zobrazuje aktuálnu hladinu vody a činnosť čerpadla. Na zapnutie stykača relé používa ako relé 12 V relé. Má dva spínače, jeden na podsvietenie LCD a druhý na zapnutie / vypnutie núdzového čerpadla.
Nachádza sa prepojenie na schému zapojenia a návrh dosky plošných spojov pre vysielač a prijímač tu.
Modul i2c LCD je priamo spájkovaný s 1602 LCD. Prepojka podsvietenia na module i2c je pripojená k prepínaču na zapnutie / vypnutie. Núdzové tlačidlo (veľké) je pripojené k hlavnému obvodu pomocou konektora P4.
I2c LCD modul do hlavného obvodu (CN4):
GND - CN4-1 (GND1).
VCC - CN4-2 (5V).
SCL-CN4-3 (A5).
SDA - CN4-4 (A4).
Pripojenia stykačového relé:
A1 - 230 VAC1 (nula).
A2 - NO (reléový kontakt).
S1 - 230 VAC1 (nula).
S2 - 230 VAC2 (fáza)
L1 - Vodič motora čerpadla 1
L2 - Drôt motora čerpadla 2.
Pripojte reléový kontakt COM na 230 VAC2 (vedenie).
Krok tretí: Softvér a programovanie
Teraz musíte naprogramovať radiče na oboch zariadeniach.
Na stiahnutie kódu do ATTINY45 sa stiahne knižnica SoftwareSerial.h.
Vo funkcii Slučka
> Najprv skontrolujte, či je nádrž plná alebo nie.
> Ak je plná, odošle „255.“
> Ak nie je plná, skontroluje hladinu vody ultrazvukovým senzorom zvuku a prenáša údaje prostredníctvom sériovej komunikácie.
Tento program používa na získanie aktuálnej hladiny vody podfunkciu getwtrLvl (). Najprv meria čas, ktorý snímač potrebuje na prenos a príjem ultrazvukových vĺn. Potom sa čas prevedie na vzdialenosť pomocou rýchlosti zvuku.
dist = pulseIn (echoPin, HIGH); // čas strávený zvukovou vlnou.
dist = dist / 28/2; // preklad času do vzdialenosti v cm
dist = dist * 1,25; // tu je 1.25 korekčný faktor na prekonanie chyby merania
návrat dist; // vráti vzdialenosť k volajúcej funkcii
Teraz pre Arduino.
Vo funkcii slučky:
> Najskôr sa skontroluje, či je stlačené núdzové tlačidlo alebo nie.
> Kontrola senzora. Časť programu kontroluje chybu snímača. ak sú prijaté dáta neplatné (<= 1) 5-krát, potom sa na displeji zobrazí chyba snímača a čerpadlo sa vypne.
> Ďalšia časť zobrazuje aktuálnu hladinu vody a vydáva príkaz pre čerpadlo 1, ak je hladina vody nízka, alebo 0, ak je hladina vody 100% (plná).
Tento program používa dve podfunkcie updtMotor () a getWaterLvl (). Funkcia updtMotor () zobrazuje činnosť čerpadla na LCD displeji a tiež vysiela signál do relé.
Funkcia getWaterLvl najprv skontroluje, či existuje chyba pripojenia. Ak spojenie medzi vysielačom a prijímačom nebolo nadviazané počas čakacej doby (3 000 ms). Zobrazuje chybu snímača a vypína čerpadlo.
Po obnovení spojenia sa operácia obnoví.
Všetko je pripravené, vďaka pánovi za zaujímavé domáci.