Indholdsfortegnelse:

Liquid Level Sensor (ved hjælp af ultralyd): 5 trin
Liquid Level Sensor (ved hjælp af ultralyd): 5 trin

Video: Liquid Level Sensor (ved hjælp af ultralyd): 5 trin

Video: Liquid Level Sensor (ved hjælp af ultralyd): 5 trin
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, November
Anonim
Liquid Level Sensor (ved hjælp af ultralyd)
Liquid Level Sensor (ved hjælp af ultralyd)

Liquid Level Sensor registrerer væskeniveauet fra et jordoverflade. Tænder motoren (kræver motordriverforstærker) under en given værdi og slukker den over en given værdi efter påfyldning af væsken

Funktioner i dette system:

  • Fungerer med enhver væske (vand, olie osv.).
  • Rækkevidde op til 250 cm jordafstand (også tankens højde).
  • Præcis måling (op til 2 cm fejl) med HC-SR04, Ping osv.
  • Motorstyringsudgang.
  • Kalibrering (i runtime) tilgængelig for:

    • Ground Level: Kan kalibreres til enhver tank (op til 250 cm høj), mens systemet kører, med en trykknap.
    • Motorens ON og OFF niveauer: ON og OFF niveauer kan indstilles med de medfølgende forudindstillinger og en tilstandsskiftknap.
  • Grænseværdier indikation med '0 cm'.
  • Virker på 5V DC.

Dele, der kræves for at bygge:

  1. Arduino (eller ATMega 328 med programmerer).
  2. HC-SR04 eller et hvilket som helst almindeligt ultralydssensormodul.
  3. Forudindstillinger (20K eller 10K) - 2 stk
  4. Male Header - 6 ben
  5. Kvindehoved 16 Pin
  6. Push -klik mikrokontakt
  7. Tryk på mikrokontakten
  8. 10K 1/4 watt modstand
  9. 1N4007 Diode
  10. DC -stikkontakt
  11. 220E modstand
  12. Veroboard (eller Breadboard, hvis du foretrækker det)
  13. Tilslutningskabler
  14. 16*2 LCD -skærm med pin hanhoveder vedhæftet
  15. Motorfører og motor (hvis du vil)
  16. Grundlæggende viden om elektronik og Arduino

Trin 1: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram

Trin 2: Arbejde

Arbejder
Arbejder

I vores sensor board har vi ultralyd Tx og Rx dele. Sensoren aflæser afstanden fra væskenes overfladeniveau. Tx er dybest set en 40KHz højttaler, som sender pulser på 40KHz ultralydslyd. Pulssendingstiden og pulsmodtagelsestiden noteres for hver puls. Disse pulser registreres i MCU.

MCU noterer tidsforskellen mellem og derefter brugte den lydhastighed til at beregne afstand. MCU'en skal forkalibreres til at registrere afstand fra jordoverfladen, det er når tanken/beholderen er tom. Forskellen beregnes og dermed får vi væskeniveauet.

Niveauet vises på 16x2 LCD -display. Andre detaljer vises også på skærmen.

Der er to forudindstillinger for maksimal- og minimumsværdi for pumpesignalgeneratoren. Den genereres, når væskeniveauet når over den maksimale grænse, der er indstillet af den forudindstillede. Signalet går igen lavt, når det når under minimumsgrænsen indstillet af en anden forudindstillet.

Jorddistancekalibreringen udføres af en switch, som sender et signal til atmega328 -chippen, og den registrerer den aktuelle afstand og angiver den som referencejord.

Trin 3: Program - Arduino

Programmet er lavet i Arduino. Brug dette til at brænde til Atmega328 (eller nogen af dine smag).

Programmet er tilgængeligt på git under GPL-3.0.

En kompileret hex-fil er allerede givet for nem upload ved hjælp af arduino-builder.

Afhængigheder:

Newping bibliotek.

Trin 4: Kalibrering og data

LCD -skærmen viser det aktuelle niveau (forskel) fra det kalibrerede niveau.

De to forudindstillinger bestemmer det øverste (maks. Niveau), hvorefter belastningen slukkes og sænkes (min. Niveau), hvorefter belastningen tændes. Belastning beregnet her er pumpe, da dette system kan anvendes i automatiseret pumpesystem. Fire header er til sonisk (ping) sensor. Jeg brugte HC-SR04. Et par header til motor (digital pin 9). Kræver en ekstern pumpedriver. Det brugte EEPROM til at gemme kalibreringsdata.

Der er to kalibreringer:

  • LEVEL_CAL
  • MOTOR_TRIGGER_CAL

Trin 5: Pumpestyring

Kortet har 2 dedikerede stifter til pumpesignal

Man afgiver 5V signal, når pumpen skal tændes (når væskeniveauet er under den forudindstillede lave grænseværdi) og giver 0V signal, når pumpen skal holdes slukket (niveauet går over den øvre grænse).

Signalet sendes et relækort for at styre en vekselstrømspumpe.

Anbefalede: