Innholdsfortegnelse:

UltraSonic Liquid Level Controller: 6 trinn (med bilder)
UltraSonic Liquid Level Controller: 6 trinn (med bilder)

Video: UltraSonic Liquid Level Controller: 6 trinn (med bilder)

Video: UltraSonic Liquid Level Controller: 6 trinn (med bilder)
Video: Возведение перегородок санузла из блоков. Все этапы. #4 2024, November
Anonim
UltraSonic Liquid Level Controller
UltraSonic Liquid Level Controller

Innledning Som du sikkert vet, har Iran tørt vær, og det er vannmangel i landet mitt. Noen ganger, spesielt om sommeren, kan det sees at regjeringen kutter vannet. Så de fleste leilighetene har en vanntank. Det er en 1500 liters tank i leiligheten vår som gir vann. Det er også 12 boenheter i leiligheten vår. Som et resultat kan det forventes at tanken snart blir tom. Det er en vannpumpe festet til tanken som sender vann inn i bygningen. Når tanken er tom, fungerer pumpen uten vann. Denne situasjonen forårsaker en økning i motortemperaturen, og i løpet av tiden kan det forårsake pumpesvikt. For en tid siden skjedde denne pumpefeilen for andre gang for oss, og etter å ha åpnet motoren så vi at spoletrådene ble brent. Etter at vi byttet pumpen, for å forhindre dette problemet igjen, bestemte jeg meg for å lage en vannstandskontroller. Jeg planla å lage en krets for å kutte pumpens strømforsyning når vannet kom under lavgrensen i tanken. Pumpen fungerer ikke før vannet stiger til en høy grense. Etter å ha passert den høye grensen, vil kretsen koble til strømforsyningen igjen. I begynnelsen søkte jeg over internett for å se om jeg kan finne en passende krets. Jeg fant imidlertid ikke noe passende. Det var noen Arduino -baserte vannindikatorer, men det kunne ikke løse problemet mitt. Som et resultat bestemte jeg meg for å designe min vannstandsregulator. En alt-i-ett-pakke med et greit grafisk brukergrensesnitt for å angi parametere. Jeg prøvde også å vurdere EMC -standarder for å være sikker på at enheten fungerer gyldig i forskjellige situasjoner.

Trinn 1: Prinsipp

Prinsipp
Prinsipp

Du kjenner sikkert prinsippet før. Når ultralydpulssignalet sendes ut mot et objekt, reflekteres det av objektet og ekko går tilbake til avsenderen. Hvis du beregner tiden som reiste med ultralydpulsen, kan du finne avstanden til objektet. I vårt tilfelle er elementet vannet.

Vær oppmerksom på at når du finner avstanden til vannet, beregner du volumet av tom plass i tanken. For å få vannmengden må du trekke det beregnede volumet fra det totale tankvolumet.

Trinn 2: Sensor, strømforsyning og kontroller

Sensor, strømforsyning og kontroller
Sensor, strømforsyning og kontroller
Sensor, strømforsyning og kontroller
Sensor, strømforsyning og kontroller
Sensor, strømforsyning og kontroller
Sensor, strømforsyning og kontroller
Sensor, strømforsyning og kontroller
Sensor, strømforsyning og kontroller

Maskinvare

For sensoren brukte jeg JSN-SR04T vanntett ultralydssensor. Arbeidsrutinen er som HC-SR04 (ekko og trig-pin).

Spesifikasjoner:

  • Avstand: 25 cm til 450 cm
  • Arbeidsspenning: DC 3.0-5.5V
  • Arbeidsstrøm: < 8mA
  • Nøyaktighet: ± 1 cm
  • Frekvens: 40khz
  • Arbeidstemperatur: -20 ~ 70 ℃

Vær oppmerksom på at denne kontrolleren har noen begrensninger. for eksempel: 1- JSN-SR04T kan ikke måle avstand under 25 cm, så du må installere sensoren minst 25 cm over overflaten av vannet. Videre er maksimal avstandsmåling 4,5M. Så denne sensoren er ikke egnet for store tanker. 2- nøyaktigheten er 1 cm for denne sensoren. Som et resultat, basert på tankens diameter, kan volumoppløsningen som enheten vil vise, varieres. 3- lydhastigheten kan variere basert på temperatur. Som et resultat kan nøyaktigheten påvirkes av forskjellige regioner. Disse begrensningene var imidlertid ikke avgjørende for meg, og nøyaktigheten var passende.

Kontrolleren

Jeg brukte STM32F030K6T6 ARM Cortex M0 fra STMicroelectronics. Du finner spesifikasjonen til denne mikrokontrolleren her.

Strømforsyningen

Den første delen er å konvertere 220V/50Hz (Iran Electricity) til 12VDC. For dette formålet brukte jeg HLK-PM12 buck step down strømforsyningsmodul. Denne AC/DC -omformeren kan konvertere 90 ~ 264 VAC til 12VDC med 0,25A utgangsstrøm.

Som du sikkert vet, kan den induktive belastningen på reléet forårsake flere problemer på kretsen og strømforsyningen, og problemer med strømforsyningen kan føre til inkonstans, spesielt i mikrokontrolleren. Løsningen er å isolere strømforsyninger. Du må også bruke en snubberkrets på relékontakter. Det er flere metoder for å isolere strømforsyninger. For eksempel kan du bruke en transformator med to utganger. Videre er det isolerte DC/DC -omformere der ute i en liten størrelse som kan isolere utgangen fra inngangen. Jeg brukte MINMAX MA03-12S09 til dette formålet. Det er en 3W DC/DC -omformer med isolasjon.

Trinn 3: Supervisor IC

Veilederen IC
Veilederen IC

I følge TI App -notat: En spenningsovervåker (også kjent som en tilbakestilt integrert krets [IC]) er en type spenningsmonitor som overvåker systemets strømforsyning. Spenningsovervåker brukes ofte sammen med prosessorer, spenningsregulatorer og sekvenseringer - generelt hvor det er nødvendig med spennings- eller strømføling. Tilsynsmyndigheter overvåker spenningsskinner for å sikre at strømmen slås på, oppdager feil og kommuniserer med innebygde prosessorer for å sikre systemhelse. du finner dette appnotatet her. Selv om STM32 mikrokontrollere har innebygde veiledere, for eksempel strøm på forsyningsmonitor, brukte jeg en ekstern veiledningsbrikke for å sikre at alt vil fungere fint. I mitt tilfelle brukte jeg TL7705 fra TI. Du kan se beskrivelsen fra Texas Instruments-nettstedet for denne IC-en nedenfor: TL77xxA-familien med integrerte kretsforsyningsspenningstilsynsmenn er designet spesielt for bruk som tilbakestillingskontrollere i mikrodatamaskiner og mikroprosessorsystemer. Forsyningsspenningsovervåkeren overvåker forsyningen for underspenningsforhold ved SENSE-inngangen. Under oppstart blir RESET-utgangen aktiv (lav) når VCC oppnår en verdi som nærmer seg 3,6 V. På dette tidspunktet (forutsatt at SENSE er over VIT+), aktiverer forsinkelsestidsfunksjonen en tidsforsinkelse, hvoretter utgangene RESET og RESET (IKKE) gå inaktive (henholdsvis høy og lav). Når det oppstår en underspenningstilstand under normal drift, blir RESET og RESET (NOT) aktive.

Trinn 4: kretskortet (PCB)

Printed Circuit Board (PCB)
Printed Circuit Board (PCB)
Printed Circuit Board (PCB)
Printed Circuit Board (PCB)
Printed Circuit Board (PCB)
Printed Circuit Board (PCB)
Printed Circuit Board (PCB)
Printed Circuit Board (PCB)

Jeg designet PCB i to deler. Den første er LCD -kretskortet som er koblet til hovedkortet med bånd/flatkabel. Den andre delen er kontrollerkretsen. På denne kretskortet plasserte jeg strømforsyning, mikrokontroller, ultralydsensor og relaterte komponenter. Og også strømdelen som er relé-, varistor- og snubberkretsen. Som du sikkert vet, kan mekaniske reléer, for eksempel et relé som jeg brukte i kretsen min, brytes hvis de alltid fungerer. For å løse dette problemet brukte jeg normalt nærkontakt (NC) på reléet. Så i en normal situasjon er reléet ikke aktivt, og normalt kan nærkontakt lede strøm til pumpen. Når vannet kommer under lavgrensen, vil reléet slås på, og dette vil kutte strømmen. Når det er sagt, er dette grunnen til at jeg brukte snubberkretsen på NC- og COM -kontakter. Når det gjelder det faktum at pumpen hadde høy effekt, brukte jeg det andre 220 -reléet til det, og jeg kjører det med reléet på PCB.

Du kan laste ned PCB -filer som Altium PCB -filer og Gerber -filer fra min GitHub her.

Trinn 5: Kode

Image
Image
Installasjon på tank
Installasjon på tank

Jeg brukte STM32Cube IDE, som er en alt-i-ett-løsning for kodeutvikling fra STMicroelectronics. Den er basert på Eclipse IDE med GCC ARM -kompilator. Den har også STM32CubeMX i den. Du finner mer informasjon her. Først skrev jeg en kode som inkluderte tankspesifikasjonen vår (høyde og diameter). Imidlertid bestemte jeg meg for å endre den til GUI for å sette parametere basert på forskjellige spesifikasjoner.

Trinn 6: Installasjon på tank

Installasjon på tank
Installasjon på tank
Installasjon på tank
Installasjon på tank

Til slutt laget jeg en enkel boks for å beskytte PCB -en mot vann. Jeg laget også et hull på toppen av tanken for å sette sensoren på den.

Anbefalt: