U ovom članku čarobnjak će nam reći kako napraviti sustav za nadzor i kontrolu razine vode u spremniku. To je jednostavan i pouzdan sustav.
Njegove ključne karakteristike su sljedeće:
Praćenje razine vode u stvarnom vremenu.
Automatska pumpa za uključivanje / isključivanje.
Hitno isključenje crpke.
Alati i materijali:
-Težak Pro mini
-Utrazvučni senzor HC-SR04;
- Modul MAX485;
- LCD modul i2c;
LCD 1602;
- mikrokontroler ATTINY45 / 85;
- regulator napona LM7805;
NPN tranzistor (2n3904);
-N-kanalni MOSFET IRFD024PBF;
Dioda 1N4007;
5-pinski priključak;
4-polni priključak
-2-pinski priključak;
- Terminali sa 2 kontakta (plava) - 2 kom;
- terminal sa 2 kontakta (zelena);
DC utičnica (- 2 kom.)
-Audio priključak (muški / ženski) - 2 kom;
- otpornik 1 kOhm;
- Otpornik 10 kOhm - 3 kom;
- kondenzator 100 nF - 3 kom;
Kondenzator 100 uF;
- SMD tipka, 6x3,5mm;
-DIP sklopke (SPST 2) - 2 kom;
- gumb za napajanje;
-Tumbler;
-12V DC relej;
-Relej sklopnika;
- istosmjerno napajanje 5 V (> 200 mA);
- DC 12V napajanje (> 500 mA);
- Kutije za slučaj odgovarajuće veličine;
-Krepezh;
-Pribor za lemljenje;
- odvijač;
seeing-;
Prvi korak: Jedinica senzora
Ova jedinica mjeri razinu vode i šalje podatke glavnom regulatoru. Ima dva senzora za mjerenje razine vode. Jedan je HC-SR04 ultrazvučni senzor udaljenosti, drugi je dva dugačka vijka koji strše prema van, kao što je prikazano na fotografiji.
Za instaliranje senzora potrebno je izvršiti sljedeće korake:
Postavite ultrazvučni pretvarač naopako na prednji dio poklopca blizu vrha i označite dvije rupe za ultrazvučni odašiljač i prijemnik.
Izrežite rupe i pričvrstite senzor na mjesto vrućim ljepilom.
Zatim izbušite dvije rupe promjera 3 mm s razmakom od 2-3 cm u sredini poklopca.
Umetnite dugačke vijke M3 s žicom na stezaljkama pričvršćenom između dvije podloške na stražnjoj strani poklopca i zategnite matice M3 s druge strane.
Senzorska jedinica koristi ATTINY45 kao primarni mikrokontroler. Kao što je ranije spomenuto, HC-SR04 koristi se za mjerenje razine vode. Djeluje mjerenjem udaljenosti od vrha spremnika.
Također, kontrola se provodi pomoću dva vijka u krugu, na koji je ugrađen tranzistor. Mikrokontroler čita podatke s oba ova senzora i šalje podatke Arduinu instaliranom u upravljačkoj jedinici.
Najprije je majstor htio poslati podatke putem HC-12 RF modula. No raspon ovih modula ne odgovara zahtjevima.Čarobnjak je upotrijebio pretvarač MAX485 TTL u RS485 i napravio HCR-12 malu ploču za podizanje.
Shema i veza na ploču mogu se preuzeti na ovoj adresi.
Instalacija je sljedeća:
HC-SR04 u glavni krug:
Vcc - 5 V (CN1).
trig - trigPin (CN1).
eho - ehoPin (CN1).
Gnd - GND (CN1).
M3 vijci za glavni krug:
Vijak 1 - 5 V (CN1).
Vijak 2 - 100 (CN1).
MAX485 (TX) modul:
VCC - 5 V (priključak HC-12)
A - 1/4 inčni audio priključak.
B - 1/4-inčni audio priključak.
GND - GND (priključak HC-12)
R0 - RX (HC-12 priključak)
RE - VCC (MAX485) ili 5V.
DE - RE (skraćeno RE i DE).
DI - TX (priključak HC-12).
DC utičnica (P1 priključak):
Savjet - 5V
Rukav - GND
Drugi korak: kontroler
Rad regulatora je jednostavan. Arduino se koristi kao glavni kontroler. On prima podatke senzora poslane s odašiljača putem modula max485. Ima LCD zaslon 1602 koji prikazuje trenutni nivo vode i rad crpke. Za uključivanje relejnog sklopnika koristi rele 12 V kao prekidač. Ima dva prekidača, jedan za osvjetljenje LCD-a i jedan za uključivanje / isključivanje crpke u nuždi.
Povezana je shema kruga i dizajn tiskane pločice za odašiljač i prijemnik ovdje.
I2c LCD modul je izravno lemljen za 1602 LCD. Skakač pozadinskog osvjetljenja na i2c modulu povezan je s prekidačem za uključenje / isključenje. Gumb za nuždu (veliki) povezan je s glavnim krugom preko priključka P4.
I2c LCD modul za glavni krug (CN4):
GND - CN4-1 (GND1).
VCC - CN4-2 (5V).
SCL - CN4-3 (A5).
SDA - CN4-4 (A4).
Priključci relejnog kontakta:
A1 - 230 VAC1 (nula).
A2 - NE (kontakt releja).
S1 - 230 VAC1 (nula).
S2 - 230 VAC2 (faza)
L1 - Žica motora crpke 1
L2 - Žica motora crpke 2.
Spojite kontakt COM releja na 230 VAC2 (vod).
Treći korak: Softver i programiranje
Sada trebate programirati kontrolere na oba uređaja.
Da biste preuzeli kod na ATTINY45, preuzima SoftwareSerial.h biblioteku.
U funkciji Loop,
> Prvo provjerite je li spremnik pun ili ne.
> Ako je puna, šalje "255."
> Ako nije puna, provjerava nivo vode ultrazvučnim senzorom zvuka i prenosi podatke serijskom komunikacijom.
Ovaj program koristi podfunkciju getwtrLvl () za dobivanje trenutne razine vode. Prvo, mjeri vrijeme potrebno senzoru za prijenos i primanje ultrazvučnih valova. Tada se vrijeme pretvara u daljinu koristeći brzinu zvuka.
dist = pulseIn (echoPin, HIGH); // vrijeme provedeno zvučnim valom.
dist = dist / 28/2; // prevesti vrijeme u daljinu u cm
dist = dist * 1,25; // ovdje je 1,25 korekcijski faktor za prevladavanje pogreške mjerenja
povratak dist; // vraća udaljenost funkciji poziva
Sad za Arduino.
U funkciji Loop:
> Prvo se provjerava je li tipka za hitne slučajeve pritisnuta ili ne.
> Provjera senzora. Dio programa provjerava postoji li greška senzora. tj. ako su primljeni podaci 5 puta neispravni (<= 1), tada se na zaslonu prikazuje greška senzora i crpka se isključuje.
> Sljedeći dio prikazuje trenutnu razinu vode i daje naredbu za crpku 1 ako je razina vode mala, ili 0 ako je 100% (puna).
Ovaj program koristi dvije podfunkcije updtMotor () i getWaterLvl (). Funkcija updtMotor () prikazuje rad crpke na LCD-u, a također šalje signal releju.
Funkcija getWaterLvl prvo provjerava ima li pogreške u vezi. Ako veza između odašiljača i prijamnika nije uspostavljena za vrijeme čekanja (3000 ms). Prikazuje grešku senzora i isključuje crpku.
Kada se veza uspostavi, rad se nastavlja.
Sve je spremno, hvala majstoru na zanimljivom domaće.