Cuprins:

Senzor de nivel lichid (folosind ultrasunete): 5 pași
Senzor de nivel lichid (folosind ultrasunete): 5 pași

Video: Senzor de nivel lichid (folosind ultrasunete): 5 pași

Video: Senzor de nivel lichid (folosind ultrasunete): 5 pași
Video: 5 semne de SONDA LAMBDA defectă! 2024, Iulie
Anonim
Senzor de nivel lichid (cu ultrasunete)
Senzor de nivel lichid (cu ultrasunete)

Senzorul de nivel al lichidului detectează nivelul lichidului de la nivelul solului. Porniți motorul (necesită un amplificator pentru driverul motorului) sub o anumită valoare și îl oprește peste o valoare dată după ce umpleți lichidul

Caracteristicile acestui sistem:

  • Funcționează cu orice lichid (apă, ulei etc.).
  • Distanța de până la 250 cm la sol (de asemenea, înălțimea rezervorului).
  • Măsurare precisă (eroare de până la 2 cm) cu HC-SR04, Ping etc.
  • Ieșire control motor.
  • Calibrare (în timpul rulării) disponibilă pentru:

    • Nivelul solului: poate fi calibrat pentru orice rezervor (până la 250 cm înălțime) în timp ce sistemul funcționează, cu un buton.
    • Nivelurile de pornire și oprire a motorului: nivelurile de pornire și oprire pot fi setate cu presetările furnizate și un buton de schimbare a modului.
  • Indicație pentru limitele off cu „0 cm”.
  • Funcționează pe 5V DC.

Piese necesare construirii:

  1. Arduino (sau ATMega 328 cu programator).
  2. HC-SR04 sau orice alt modul comun de senzori cu ultrasunete.
  3. Presetări (20K sau 10K) - 2 buc
  4. Antet masculin - 6 pini
  5. Antet feminin 16 pini
  6. Apăsați clic pe micro-comutator
  7. Apăsați comutatorul micro
  8. Rezistor 10K 1/4 watt
  9. 1N4007 Diodă
  10. Priză de curent continuu
  11. Rezistor 220E
  12. Veroboard (sau Breadboard, dacă preferați)
  13. Sârme de conectare
  14. Ecran LCD 16 * 2 cu anteturi masculine pin atașate
  15. Șofer și motor (dacă doriți)
  16. Cunoștințe de bază despre electronică și Arduino

Pasul 1: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului

Pasul 2: Lucrul

Lucru
Lucru

În placa noastră de senzori avem piese ultrasonice Tx și Rx. Senzorul citește distanța de la nivelul suprafeței lichidului. Tx este practic un difuzor de 40KHz, care trimite impulsuri de sunet cu ultrasunete de 40KHz. Timpul de trimitere a impulsului și timpul de primire a impulsurilor sunt notate pentru fiecare impuls. Aceste impulsuri sunt detectate în MCU.

MCU notează diferența de timp între și apoi a folosit viteza sunetului pentru a calcula distanța. MCU trebuie precalibrat pentru a înregistra distanța față de nivelul solului, adică atunci când rezervorul / containerul este gol. Diferența este calculată și astfel obținem nivelul lichidului.

Nivelul este afișat pe afișajul LCD 16x2. De asemenea, alte detalii sunt afișate în ecran.

Există două presetări pentru limita valorii maxime și minime a generatorului de semnal al pompei. Este generat atunci când nivelul lichidului depășește limita maximă stabilită de presetare. Semnalul scade din nou când ajunge sub limita minimă stabilită de alte presetări.

Calibrarea distanței la sol se face printr-un comutator, care trimite un semnal către cipul atmega328 și înregistrează distanța curentă și o setează ca masă de referință.

Pasul 3: Program - Arduino

Programul este realizat în Arduino. Utilizați acest lucru pentru a arde la Atmega328 (sau oricare dintre dorințele dvs.).

Programul este disponibil la git sub GPL-3.0.

Un fișier hexagonal compilat este dat deja pentru încărcare ușoară folosind arduino-builder.

Dependențe:

Biblioteca Newping.

Pasul 4: Calibrare și date

Ecranul LCD arată nivelul curent (diferența) față de nivelul calibrat.

Cele două presetări decid nivelul superior (nivel maxim) după care încărcarea se va opri și cel inferior (nivelul minim) după care sarcina se va activa. Sarcina intenționată aici este pompă, deoarece acest sistem este aplicabil în sistemul automat de pompare. Patru anteturi sunt pentru senzor sonic (ping). Am folosit HC-SR04. O pereche de antet pentru motor (pinul digital 9). Necesită un driver de pompă extern. A folosit EEPROM pentru a stoca datele de calibrare.

Sunt furnizate două calibrări:

  • LEVEL_CAL
  • MOTOR_TRIGGER_CAL

Pasul 5: Controlul pompei

Placa are 2 pini dedicați pentru semnalul pompei

Unul emite semnal de 5V când pompa trebuie pornită (când nivelul lichidului scade sub valoarea limită inferioară prestabilită) și dă semnal 0V când pompa trebuie menținută oprită (nivelul depășește limita superioară).

Semnalului i se trimite o placă de releu pentru a controla o pompă de curent alternativ.

Recomandat: