Sisukord:

UltraSonic vedeliku taseme kontroller: 6 sammu (piltidega)
UltraSonic vedeliku taseme kontroller: 6 sammu (piltidega)

Video: UltraSonic vedeliku taseme kontroller: 6 sammu (piltidega)

Video: UltraSonic vedeliku taseme kontroller: 6 sammu (piltidega)
Video: POTS Research Updates: University of Calgary, Children's National Medical System & Vanderbilt Univer 2024, Juuli
Anonim
UltraSonic vedeliku taseme regulaator
UltraSonic vedeliku taseme regulaator

Nagu te ilmselt teate, on Iraanil kuiv ilm ja minu riigis on veepuudus. Mõnikord, eriti suvel, on näha, et valitsus lõikab vett. Nii et enamikus korterites on veepaak. Meie korteris on 1500 -liitrine paak, mis annab vett. Lisaks on meie korteris 12 elamut. Selle tulemusena võib eeldada, et paak tühjeneb väga kiiresti. Paagi külge on kinnitatud veepump, mis saadab vett hoonesse. Kui paak on tühi, töötab pump ilma veeta. See olukord põhjustab mootori temperatuuri tõusu ja selle aja jooksul võib see põhjustada pumba rikke. Mõni aeg tagasi juhtus see pumba rike meie jaoks teist korda ja pärast mootori avamist nägime, et mähise juhtmed on põlenud. Pärast pumba vahetamist otsustasin selle probleemi uuesti vältimiseks teha veetaseme regulaatori. Plaanisin teha vooluringi, et katkestada pumba toide, kui vesi langeb paagis madalamale. Pump ei tööta enne, kui vesi tõuseb kõrgele. Pärast ülempiiri ületamist ühendab ahel uuesti toiteallika. Alguses otsisin internetist, kas leian sobiva vooluringi. Siiski ei leidnud ma midagi sobivat. Seal olid mõned Arduino -põhised veenäitajad, kuid see ei suutnud minu probleemi lahendada. Selle tulemusena otsustasin kujundada oma veetaseme regulaatori. Kõik-ühes pakett, millel on lihtne graafiline kasutajaliides parameetrite seadistamiseks. Samuti püüdsin EMC standardeid pidada kindlateks, et seade töötab erinevates olukordades.

1. samm: põhimõte

Põhimõte
Põhimõte

Tõenäoliselt teate põhimõtet varem. Kui ultraheli impulssignaal väljastatakse objekti poole, peegeldub see objektilt ja kaja naaseb saatjale. Kui arvutate ultraheli impulsi läbitud aja, saate leida objekti kauguse. Meie puhul on esemeks vesi.

Pange tähele, et kui leiate kauguse veeni, arvutate paagi tühja ruumi mahtu. Veemahu saamiseks peate arvutatud mahu lahutama paagi kogumahust.

2. samm: andur, toide ja kontroller

Andur, toiteallikas ja kontroller
Andur, toiteallikas ja kontroller
Andur, toiteallikas ja kontroller
Andur, toiteallikas ja kontroller
Andur, toiteallikas ja kontroller
Andur, toiteallikas ja kontroller
Andur, toiteallikas ja kontroller
Andur, toiteallikas ja kontroller

Riistvara

Anduri jaoks kasutasin veekindlat ultraheliandurit JSN-SR04T. Töörutiin on nagu HC-SR04 (kaja ja käivitusnõel).

Spetsifikatsioonid:

  • Kaugus: 25 cm kuni 450 cm
  • Tööpinge: DC 3,0-5,5V
  • Töövool: < 8mA
  • Täpsus: ± 1 cm
  • Sagedus: 40 khz
  • Töötemperatuur: -20 ~ 70 ℃

Pange tähele, et sellel kontrolleril on mõned piirangud. näiteks: 1- JSN-SR04T ei suuda mõõta kaugust alla 25 cm, seega peate anduri paigaldama vähemalt 25 cm veepinnast kõrgemale. Lisaks on maksimaalne kauguse mõõtmine 4,5M. Nii et see andur ei sobi suurtele tankidele. 2- selle anduri täpsus on 1 cm. Selle tulemusel võib paagi läbimõõdu põhjal seadme kuvatav helitugevus varieeruda. 3- heli kiirus võib sõltuvalt temperatuurist varieeruda. Selle tulemusel võivad täpsust mõjutada erinevad piirkonnad. Kuid need piirangud ei olnud minu jaoks üliolulised ja täpsus oli sobiv.

Kontroller

Kasutasin STM32F030K6T6 ARM Cortex M0 firmast STMicroelectronics. Selle mikrokontrolleri spetsifikatsiooni leiate siit.

Toiteallikas

Esimene osa on 220V/50Hz (Iraani elekter) muundamine 12VDC -ks. Sel eesmärgil kasutasin HLK-PM12 buck step down toiteplokki. See vahelduv-/alalisvoolu muundur suudab muuta 0,25A väljundvooluga 90 ~ 264 VAC 12VDC.

Nagu te ilmselt teate, võib relee induktiivne koormus põhjustada mitmeid probleeme vooluahelas ja toiteallikas ning toiteallika raskused võivad põhjustada ebakindlust, eriti mikrokontrolleri puhul. Lahendus on toiteallikate isoleerimine. Samuti peate releekontaktidel kasutama nuusutusskeemi. Toiteallikate isoleerimiseks on mitmeid meetodeid. Näiteks võite kasutada kahe väljundiga trafot. Lisaks on seal isoleeritud väikese suurusega alalisvoolu/alalisvoolu muundureid, mis suudavad väljundi sisendist eraldada. Kasutasin selleks MINMAX MA03-12S09. See on isoleeritud 3W alalisvoolu/alalisvoolu muundur.

3. samm: juhendaja IC

Juhendaja IC
Juhendaja IC

Vastavalt TI rakenduse märkusele: Pingejärelevalve (tuntud ka kui lähtestatud integraallülitus [IC]) on teatud tüüpi pingemonitor, mis jälgib süsteemi toiteallikat. Pingejärelevalveid kasutatakse sageli koos protsessorite, pingeregulaatorite ja sekveneerijatega - üldiselt, kus on vaja pinget või voolu tuvastada. Juhendajad jälgivad pingepiire, et tagada sisselülitamine, avastada rikkeid ja suhelda sisseehitatud protsessoritega, et tagada süsteemi töö. selle rakenduse märkuse leiate siit. Kuigi STM32 mikrokontrolleritel on sisseehitatud järelevalvevahendid, näiteks toiteallika monitor, kasutasin välise järelevalve kiipi, et kõik toimiks hästi. Minu puhul kasutasin TL7705 TI -st. Selle IC kirjeldust näete Texas Instrumentsi veebisaidilt: TL77xxA integreeritud vooluahela toitepingejärelevalve perekond on loodud spetsiaalselt kasutamiseks mikroarvuti- ja mikroprotsessorisüsteemide lähtestuskontrolleritena. Toitepingejärelevalve jälgib SENSE sisendi toitepinge alapinget. Sisselülitamisel muutub RESET-väljund aktiivseks (madalaks), kui VCC saavutab väärtuse, mis läheneb 3,6 V. Sel hetkel (eeldusel, et SENSE on üle VIT+) aktiveerib viitetaimeri funktsioon viivituse, mille järel väljundid RESET ja RESET (EI) ei lähe passiivseks (vastavalt kõrge ja madal). Kui tavarežiimi ajal tekib alapinge, lülituvad RESET ja RESET (NOT) sisse.

4. samm: trükkplaat (PCB)

Trükkplaat (PCB)
Trükkplaat (PCB)
Trükkplaat (PCB)
Trükkplaat (PCB)
Trükkplaat (PCB)
Trükkplaat (PCB)
Trükkplaat (PCB)
Trükkplaat (PCB)

Ma kujundasin trükkplaadi kaheks osaks. Esimene neist on LCD -trükkplaat, mis on lindi/lameda kaabliga ühendatud emaplaadiga. Teine osa on kontrolleri trükkplaat. Sellele trükkplaadile paigutasin toiteallika, mikrokontrolleri, ultrahelianduri ja sellega seotud komponendid. Ja ka toiteosa, mis on relee, varistori ja nuusutaja ahel. Nagu te ilmselt teate, võivad mehaanilised releed, näiteks relee, mida ma oma vooluringis kasutasin, puruneda, kui need alati töötavad. Selle probleemi lahendamiseks kasutasin relee normaalselt tihedat kontakti (NC). Nii et tavaolukorras ei ole relee aktiivne ja tavaliselt võib lähedane kontakt juhtida pumpa. Kui vesi langeb alla madala piiri, lülitub relee sisse ja see katkestab voolu. Olles seda öelnud, on see põhjus, miks ma kasutasin NC- ja COM -kontaktide nõtkeahelat. Mis puudutab asjaolu, et pumbal oli suur võimsus, siis kasutasin selle jaoks teist 220 releed ja sõidan sellega koos PCB -ga releega.

Siit saate minu GitHubist alla laadida PCB -faile, näiteks Altium PCB -faile ja Gerber -faile.

Samm: kood

Image
Image
Paigaldamine paaki
Paigaldamine paaki

Kasutasin STM32Cube IDE-d, mis on kõik-ühes lahendus koodide arendamiseks STMicroelectronicsilt. See põhineb Eclipse IDE -l koos GCC ARM -kompilaatoriga. Lisaks on sellel STM32CubeMX. Lisateavet leiate siit. Alguses kirjutasin koodi, mis sisaldas meie paagi spetsifikatsiooni (kõrgus ja läbimõõt). Siiski otsustasin muuta selle GUI -ks, et määrata parameetrid erinevate spetsifikatsioonide alusel.

6. samm: paigaldamine paaki

Paigaldamine paaki
Paigaldamine paaki
Paigaldamine paaki
Paigaldamine paaki

Lõpuks tegin selle jaoks lihtsa kasti, mis kaitseb trükkplaati vee eest. Samuti tegin paagi ülaossa augu, kuhu andur peale panna.

Soovitan: