INHOUDSOPGAWE:

UltraSonic Liquid Level Controller: 6 stappe (met foto's)
UltraSonic Liquid Level Controller: 6 stappe (met foto's)

Video: UltraSonic Liquid Level Controller: 6 stappe (met foto's)

Video: UltraSonic Liquid Level Controller: 6 stappe (met foto's)
Video: LIFE ALTERING LIVE Channeling That Will REDEFINE Your Life! A Must-See Event! | Rubia Lacerda 2024, Julie
Anonim
UltraSonic vloeistofvlakbeheerder
UltraSonic vloeistofvlakbeheerder

Inleiding Soos u waarskynlik weet, het Iran droë weer en is daar 'n gebrek aan water in my land. Soms, veral in die somer, kan gesien word dat die regering die water sny. Die meeste woonstelle het dus 'n watertenk. Daar is 'n tenk van 1500 liter in ons woonstel wat water voorsien. Daar is ook 12 wooneenhede in ons woonstel. As gevolg hiervan kan verwag word dat die tenk binnekort leeg raak. Daar is 'n waterpomp aan die tenk wat water na die gebou stuur. As die tenk leeg is, werk die pomp sonder water. Hierdie situasie veroorsaak 'n toename in die motortemperatuur, en gedurende die tyd kan dit pompstorting veroorsaak. 'N Ruk gelede het hierdie pomp vir die tweede keer vir ons gebeur, en nadat ons die motor oopgemaak het, het ons gesien dat spoeldrade gebrand is. Nadat ons die pomp vervang het, het ek besluit om 'n watervlakbeheerder te maak om hierdie probleem weer te voorkom. Ek was van plan om 'n stroombaan te maak om die pomp se kragtoevoer te onderbreek wanneer die water onder die laagste perk in die tenk kom. Die pomp werk nie totdat die water tot 'n hoë limiet styg nie. Nadat die hoë limiet verby is, sal die kring weer die kragtoevoer aansluit. Aan die begin het ek op die internet gesoek om te sien of ek 'n geskikte kring kan vind. Ek het egter niks gepas gevind nie. Daar was 'n paar wateraanwysers op Arduino, maar my probleem kon nie opgelos word nie. As gevolg hiervan het ek besluit om my watervlakbeheerder te ontwerp. 'N Alles-in-een pakket met 'n eenvoudige grafiese gebruikerskoppelvlak om parameters in te stel. Ek het ook probeer om EMC -standaarde te oorweeg om seker te wees dat die toestel in verskillende situasies geldig is.

Stap 1: Beginsel

Beginsel
Beginsel

U ken waarskynlik die beginsel voorheen. As die ultrasoniese polssignaal na 'n voorwerp uitgestuur word, word dit deur die voorwerp gereflekteer en eggo keer terug na die sender. As u die tyd wat deur die ultrasoniese pols gereis is, bereken, kan u die afstand van die voorwerp vind. In ons geval is die item die water.

Let daarop dat as u die afstand tot die water vind, u die volume leë ruimte in die tenk bereken. Om die volume water te kry, moet u die berekende volume van die totale tenkvolume aftrek.

Stap 2: Sensor, kragvoorsiening en kontroleerder

Sensor, kragvoorsiening en kontroleerder
Sensor, kragvoorsiening en kontroleerder
Sensor, kragvoorsiening en kontroleerder
Sensor, kragvoorsiening en kontroleerder
Sensor, kragvoorsiening en kontroleerder
Sensor, kragvoorsiening en kontroleerder
Sensor, kragvoorsiening en kontroleerder
Sensor, kragvoorsiening en kontroleerder

Hardeware

Vir die sensor het ek JSN-SR04T waterdigte ultrasoniese sensor gebruik. Die werkroetine is soos HC-SR04 (eggo en trig pin).

Spesifikasies:

  • Afstand: 25 cm tot 450 cm
  • Werkspanning: DC 3.0-5.5V
  • Werkstroom: < 8mA
  • Akkuraatheid: ± 1 cm
  • Frekwensie: 40khz
  • Werktemperatuur: -20 ~ 70 ℃

Let daarop dat hierdie beheerder 'n paar beperkings het. byvoorbeeld: 1- JSN-SR04T kan nie afstand onder 25CM meet nie, dus moet u die sensor minstens 25CM bo die oppervlak van die water installeer. Boonop is die maksimum afstandmeting 4,5 miljoen. Hierdie sensor is dus nie geskik vir groot tenks nie. 2- die akkuraatheid is 1 cm vir hierdie sensor. As gevolg hiervan, kan die volume -resolusie wat die toestel toon, wissel na gelang van die deursnee van die tenk. 3- die klanksnelheid kan wissel afhangende van die temperatuur. As gevolg hiervan kan akkuraatheid deur verskillende streke beïnvloed word. Hierdie beperkings was vir my egter nie deurslaggewend nie, en die akkuraatheid was gepas.

Die beheerder

Ek het STM32F030K6T6 ARM Cortex M0 van STMicroelectronics gebruik. U kan die spesifikasie van hierdie mikrobeheerder hier vind.

Die kragtoevoer

Die eerste deel is om 220V/50Hz (Iran Electricity) na 12VDC om te skakel. Vir hierdie doel het ek die kragbron HLK-PM12-kragbron gebruik. Hierdie AC/DC -omskakelaar kan 90 ~ 264 VAC na 12VDC omskakel met 0,25A uitsetstroom.

Soos u waarskynlik weet, kan die induktiewe las op die relais verskeie probleme op die stroombaan en die kragtoevoer veroorsaak, en probleme met die kragtoevoer kan tot onstabiliteit lei, veral in die mikrobeheerder. Die oplossing is om kragbronne te isoleer. U moet ook 'n snubber -kring op afloskontakte gebruik. Daar is verskillende metodes om kragbronne te isoleer. U kan byvoorbeeld 'n transformator met twee uitsette gebruik. Boonop is daar geïsoleerde DC/DC -omsetters in 'n klein grootte wat die uitset van die invoer kan isoleer. Ek het MINMAX MA03-12S09 vir hierdie doel gebruik. Dit is 'n 3W DC/DC -omskakelaar met isolasie.

Stap 3: Die Supervisor IC

Die Supervisor IC
Die Supervisor IC

Volgens TI App -nota: 'n Spanningstoesighouer (ook bekend as 'n reset geïntegreerde stroombaan [IC]) is 'n tipe spanningsmonitor wat 'n stelsel se kragtoevoer monitor. Spanningstoezighouers word dikwels gebruik met verwerkers, spanningsreguleerders en opeenvolgers - in die algemeen waar spanning of stroomopsporing benodig word. Toesighouers monitor spanningsrails om aan te skakel, foute op te spoor en te kommunikeer met ingeboude verwerkers om die gesondheid van die stelsel te verseker. u kan hierdie app -nota hier vind. Alhoewel STM32-mikrobeheerders ingeboude toesighouers het, soos 'n voedingsmonitor, het ek 'n eksterne toesighouerskyfie gebruik om te verseker dat alles goed gaan. In my geval het ek TL7705 van TI gebruik. U kan die beskrywing hieronder sien van die Texas Instruments-webwerf vir hierdie IC: Die toevoer-spanning toesighouer monitor die toevoer vir onderspanningstoestande by die SENSE-ingang. Tydens opstart word die RESET-uitset aktief (laag) wanneer VCC 'n waarde bereik wat 3,6 V. bereik. NIE) word onaktief (onderskeidelik hoog en laag). As 'n onderspanningstoestand tydens normale werking voorkom, word RESET en RESET (NIE) aktief.

Stap 4: Die printplaat (PCB)

Die printplaat (PCB)
Die printplaat (PCB)
Die printplaat (PCB)
Die printplaat (PCB)
Die printplaat (PCB)
Die printplaat (PCB)
Die printplaat (PCB)
Die printplaat (PCB)

Ek het die PCB in twee stukke ontwerp. Die eerste is die LCD PCB wat met 'n lint/plat kabel aan die hoofbord gekoppel is. Die tweede deel is die controller PCB. Op hierdie PCB het ek kragtoevoer, mikrobeheerder, ultrasoniese sensor en verwante komponente geplaas. En ook die kragdeel wat die relais-, varistor- en snubber -kring is. Soos u waarskynlik weet, kan meganiese aflosse, soos 'n aflos wat ek in my kring gebruik het, breek as dit altyd werk. Om hierdie probleem op te los, het ek die relais normaalweg naby (NC) gebruik. Dus, in 'n normale situasie, is die relais nie aktief nie en normaalweg kan naby kontak krag na die pomp lei. Elke keer as die water onder die lae limiet kom, sal die relais aanskakel en dit sal die krag onderbreek. Dit gesê, dit is die rede waarom ek die snubber -kring op NC- en COM -kontakte gebruik het. Met betrekking tot die feit dat die pomp hoë krag gehad het, het ek die tweede 220 -aflos daarvoor gebruik, en ek het dit met die aflos op die PCB bestuur.

U kan PCB -lêers soos Altium PCB -lêers en Gerber -lêers van my GitHub hier aflaai.

Stap 5: Kode

Image
Image
Installasie op tenk
Installasie op tenk

Ek het die STM32Cube IDE gebruik, wat 'n alles-in-een oplossing is vir die ontwikkeling van kode van STMicroelectronics. Dit is gebaseer op Eclipse IDE met GCC ARM -samesteller. Dit bevat ook STM32CubeMX. U kan meer inligting hier vind. Eers het ek 'n kode geskryf wat ons tenkspesifikasie (hoogte en deursnee) bevat. Ek het egter besluit om dit na GUI te verander om parameters op te stel op grond van verskillende spesifikasies.

Stap 6: Installasie op tenk

Installasie op tenk
Installasie op tenk
Installasie op tenk
Installasie op tenk

Uiteindelik het ek 'n eenvoudige boks daarvoor gemaak om die PCB teen water te beskerm. Ek het ook 'n gat bo -op die tenk gemaak om die sensor daarop te sit.

Aanbeveel: