Turinys:

„UltraSonic“skysčio lygio valdiklis: 6 žingsniai (su nuotraukomis)
„UltraSonic“skysčio lygio valdiklis: 6 žingsniai (su nuotraukomis)

Video: „UltraSonic“skysčio lygio valdiklis: 6 žingsniai (su nuotraukomis)

Video: „UltraSonic“skysčio lygio valdiklis: 6 žingsniai (su nuotraukomis)
Video: 4 PAPRASTOS GUDRYBĖS VAIRUOTOJAMS | AUTODOC 2024, Liepa
Anonim
UltraSonic skysčio lygio valdiklis
UltraSonic skysčio lygio valdiklis

Kaip tikriausiai žinote, Iranas yra sausas oras, o mano šalyje trūksta vandens. Kartais, ypač vasarą, galima pastebėti, kad valdžia mažina vandenį. Taigi daugumoje butų yra vandens rezervuaras. Mūsų bute yra 1500 litrų bakas, kuris tiekia vandenį. Be to, mūsų bute yra 12 gyvenamųjų vienetų. Dėl to galima tikėtis, kad bakas labai greitai ištuštės. Prie rezervuaro yra vandens siurblys, kuris siunčia vandenį į pastatą. Kai bakas tuščias, siurblys veikia be vandens. Ši situacija padidina variklio temperatūrą, o per tą laiką gali sugesti siurblys. Prieš kurį laiką šis siurblio gedimas mums įvyko antrą kartą, o atidarę variklį pamatėme, kad apdegė ritės laidai. Pakeitę siurblį, norėdami vėl išvengti šios problemos, nusprendžiau pasidaryti vandens lygio reguliatorių. Aš planavau sukurti grandinę, kad nutraukčiau siurblio maitinimą, kai vanduo sumažės žemiau žemos ribos bake. Siurblys neveiks, kol vanduo nepasieks aukšto lygio. Praėjus aukštai ribai, grandinė vėl prijungs maitinimo šaltinį. Pradžioje internete ieškojau, ar galiu rasti tinkamą grandinę. Tačiau nieko tinkamo neradau. Buvo keletas „Arduino“pagrįstų vandens rodiklių, tačiau jie negalėjo išspręsti mano problemos. Dėl to nusprendžiau sukurti savo vandens lygio reguliatorių. „Viskas viename“paketas su paprasta grafine vartotojo sąsaja parametrams nustatyti. Be to, bandžiau atsižvelgti į EMC standartus, kad įsitikinčiau, jog prietaisas veikia galiojančiai įvairiose situacijose.

1 žingsnis: principas

Principas
Principas

Jūs tikriausiai žinojote principą anksčiau. Kai ultragarsinis impulsinis signalas skleidžiamas link objekto, jį atspindi objektas ir aidas grįžta siuntėjui. Jei apskaičiuosite ultragarso impulso nuvažiuotą laiką, galite rasti objekto atstumą. Mūsų atveju daiktas yra vanduo.

Atkreipkite dėmesį, kad radę atstumą iki vandens, jūs apskaičiuojate tuščios vietos rezervuare tūrį. Norėdami gauti vandens tūrį, iš bendro rezervuaro tūrio turite atimti apskaičiuotą tūrį.

2 žingsnis: jutiklis, maitinimo šaltinis ir valdiklis

Jutiklis, maitinimo šaltinis ir valdiklis
Jutiklis, maitinimo šaltinis ir valdiklis
Jutiklis, maitinimo šaltinis ir valdiklis
Jutiklis, maitinimo šaltinis ir valdiklis
Jutiklis, maitinimo šaltinis ir valdiklis
Jutiklis, maitinimo šaltinis ir valdiklis
Jutiklis, maitinimo šaltinis ir valdiklis
Jutiklis, maitinimo šaltinis ir valdiklis

Techninė įranga

Jutikliui naudojau vandeniui atsparų ultragarsinį jutiklį JSN-SR04T. Darbo tvarka yra panaši į HC-SR04 (aidas ir triukas).

Specifikacijos:

  • Atstumas: nuo 25 cm iki 450 cm
  • Darbinė įtampa: DC 3.0-5.5V
  • Darbinė srovė: < 8mA
  • Tikslumas: ± 1 cm
  • Dažnis: 40 khz
  • Darbinė temperatūra: -20 ~ 70 ℃

Atminkite, kad šis valdiklis turi tam tikrų apribojimų. pavyzdžiui: 1- JSN-SR04T negali išmatuoti atstumo žemiau 25CM, todėl turite įrengti jutiklį bent 25CM virš vandens paviršiaus. Be to, didžiausias atstumas yra 4,5 m. Taigi šis jutiklis netinka didžiulėms talpykloms. 2- šio jutiklio tikslumas yra 1 cm. Dėl to, atsižvelgiant į bako skersmenį, prietaiso rodoma tūrio skiriamoji geba gali skirtis. 3- garso greitis gali skirtis priklausomai nuo temperatūros. Dėl to tikslumą gali paveikti skirtingi regionai. Tačiau šie apribojimai man nebuvo lemiami, o tikslumas buvo tinkamas.

Kontrolierius

Aš naudoju STM32F030K6T6 ARM Cortex M0 iš STMicroelectronics. Šio mikrovaldiklio specifikaciją rasite čia.

Maitinimo šaltinis

Pirmoji dalis yra 220V/50Hz (Irano elektra) konvertavimas į 12VDC. Šiuo tikslu aš naudoju HLK-PM12 „buck step down“maitinimo modulį. Šis kintamosios/nuolatinės srovės keitiklis gali konvertuoti 90 ~ 264 VAC į 12VDC su 0,25A išėjimo srove.

Kaip jūs tikriausiai žinote, indukcinė relės apkrova gali sukelti keletą grandinės ir maitinimo šaltinio problemų, o maitinimo šaltinio sunkumai gali sukelti nenuoseklumą, ypač mikrovaldiklyje. Sprendimas yra izoliuoti maitinimo šaltinius. Be to, relės kontaktuose turite naudoti šnipinėjimo grandinę. Yra keletas būdų, kaip izoliuoti maitinimo šaltinius. Pavyzdžiui, galite naudoti transformatorių su dviem išėjimais. Be to, ten yra atskiri mažo dydžio DC/DC keitikliai, galintys atskirti išvestį nuo įvesties. Šiam tikslui naudojau MINMAX MA03-12S09. Tai 3W DC/DC keitiklis su izoliacija.

3 žingsnis: vadovas IC

Prižiūrėtojas IC
Prižiūrėtojas IC

Remiantis „TI App“pastaba: įtampos prižiūrėtojas (taip pat žinomas kaip atstatytasis integrinis grandynas [IC]) yra įtampos monitoriaus tipas, kuris stebi sistemos maitinimo šaltinį. Įtampos prižiūrėtojai dažnai naudojami su procesoriais, įtampos reguliatoriais ir sekomis - paprastai ten, kur reikalingas įtampos ar srovės jutimas. Prižiūrėtojai stebi įtampos bėgius, kad užtikrintų maitinimą, aptiktų gedimus ir bendrautų su integruotais procesoriais, kad užtikrintų sistemos sveikatą. šią programos pastabą rasite čia. Nors STM32 mikrovaldikliai turi įmontuotus prižiūrėtojus, tokius kaip maitinimo šaltinio monitorius, aš naudoju išorinį prižiūrėtojo lustą, kad įsitikinčiau, jog viskas veiks gerai. Mano atveju naudojau TL7705 iš TI. Žemiau galite pamatyti šio IC aprašymą iš „Texas Instruments“svetainės: TL77xxA integruotų grandinių maitinimo įtampos prižiūrėtojų šeima sukurta specialiai naudoti kaip mikrokompiuterių ir mikroprocesorių sistemų atstatymo valdikliai. Maitinimo įtampos prižiūrėtojas stebi maitinimą esant įtampai esant SENSE įėjimui. Įjungimo metu RESET išėjimas tampa aktyvus (žemas), kai VCC pasiekia reikšmę, kuri artėja prie 3,6 V. Šiuo metu (darant prielaidą, kad SENSE viršija VIT+), atidėjimo laikmačio funkcija įjungia laiko uždelsimą, po kurio išvedami RESET ir RESET (NE) neaktyvus (atitinkamai aukštas ir žemas). Kai įprasto darbo metu atsiranda įtampa, RESET ir RESET (NOT) įjungiami.

4 žingsnis: spausdintinė plokštė (PCB)

Spausdintinė plokštė (PCB)
Spausdintinė plokštė (PCB)
Spausdintinė plokštė (PCB)
Spausdintinė plokštė (PCB)
Spausdintinė plokštė (PCB)
Spausdintinė plokštė (PCB)
Spausdintinė plokštė (PCB)
Spausdintinė plokštė (PCB)

Aš sukūriau PCB iš dviejų dalių. Pirmasis yra LCD PCB, prijungtas prie pagrindinės plokštės su juosta/plokščiu kabeliu. Antroji dalis yra valdiklio PCB. Į šią PCB įdėjau maitinimo šaltinį, mikrovaldiklį, ultragarso jutiklį ir susijusius komponentus. Taip pat galios dalis, kuri yra relė, varistorius ir įsiurbimo grandinė. Kaip jūs tikriausiai žinote, mechaninės relės, tokios kaip relė, kurias naudoju savo grandinėje, gali sugesti, jei jos visada veikia. Norėdami išspręsti šią problemą, naudoju paprastai artimą relės kontaktą (NC). Taigi įprastoje situacijoje relė nėra aktyvi ir paprastai artimas kontaktas gali perduoti siurblio energiją. Kai vanduo nukris žemiau apatinės ribos, relė įsijungs ir tai sumažins maitinimą. Tai pasakius, tai yra priežastis, dėl kurios aš panaudojau NC ir COM kontaktų šnipinėjimo grandinę. Kalbant apie tai, kad siurblys turėjo didelę galią, aš jam naudojau antrąją 220 relę ir vairuoju ją su relė ant PCB.

Čia galite atsisiųsti PCB failus, tokius kaip „Altium PCB“ir „Gerber“failus iš mano „GitHub“.

5 žingsnis: kodas

Image
Image
Montavimas ant rezervuaro
Montavimas ant rezervuaro

Aš naudojau STM32Cube IDE, kuris yra viskas viename sprendimas kuriant kodą iš STMicroelectronics. Jis pagrįstas „Eclipse IDE“su GCC ARM kompiliatoriumi. Be to, jame yra STM32CubeMX. Daugiau informacijos galite rasti čia. Iš pradžių parašiau kodą, kuriame buvo mūsų bako specifikacija (aukštis ir skersmuo). Tačiau nusprendžiau pakeisti jį į GUI, kad nustatytumėte parametrus pagal skirtingas specifikacijas.

6 veiksmas: montavimas į baką

Montavimas ant rezervuaro
Montavimas ant rezervuaro
Montavimas ant rezervuaro
Montavimas ant rezervuaro

Galų gale aš padariau paprastą dėžutę, kad apsaugotų PCB nuo vandens. Be to, bako viršuje padariau skylę jutikliui uždėti.

Rekomenduojamas: