Cuprins:

Controler de nivel lichid UltraSonic: 6 pași (cu imagini)
Controler de nivel lichid UltraSonic: 6 pași (cu imagini)

Video: Controler de nivel lichid UltraSonic: 6 pași (cu imagini)

Video: Controler de nivel lichid UltraSonic: 6 pași (cu imagini)
Video: Cum sa verifici in mod corect nivelul uleiului!? ElcarGid Service. 2024, Iulie
Anonim
Controler de nivel lichid UltraSonic
Controler de nivel lichid UltraSonic

Introducere După cum probabil știți, Iranul are vreme uscată și există o lipsă de apă în țara mea. Uneori, mai ales vara, se vede că guvernul taie apa. Deci, majoritatea apartamentelor au un rezervor de apă. În apartamentul nostru există un rezervor de 1500 litri care asigură apă. De asemenea, există 12 unități rezidențiale în apartamentul nostru. Ca urmare, se poate aștepta ca rezervorul să se golească foarte curând. Există o pompă de apă atașată la rezervor care trimite apă în clădire. Ori de câte ori rezervorul este gol, pompa funcționează fără apă. Această situație determină o creștere a temperaturii motorului și, în timp, poate provoca defectarea pompei. Cu ceva timp în urmă, această defecțiune a pompei s-a întâmplat pentru a doua oară pentru noi și, după deschiderea motorului, am văzut că firele bobinei erau arse. După ce am înlocuit pompa, pentru a preveni din nou această problemă, am decis să fac un controler de nivel al apei. Am planificat să fac un circuit pentru a întrerupe alimentarea cu energie a pompei ori de câte ori apa a coborât sub limita joasă din rezervor. Pompa nu va funcționa până când apa nu crește la o limită ridicată. După trecerea limitei superioare, circuitul va conecta din nou sursa de alimentare. La început, am căutat pe internet pentru a vedea dacă găsesc un circuit potrivit. Cu toate acestea, nu am găsit nimic potrivit. Au existat niște indicatori de apă pe bază de Arduino, dar nu am putut rezolva problema mea. Drept urmare, am decis să-mi proiectez controlerul de nivel al apei. Un pachet all-in-one cu o interfață grafică de utilizator simplă pentru a seta parametrii. De asemenea, am încercat să iau în considerare standardele EMC pentru a fi sigur că dispozitivul funcționează valabil în diferite situații.

Pasul 1: Principiu

Principiu
Principiu

Probabil că știți deja principiul. Când semnalul pulsului ultrasonic este emis către un obiect, acesta este reflectat de obiect și ecoul revine la expeditor. Dacă calculați timpul parcurs de pulsul cu ultrasunete, puteți găsi distanța obiectului. În cazul nostru, elementul este apa.

Rețineți că atunci când găsiți distanța până la apă, calculați volumul spațiului gol din rezervor. Pentru a obține volumul de apă, trebuie să scădem volumul calculat din volumul total al rezervorului.

Pasul 2: senzor, alimentare și controler

Senzor, alimentare și controler
Senzor, alimentare și controler
Senzor, alimentare și controler
Senzor, alimentare și controler
Senzor, alimentare și controler
Senzor, alimentare și controler
Senzor, alimentare și controler
Senzor, alimentare și controler

Hardware

Pentru senzor, am folosit senzor ultrasonic impermeabil JSN-SR04T. Rutina de lucru este ca HC-SR04 (ecou și pin).

Specificații:

  • Distanță: 25cm până la 450 cm
  • Tensiune de lucru: DC 3.0-5.5V
  • Curent de lucru: < 8mA
  • Precizie: ± 1cm
  • Frecvență: 40khz
  • Temperatura de lucru: -20 ~ 70 ℃

Rețineți că acest controler are unele limitări. de exemplu: 1- JSN-SR04T nu poate măsura distanța sub 25CM, deci trebuie să instalați senzorul la cel puțin 25CM deasupra suprafeței apei. Mai mult, măsurarea distanței maxime este de 4,5M. Deci, acest senzor nu este potrivit pentru tancuri uriașe. 2- precizia este de 1 CM pentru acest senzor. Ca urmare, pe baza diametrului rezervorului, rezoluția volumului pe care îl va arăta dispozitivul poate fi variată. 3- viteza sunetului poate varia în funcție de temperatură. Ca urmare, precizia poate fi afectată de diferite regiuni. Cu toate acestea, aceste limitări nu au fost cruciale pentru mine și precizia a fost potrivită.

Controlorul

Am folosit STM32F030K6T6 ARM Cortex M0 de la STMicroelectronics. Specificațiile acestui microcontroler puteți găsi aici.

Sursa de alimentare

Prima parte este de a converti 220V / 50Hz (Iran Electricity) la 12VDC. În acest scop, am folosit modulul de alimentare cu energie HLK-PM12. Acest convertor AC / DC poate converti 90 ~ 264 VAC la 12VDC cu curent de ieșire 0,25A.

După cum probabil știți, sarcina inductivă a releului poate cauza mai multe probleme la circuit și la sursa de alimentare, iar dificultatea alimentării poate duce la inconstanță, în special la microcontroler. Soluția este izolarea surselor de alimentare. De asemenea, trebuie să utilizați un circuit snubber pe contactele releului. Există mai multe metode pentru izolarea surselor de alimentare. De exemplu, puteți utiliza un transformator cu două ieșiri. Mai mult, există convertoare DC / DC izolate acolo, într-o dimensiune mică, care poate izola ieșirea de la intrare. Am folosit MINMAX MA03-12S09 în acest scop. Este un convertor DC / DC de 3W cu izolare.

Pasul 3: IC de supraveghere

Supervizorul IC
Supervizorul IC

Conform notei aplicației TI: Un supraveghetor de tensiune (cunoscut și sub numele de reset circuit integrat [IC]) este un tip de monitor de tensiune care monitorizează alimentarea cu energie a unui sistem. Supravegherile de tensiune sunt adesea folosite cu procesoare, regulatoare de tensiune și secvențiale - în general, unde este necesară detectarea tensiunii sau curentului. Supervizorii monitorizează șinele de tensiune pentru a asigura pornirea, detectarea defecțiunilor și comunică cu procesoarele încorporate pentru a asigura starea sistemului. puteți găsi această notă de aplicație aici. Deși microcontrolerele STM32 au supraveghere încorporate, cum ar fi monitorul de alimentare, am folosit un cip de supraveghere extern pentru a vă asigura că totul va funcționa bine. În cazul meu, am folosit TL7705 de la TI. Puteți vedea descrierea de pe site-ul web Texas Instruments pentru acest IC de mai jos: Familia TL77xxA de supraveghere a tensiunii de alimentare cu circuit integrat este concepută special pentru a fi utilizate ca controlere de resetare în sistemele de microcomputer și microprocesor. Supervizorul tensiunii de alimentare monitorizează alimentarea pentru condiții de sub tensiune la intrarea SENSE. În timpul pornirii, ieșirea RESET devine activă (scăzută) atunci când VCC atinge o valoare care se apropie de 3,6 V. În acest moment (presupunând că SENSE este peste VIT +), funcția temporizatorului de întârziere activează o întârziere, după care iese RESET și RESET (NU) rămân inactive (respectiv ridicat și scăzut). Când apare o stare de subtensiune în timpul funcționării normale, RESET și RESET (NOT) devin active.

Pasul 4: placa de circuit imprimat (PCB)

Placa cu circuite imprimate (PCB)
Placa cu circuite imprimate (PCB)
Placa cu circuite imprimate (PCB)
Placa cu circuite imprimate (PCB)
Placa cu circuite imprimate (PCB)
Placa cu circuite imprimate (PCB)
Placa cu circuite imprimate (PCB)
Placa cu circuite imprimate (PCB)

Am proiectat PCB-ul în două bucăți. Primul este PCB-ul LCD care este conectat la placa principală cu cablu panglică / plat. A doua parte este PCB-ul controlerului. Pe acest PCB, am plasat sursa de alimentare, microcontrolerul, senzorul cu ultrasunete și componentele conexe. Și, de asemenea, partea de putere care este circuitul releu, varistor și snubber. După cum probabil știți, releele mecanice, cum ar fi un releu pe care le-am folosit în circuitul meu, se pot rupe dacă funcționează întotdeauna. Pentru a depăși această problemă, am folosit în mod normal contactul apropiat (NC) al releului. Deci, într-o situație normală, releul nu este activ și contactul normal apropiat poate conduce puterea de pompare. Ori de câte ori apa coboară sub limita minimă, releul se va porni și aceasta va întrerupe puterea. Acestea fiind spuse, acesta este motivul pentru care am folosit circuitul snubber pe contactele NC și COM. În ceea ce privește faptul că pompa avea o putere mare, am folosit al doilea releu 220 pentru ea și o conduc cu releu pe PCB.

Puteți descărca fișiere PCB, cum ar fi fișiere Altium PCB și fișiere Gerber de pe GitHub aici.

Pasul 5: Cod

Image
Image
Instalare pe rezervor
Instalare pe rezervor

Am folosit STM32Cube IDE, care este o soluție all-in-one pentru dezvoltarea codului de la STMicroelectronics. Se bazează pe Eclipse IDE cu compilatorul GCC ARM. De asemenea, are STM32CubeMX. Puteți găsi mai multe informații aici. La început, am scris un cod care includea specificațiile rezervorului nostru (înălțime și diametru). Cu toate acestea, am decis să îl schimb în GUI pentru setarea parametrilor pe baza unor specificații diferite.

Pasul 6: Instalare pe rezervor

Instalare pe rezervor
Instalare pe rezervor
Instalare pe rezervor
Instalare pe rezervor

În cele din urmă, am făcut o cutie simplă pentru a proteja PCB-ul de apă. De asemenea, am făcut o gaură în partea superioară a rezervorului pentru a pune senzorul pe el.

Recomandat: