Innehållsförteckning:

Sensor för vätskenivå (med ultraljud): 5 steg
Sensor för vätskenivå (med ultraljud): 5 steg

Video: Sensor för vätskenivå (med ultraljud): 5 steg

Video: Sensor för vätskenivå (med ultraljud): 5 steg
Video: KONTROLLERA VÄTSKENIVÅERNA FÖR MOTOROLJAN, KYLVÄTSKAN OCH BROMSVÄTSKAN 2024, November
Anonim
Sensor för vätskenivå (med ultraljud)
Sensor för vätskenivå (med ultraljud)

Liquid Level Sensor detekterar vätskans nivå från marknivå. Slår på motorn (kräver motorförstärkare) under ett visst värde och stänger av den över ett visst värde efter att vätskan fyllts

Funktioner i detta system:

  • Fungerar med alla vätskor (vatten, olja etc).
  • Räckvidd upp till 250 cm markavstånd (även tankens höjd).
  • Exakt mätning (upp till 2 cm fel) med HC-SR04, Ping etc.
  • Motorstyrutgång.
  • Kalibrering (i körtid) tillgänglig för:

    • Marknivå: Kan kalibreras för alla tankar (upp till 250 cm höga) medan systemet är igång, med en tryckknapp.
    • Motorns PÅ- och AV -nivåer: PÅ- och AV -nivåer kan ställas in med förinställda förinställningar och en knapp för lägesändring.
  • Avgränsad indikation med '0 cm'.
  • Fungerar på 5V DC.

Delar som krävs för att bygga:

  1. Arduino (eller ATMega 328 med programmerare).
  2. HC-SR04 eller någon vanlig ultraljudssensormodul.
  3. Förinställningar (20K eller 10K) - 2 st
  4. Manlig rubrik - 6 stift
  5. Kvinnlig rubrik 16 Pin
  6. Push -click mikrobrytare
  7. Tryck på mikrobrytaren
  8. 10K 1/4 watt motstånd
  9. 1N4007 -diod
  10. DC -uttag
  11. 220E motstånd
  12. Veroboard (eller Breadboard om du föredrar)
  13. Anslutningskablar
  14. 16*2 LCD -skärm med stifthanehuvuden bifogade
  15. Motorförare och motor (om du vill)
  16. Grundläggande kunskap om elektronik och Arduino

Steg 1: Kretsdiagram

Kretsdiagram
Kretsdiagram

Steg 2: Arbeta

Arbetssätt
Arbetssätt

I vårt sensorkort har vi ultraljud Tx och Rx delar. Sensorn avläser avståndet från vätskans ytnivå. Tx är i princip en 40KHz högtalare, som skickar pulser med 40KHz ultraljud. Pulssändningstiden och pulsmottagningstiden noteras för varje puls. Dessa pulser avkänns i MCU.

MCU noterar tidsskillnaden mellan och sedan använde den ljudhastighet för att beräkna avstånd. MCU: n ska förkalibreras för att registrera avstånd från marknivå, det vill säga när tanken/behållaren är tom. Skillnaden beräknas och därmed får vi vätskans nivå.

Nivån visas i 16x2 LCD -skärm. Andra detaljer visas också på skärmen.

Det finns två förinställningar för max- och minimivärdegränsen för pumpsignalgeneratorn. Den genereras när vätskenivån når över maxgränsen som förinställts. Signalen blir igen låg när den når under minimigränsen som ställts in av andra förinställningar.

Markavståndskalibreringen görs av en switch, som skickar en signal till atmega328 -chipet och det registrerar det aktuella avståndet och anger det som referensjord.

Steg 3: Program - Arduino

Programmet är gjort i Arduino. Använd detta för att bränna till Atmega328 (eller något du gillar).

Programmet är tillgängligt på git under GPL-3.0.

En kompilerad hex-fil ges redan för enkel överföring med arduino-builder.

Beroenden:

Newping bibliotek.

Steg 4: Kalibrering och data

LCD -skärmen visar den aktuella nivån (skillnaden) från den kalibrerade nivån.

De två förinställningarna bestämmer den övre (maxnivån) varefter lasten stängs av och den lägre (minnivån) efter vilken lasten slås på. Last avsedd här är pump, eftersom detta system är tillämpligt i automatiserat pumpsystem. Fyra rubriker är för sonisk (ping) sensor. Jag använde HC-SR04. Ett par sidhuvud för motor (digital stift 9). Kräver en extern pumpdrivrutin. Den använde EEPROM för att lagra kalibreringsdata.

Två kalibreringar tillhandahålls:

  • LEVEL_CAL
  • MOTOR_TRIGGER_CAL

Steg 5: Pumpstyrning

Kortet har 2 dedikerade stift för pumpsignal

En ger ut 5V -signal när pumpen måste slås på (när vätskenivån går under det förinställda låga gränsvärdet) och ger 0V -signal när pumpen ska hållas av (nivån går över den övre gränsen).

Signalen skickas ett reläkort för att styra en AC -pump.

Rekommenderad: