V tomto článku nám průvodce řekne, jak vytvořit systém pro monitorování a kontrolu hladiny vody v nádrži. Je to jednoduchý a spolehlivý systém.
Jeho klíčové vlastnosti jsou následující:
Monitorování hladiny vody v reálném čase.
Automatické čerpadlo zapnutí / vypnutí.
Nouzové vypnutí čerpadla.
Nářadí a materiály:
-Arduino Pro mini
-Ultrasonický senzor HC-SR04;
- modul MAX485;
- LCD modul i2c;
LCD 1602;
- mikrokontrolér ATTINY45 / 85;
- Regulátor napětí LM7805;
Tranzistor NPN (2n3904);
-N-kanál MOSFET IRFD024PBF;
Dioda 1N4007;
5kolíkový konektor;
4kolíkový konektor
-2 pinový konektor;
- Terminály se 2 kontakty (modrá) - 2 ks;
- Terminál se 2 kontakty (zelený);
DC Jack (- 2 ks)
-Audio jack (samec / samice) - 2 ks;
- rezistor 1 kOhm;
- Rezistor 10 kOhm - 3 ks;
- Kondenzátor 100 nF - 3 ks;
Kondenzátor 100 uF;
- tlačítko SMD, 6x3,5 mm;
-DIP přepínače (SPST 2) - 2 ks;
- tlačítko napájení;
-Tumbler;
-12V stejnosměrné relé;
-Relay stykač;
- stejnosměrné napájení 5 V (> 200 mA);
- napájení 12 V DC (> 500 mA);
- krabice pro případ vhodné velikosti;
-Fastery;
-Solding příslušenství;
- šroubovák;
-Wire;
Krok 1: Senzorová jednotka
Tato jednotka měří hladinu vody a odešle data hlavnímu kontroléru. Má dva senzory pro měření hladiny vody. Jedním z nich je ultrazvukový senzor vzdálenosti HC-SR04, druhým jsou dva dlouhé šrouby vyčnívající ven, jak je vidět na fotografii.
Chcete-li nainstalovat senzory, musíte provést následující kroky:
Umístěte ultrazvukový převodník vzhůru nohama na přední stranu krytu poblíž horní části a označte dva otvory pro ultrazvukový vysílač a přijímač.
Vyřízněte otvory a upevněte snímač na místo pomocí horkého lepidla.
Poté vyvrtejte dva otvory o průměru 3 mm s mezerou 2-3 cm do středu krytu.
Vložte dlouhé šrouby M3 s drátěnou svorkou upnutou mezi obě podložky na zadní straně krytu a utáhněte matice M3 na druhé straně.
Senzorová jednotka používá jako primární mikrokontrolér ATTINY45. Jak bylo uvedeno výše, HC-SR04 se používá k měření hladiny vody. Funguje tak, že změří vzdálenost od horní části nádrže.
Řízení se také provádí pomocí dvou šroubů v obvodu, na kterých je tranzistor nainstalován. Mikrokontrolér čte data z obou těchto senzorů a odesílá data Arduinu nainstalovanému v řídicí jednotce.
Nejprve chtěl master posílat data přes moduly HC-12 RF. Rozsah těchto modulů však neodpovídá požadavkům.Průvodce použil převodník MAX485 TTL na RS485 a vytvořil malou podložku pro instalaci místo modulů HC-12.
Schéma a odkaz na tabuli si můžete stáhnout na této adrese.
Instalace je následující:
HC-SR04 do hlavního okruhu:
Vcc - 5V (CN1).
trig - trigPin (CN1).
echo - echoPin (CN1).
Gnd - GND (CN1).
Šrouby M3 k hlavnímu obvodu:
Šroub 1 - 5 V (CN1).
Šroub 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) nebo 5V.
DE - RE (ve zkratce RE a DE).
DI - TX (konektor HC-12).
DC Jack (konektor P1):
Tip - 5V
Rukáv - GND
Krok 2: Řadič
Ovládání ovladače je jednoduché. Arduino se používá jako hlavní ovladač. Přijímá data senzorů odeslaná z desky vysílače přes modul max485. Má 1602 LCD displej, který zobrazuje aktuální hladinu vody a provoz čerpadla. Jako spínač pro zapnutí stykače relé používá relé 12 V. Má dva přepínače, jeden pro podsvícení LCD a druhý pro nouzové zapnutí / vypnutí čerpadla.
Je umístěn odkaz na schéma zapojení a návrh desky plošných spojů pro vysílač a přijímač zde.
Modul i2c LCD je přímo připájen k LCD 1602 LCD. Propojka pro podsvícení na modulu i2c je připojena k přepínači pro zapnutí / vypnutí. Nouzové tlačítko (velké) je připojeno k hlavnímu obvodu pomocí konektoru 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).
Připojení stykače relé:
A1 - 230 VAC1 (nula).
A2 - NO (reléový kontakt).
S1 - 230 VAC1 (nula).
S2 - 230 VAC2 (fáze)
L1 - vodič motoru čerpadla 1
L2 - Drát motoru 2 čerpadla.
Připojte reléový kontakt COM na 230 VAC2 (vedení).
Krok 3: Software a programování
Nyní musíte naprogramovat řadiče na obou zařízeních.
Chcete-li stáhnout kód do ATTINY45, stáhne knihovnu SoftwareSerial.h.
Ve funkci smyčky
> Nejprve zkontrolujte, zda je nádrž plná nebo ne.
> Pokud je plná, odešle „255.“
> Pokud není plná, zkontroluje hladinu vody ultrazvukovým zvukovým senzorem a přenáší data přes sériovou komunikaci.
Tento program používá k získání aktuální hladiny vody podfunkci getwtrLvl (). Nejprve měří čas, který snímač potřebuje k přenosu a příjmu ultrazvukových vln. Potom je čas převeden na vzdálenost pomocí rychlosti zvuku.
dist = pulseIn (echoPin, HIGH); // čas strávený zvukovou vlnou.
dist = dist / 28/2; // převést čas na vzdálenost v cm
dist = dist * 1,25; // zde 1.25 je korekční faktor k překonání chyby měření
návrat dist; // vrátí vzdálenost k volací funkci
Nyní pro Arduino.
Ve funkci smyčky:
> Nejprve se zkontroluje, zda je stisknuto nouzové tlačítko.
> Kontrola senzoru. Část programu kontroluje chybu senzoru. tj. pokud přijatá data jsou neplatná (<= 1) 5krát, pak displej zobrazí chybu senzoru a čerpadlo se vypne.
> Následující část zobrazuje aktuální hladinu vody a vydává příkaz pro čerpadlo 1, pokud je hladina vody malá, nebo 0, pokud je hladina vody 100% (plná).
Tento program používá dvě podfunkce updtMotor () a getWaterLvl (). Funkce updtMotor () zobrazuje činnost čerpadla na LCD a také vysílá signál do relé.
Funkce getWaterLvl nejprve zkontroluje, zda nedošlo k chybě připojení. Pokud není spojení mezi vysílačem a přijímačem navázáno během čekací doby (3000 ms). Zobrazuje chybu senzoru a vypíná čerpadlo.
Po obnovení připojení se operace obnoví.
Všechno je připraveno, díky mistrovi za zajímavé domácí.