Satura rādītājs:

Ultraskaņas tvertnes līmeņa mērītājs: 5 soļi (ar attēliem)
Ultraskaņas tvertnes līmeņa mērītājs: 5 soļi (ar attēliem)

Video: Ultraskaņas tvertnes līmeņa mērītājs: 5 soļi (ar attēliem)

Video: Ultraskaņas tvertnes līmeņa mērītājs: 5 soļi (ar attēliem)
Video: 🤦‍♂️ Что не так с непосредственным впрыском у мотора BMW N43? Разбираем его косяки и ошибки 2024, Novembris
Anonim
Ultraskaņas tvertnes līmeņa mērītājs
Ultraskaņas tvertnes līmeņa mērītājs
Ultraskaņas tvertnes līmeņa mērītājs
Ultraskaņas tvertnes līmeņa mērītājs

Nepieciešams uzraudzīt šķidruma līmeni lielā diametra akā, tvertnē vai atvērtā traukā? Šī rokasgrāmata parādīs, kā izveidot hidrolokatoru bezkontakta šķidruma līmeņa mērītāju, izmantojot lētu elektroniku!

Iepriekš redzamā skice parāda pārskatu par to, ko mēs centāmies sasniegt ar šo projektu. Mūsu vasarnīcā ir liela diametra aka, lai piegādātu dzeramo ūdeni lietošanai mājās. Kādu dienu mēs ar brāli runājām par to, kā mūsu vectēvs mēra ūdens līmeni manuāli, lai visu vasaru izsekotu ūdens patēriņam un pieplūdumam, lai izvairītos no pārtēriņa. Mēs domājām, ka, izmantojot modernu elektroniku, mums vajadzētu spēt atdzīvināt tradīcijas, bet mazāk iesaistot roku darbu. Ar dažiem programmēšanas trikiem mums izdevās izmantot Arduino ar hidrolokatoru, lai ar saprātīgu ticamību un ± dažu milimetru precizitāti izmērītu attālumu līdz ūdens virsmai (l). Tas nozīmēja, ka mēs varētu novērtēt atlikušo tilpumu V, izmantojot zināmo diametru D un dziļumu L, ar aptuveni ± 1 litra precizitāti.

Tā kā aka atrodas apmēram 25 m attālumā no mājas un mēs vēlējāmies displeju iekštelpās, mēs izvēlējāmies izmantot divus Arduinos ar datu saiti starp tiem. Jūs varat viegli modificēt projektu, lai izmantotu tikai vienu Arduino, ja tas tā nav jūsu gadījumā. Kāpēc neizmantot bezvadu datu pārsūtīšanu? Daļēji vienkāršības un izturības dēļ (visticamāk, mitrumu nesabojās vads) un daļēji tāpēc, ka mēs vēlējāmies izvairīties no bateriju izmantošanas sensora pusē. Izmantojot vadu, mēs varētu novirzīt gan datu pārsūtīšanu, gan strāvu, izmantojot vienu un to pašu kabeli.

1) Arduino modulis mājā Šis ir galvenais Arduino modulis. Tas nosūtīs sprūda signālu Arduino akā, saņems izmērīto attālumu un displejā parādīs aprēķināto atlikušo ūdens daudzumu.

2) Arduino un sonāra modulis akas pusē Šī Arduino mērķis ir vienkārši saņemt sprūda signālu no mājas, veikt mērījumus un nosūtīt atpakaļ attālumu no hidrolokatora moduļa līdz ūdens līmenim. Elektronika ir iebūvēta (salīdzinoši hermētiskā) kastē, un hidrolokatora moduļa uztveršanas pusē ir piestiprināta plastmasas caurule. Caurules mērķis ir samazināt mērījumu kļūdas, samazinot redzes lauku, lai uztvērējs "redzētu" tikai ūdens virsmu.

1. darbība: detaļas, testēšana un programmēšana

Daļas, testēšana un programmēšana
Daļas, testēšana un programmēšana
Daļas, testēšana un programmēšana
Daļas, testēšana un programmēšana
Daļas, testēšana un programmēšana
Daļas, testēšana un programmēšana

Šajā projektā mēs izmantojām šādas daļas:

  • 2 x Arduino (viens šķidruma līmeņa mērīšanai, otrs rezultātu parādīšanai displejā)
  • Pamata 12V barošanas avots
  • Ultraskaņas (sonāra) modulis HC-SR04
  • LED displeja modulis MAX7219
  • 25 m telefona kabelis (4 vadi: barošana, zemējums un 2 datu signāli)
  • Montāžas kaste
  • Karstā līme
  • Lodēt

Daļu izmaksas: aptuveni 70 eiro

Lai pārliecinātos, ka viss darbojas tā, kā vajadzētu, vispirms veicām visu lodēšanu, elektroinstalāciju un vienkāršu stenda pārbaudi. Tiešsaistē ir daudz piemēru programmu ultraskaņas sensoram un LED modulim, tāpēc mēs vienkārši izmantojām tās, lai pārliecinātos, ka izmērītajam attālumam ir jēga (1. attēls) un ka mēs spējām uztvert ultraskaņas atspulgu no ūdens virsmas. vietne (2. attēls). Mēs arī rūpīgi pārbaudījām datu saiti, lai pārliecinātos, ka tā jebkad darbojas lielos attālumos, kas izrādījās nekādu problēmu.

Nenovērtējiet par zemu šim posmam veltīto laiku, jo ir svarīgi zināt, ka sistēma darbojas, pirms pieliekat pūles, lai visu kārtīgi saliktu kastēs, atrautu kabeļus utt.

Pārbaudes laikā mēs sapratām, ka hidrolokatora modulis dažreiz uztver skaņas atstarojumu no citām akas daļām, piemēram, sānu sienām un ūdens padeves caurules, nevis no ūdens virsmas. Tas nozīmēja, ka izmērītais attālums pēkšņi būtu daudz īsāks par faktisko attālumu līdz ūdens līmenim. Tā kā mēs nevaram vienkārši izmantot vidējo, lai izlīdzinātu šāda veida mērījumu kļūdas, mēs nolēmām izmest visus jaunus izmērītos attālumus, kas pārāk atšķīrās no pašreizējā attāluma aprēķina. Tas nav problemātiski, jo mēs sagaidām, ka ūdens līmenis jebkurā gadījumā mainīsies diezgan lēni. Pēc palaišanas šis modulis veiks virkni mērījumu un izvēlēsies lielāko saņemto vērtību (ti, zemāko ūdens līmeni) kā visticamāko sākumpunktu. Pēc tam papildus lēmumam "paturēt/izmest" tiek izmantots daļējs aprēķinātā līmeņa atjauninājums, lai izlīdzinātu nejaušas mērījumu kļūdas. Pirms jauna mērījuma veikšanas ir svarīgi ļaut izbalēt visām atbalsīm - vismaz mūsu gadījumā, ja sienas ir izgatavotas no betona un tāpēc ļoti atbalsojas.

Galīgo koda versiju, ko izmantojām abiem Arduinos, var atrast šeit:

github.com/kelindqv/arduinoUltrasonicTank

2. solis: Civilie darbi

Civilie darbi
Civilie darbi

Tā kā mūsu aka atradās attālumā no mājas, zālienā mums bija jāizveido neliela tranšeja, kurā ievietot kabeli.

3. darbība: visu sastāvdaļu pievienošana un montāža

Visu sastāvdaļu pievienošana un uzstādīšana
Visu sastāvdaļu pievienošana un uzstādīšana
Visu sastāvdaļu pievienošana un uzstādīšana
Visu sastāvdaļu pievienošana un uzstādīšana
Visu sastāvdaļu pievienošana un uzstādīšana
Visu sastāvdaļu pievienošana un uzstādīšana

Savienojiet visu, kā tas bija testēšanas laikā, un ceru, ka tas joprojām darbojas! Neaizmirstiet pārbaudīt, vai TX tapa uz viena Arduino iet uz otra RX un otrādi. Kā parādīts 1. attēlā, mēs izmantojām tālruņa kabeli, lai barotu Arduino urbumā, lai neizmantotu baterijas.

Otrajā un trešajā attēlā redzams plastmasas cauruļu izvietojums, raidītājs atrodas ārpus caurules, bet uztvērējs - iekšā (jā, šī bija neērta fotografēšanas pozīcija …)

4. solis: kalibrēšana

Pārliecinoties, ka attālums no sensora līdz ūdens līmenim ir aprēķināts pareizi, kalibrēšana bija tikai akas diametra un kopējā dziļuma mērīšana, lai varētu aprēķināt šķidruma tilpumu. Mēs arī pielāgojām algoritma parametrus (laiks starp mērījumiem, daļējas atjaunināšanas parametri, sākotnējo mērījumu skaits), lai iegūtu stabilu un precīzu mērījumu.

Tātad, cik labi sensors izsekoja šķidruma līmeni?

Mēs varētu viegli redzēt efektu, kad dažas minūtes tiek izskalots krāns vai izskalots tualete, ko mēs vēlējāmies. Mēs pat varējām redzēt, ka urbums uzpildās ar salīdzinoši paredzamu ātrumu vienas nakts laikā - viss tikai ar skatienu uz displeja. Veiksmi!

Piezīme:- Laika un attāluma pārveidošana pašlaik netiek koriģēta skaņas ātruma izmaiņu dēļ temperatūras izmaiņu dēļ. Tas varētu būt jauks nākotnes papildinājums, jo temperatūra akā būs diezgan atšķirīga!

5. darbība. Ilgtermiņa lietošana

1 gada atjauninājums: sensors darbojas nevainojami bez korozijas vai bojājumu pazīmēm, neskatoties uz mitru vidi! Vienīgā problēma gada laikā ir bijusi tāda, ka aukstā laikā (ziemā) uz sensora uzkrājas kondensāts, kas acīmredzami bloķē sensoru. Mūsu gadījumā tas nav jautājums, jo lasījumi ir nepieciešami tikai vasarā, bet citiem lietotājiem var nākties būt radošiem!:) Izolācija vai ventilācija, iespējams, ir iespējami risinājumi. Laimīgu izgudrošanu!

Ieteicams: