Sisällysluettelo:
Video: Nestetason anturi (ultraääni): 5 vaihetta
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Nestetason anturi tunnistaa nesteen tason maanpinnasta. Käynnistää moottorin (vaatii moottorin ohjainvahvistimen) tietyn arvon alapuolelle ja sammuttaa sen tietyn arvon yläpuolella nesteen täyttämisen jälkeen
Tämän järjestelmän ominaisuudet:
- Toimii minkä tahansa nesteen kanssa (vesi, öljy jne.)
- Kantama jopa 250 cm maasta (myös säiliön korkeus).
- Tarkka mittaus (enintään 2 cm: n virhe) HC-SR04: llä, Pingillä jne.
- Moottorin ohjauslähtö.
-
Kalibrointi (ajon aikana) käytettävissä:
- Maanpinta: Voidaan kalibroida mille tahansa säiliölle (korkeus enintään 250 cm) järjestelmän ollessa käynnissä painikkeella.
- Moottorin ON- ja OFF -tasot: ON- ja OFF -tasot voidaan asettaa mukana toimitetuilla esiasetuksilla ja tilan vaihtopainikkeella.
- Poisrajojen ilmaisu '0 cm'.
- Toimii 5V DC: llä.
Rakentamiseen tarvittavat osat:
- Arduino (tai ATMega 328 ohjelmoijan kanssa).
- HC-SR04 tai mikä tahansa yleinen ultraäänianturimoduuli.
- Esiasetukset (20K tai 10K) - 2 kpl
- Urosotsikko - 6 -nastainen
- Naarasliitin 16 -nastainen
- Paina mikrokytkintä
- Paina mikrokytkintä
- 10K 1/4 watin vastus
- 1N4007 Diodi
- DC -pistorasia
- 220E vastus
- Veroboard (tai Breadboard, jos haluat)
- Liitä johdot
- 16*2 LCD -näyttö, jossa on urosliittimet
- Moottorin kuljettaja ja moottori (jos haluat)
- Tietoa elektroniikan ja Arduinon perustaidoista
Vaihe 1: Piirikaavio
Vaihe 2: Työskentely
Anturikortissamme on ultraääni Tx- ja Rx -osia. Anturi lukee etäisyyden nesteen pintatasosta. Tx on pohjimmiltaan 40 kHz: n kaiutin, joka lähettää 40 kHz: n ultraäänipulsseja. Pulssin lähetysaika ja pulssin vastaanottoaika merkitään kullekin pulssille. Nämä pulssit tunnistetaan MCU: ssa.
MCU panee merkille aikaeron ja laski sitten äänen nopeuden etäisyyden laskemiseksi. MCU on esikalibroitava tallentamaan etäisyys maanpinnasta eli säiliön/kontin ollessa tyhjä. Ero lasketaan ja saadaan nesteen taso.
Taso näkyy 16x2 LCD -näytössä. Myös muut yksityiskohdat näkyvät näytöllä.
Pumpun signaaligeneraattorin enimmäis- ja minimiarvorajoja varten on kaksi esiasetusta. A syntyy, kun nesteen määrä ylittää esiasetetun enimmäisrajan. Signaali heikkenee jälleen, kun se saavuttaa toisen esiasetuksen asettaman minimirajan.
Maan etäisyyden kalibrointi suoritetaan kytkimellä, joka lähettää signaalin atmega328 -sirulle ja tallentaa nykyisen etäisyyden ja asettaa sen vertailumaaksi.
Vaihe 3: Ohjelmoi - Arduino
Ohjelma on tehty Arduinossa. Käytä tätä polttaaksesi Atmega328: een (tai mihin tahansa haluamaasi).
Ohjelma on saatavana osoitteesta git GPL-3.0.
Käännetty heksatiedosto on jo annettu helppoon lataamiseen arduino-builderin avulla.
Riippuvuudet:
Uusi kirjasto.
Vaihe 4: Kalibrointi ja tiedot
Nestekidenäytössä näkyy nykyinen taso (ero) kalibroidusta tasosta.
Nämä kaksi esiasetusta päättävät ylemmän (maks. Tason), jonka jälkeen kuorma sammuu, ja alemman (min. Tason), jonka jälkeen kuorma käynnistyy. Tässä tarkoitettu kuorma on pumppu, koska tämä järjestelmä soveltuu automaattiseen pumppujärjestelmään. Neljä otsikkoa on tarkoitettu äänitunnistimelle (ping). Käytin HC-SR04: ää. Yksi pari otsikkoa moottorille (digitaalinen nasta 9). Edellyttää ulkoista pumpun ohjainta. Se käytti EEPROMia kalibrointitietojen tallentamiseen.
Tarjolla on kaksi kalibrointia:
- LEVEL_CAL
- MOTOR_TRIGGER_CAL
Vaihe 5: Pumpun ohjaus
Kortissa on 2 erillistä nastaa pumpun signaalille
Yksi antaa 5 V: n signaalin, kun pumppu on kytkettävä päälle (kun nesteen taso alittaa esiasetetun alaraja -arvon), ja antaa 0 V: n signaalin, kun pumppu on pidettävä pois päältä (taso ylittää ylärajan).
Signaali lähetetään relekortille AC -pumpun ohjaamiseksi.