Mündəricat:

Ultrasəs Tank Səviyyə Ölçən: 5 Adım (Şəkillərlə)
Ultrasəs Tank Səviyyə Ölçən: 5 Adım (Şəkillərlə)

Video: Ultrasəs Tank Səviyyə Ölçən: 5 Adım (Şəkillərlə)

Video: Ultrasəs Tank Səviyyə Ölçən: 5 Adım (Şəkillərlə)
Video: Siqnallı Sadə Su Səviyyəsi Göstəricisini Necə Hazırlamaq olar #bc547 #attiny85 #arduinoproject #led 2024, Iyul
Anonim
Ultrasəs Tank Səviyyə Ölçən
Ultrasəs Tank Səviyyə Ölçən
Ultrasəs Tank Səviyyə Ölçən
Ultrasəs Tank Səviyyə Ölçən

Böyük diametrli bir quyuda, bir tankda və ya açıq bir qabda maye səviyyəsini izləmək lazımdırmı? Bu təlimat, ucuz elektronikadan istifadə edərək, sonar təmassız bir maye səviyyəsi sayğacının necə hazırlanacağını sizə göstərəcək!

Yuxarıdakı eskiz, bu layihə ilə nəyi hədəflədiyimizi ümumi şəkildə göstərir. Yaz bağçamızda evdə istifadə üçün içməli su təmin etmək üçün böyük diametrli bir quyu var. Bir gün qardaşımla birlikdə overdraftın qarşısını almaq üçün yaz boyu su istehlakını və axını izləmək üçün babamızın suyun səviyyəsini əllə ölçməsindən danışdıq. Düşündük ki, müasir elektronika ilə ənənəni canlandıra bilməliyik, ancaq əl əməyi azdır. Bir neçə proqramlaşdırma hiyləsi ilə, sonar modulu olan Arduino -dan istifadə edərək su səthinə qədər olan məsafəni (l) ağlabatan etibarlılıq və ± bir neçə millimetrlik dəqiqliklə ölçməyi bacardıq. Bu, bilinən diametri D və L dərinliyindən istifadə edərək qalan ± V həcmini təxminən ± 1 litr dəqiqliklə qiymətləndirə biləcəyimiz demək idi.

Quyu evdən təxminən 25 m aralıda yerləşdiyindən və ekranın qapalı olmasını istədiyimiz üçün aralarında məlumat bağlantısı olan iki Arduino istifadə etməyi seçdik. Əgər sizin üçün belə deyilsə, layihəni asanlıqla bir Arduino istifadə edərək dəyişdirə bilərsiniz. Niyə simsiz məlumat ötürülməsini istifadə etmirsiniz? Qismən sadəliyə və möhkəmliyə görə (telin nəmdən zədələnmə ehtimalı azdır) və qismən də sensor tərəfində batareyalardan istifadə etməmək istədiyimiz üçün. Bir tel ilə həm məlumat ötürülməsini, həm də gücü eyni kabel vasitəsilə yönləndirə bilərik.

1) Evdəki Arduino moduluBu əsas Arduino moduludur. Quyudakı Arduinoya bir tetikleyici siqnal göndərəcək, ölçülmüş məsafəni alacaq və qalan suyun həcmini ekranda göstərəcək.

2) Yaxşı Arduino və sonar modulu Bu Arduinonun məqsədi sadəcə evdən tətik siqnalı almaq, bir ölçü aparmaq və sonar modulundan su səviyyəsinə qədər olan məsafəni geri göndərməkdir. Elektronika, sonar modulunun qəbul tərəfinə plastik bir boru ilə bağlanmış (nisbətən hava keçirməyən) bir qutuya quraşdırılmışdır. Borunun məqsədi, görmə sahəsini azaldaraq ölçü səhvlərini azaltmaqdır ki, alıcı tərəfindən yalnız suyun səthi "görünsün".

Addım 1: Parçalar, Test və Proqramlaşdırma

Parçalar, Test və Proqramlaşdırma
Parçalar, Test və Proqramlaşdırma
Parçalar, Test və Proqramlaşdırma
Parçalar, Test və Proqramlaşdırma
Parçalar, Test və Proqramlaşdırma
Parçalar, Test və Proqramlaşdırma

Bu layihədə aşağıdakı hissələrdən istifadə etdik:

  • 2 x Arduino (biri maye səviyyəsini ölçmək üçün, biri nəticələri ekranda göstərmək üçün)
  • Əsas 12V enerji təchizatı
  • Ultrasəs (sonar) modulu HC-SR04
  • LED ekran modulu MAX7219
  • 25 m telefon kabeli (4 tel: Güc, torpaq və 2 məlumat siqnalı)
  • Montaj qutusu
  • İsti yapışqan
  • Lehim

Parçaların qiyməti: təxminən 70 avro

Hər şeyin lazım olduğu kimi işlədiyinə əmin olmaq üçün əvvəlcə bütün lehimləmə, məftil çəkmə və sadə dəzgah testlərini etdik. Ultrasəs sensoru və LED modulu üçün bir çox nümunə proqramları var, buna görə yalnız ölçülmüş məsafənin mənalı olduğunu (şəkil 1) və su səthindən ultrasəs əksini tuta bildiyimizi yoxlamaq üçün istifadə etdik. sayt (şəkil 2). Həm də heç bir problem olmadığını sübut edən uzun məsafələrdə işlədiyinə əmin olmaq üçün məlumat bağlantısını hərtərəfli sınaqdan keçirdik.

Bu addım üçün sərf olunan vaxtı əskik etməyin, çünki sistemin hər şeyi gözəl bir şəkildə qutulara yerləşdirmək, kabellər qazmaq və s.

Test zamanı anladıq ki, sonar modulu bəzən su səthindən deyil, yan divarlar və su təchizatı borusu kimi quyunun digər hissələrindən səs əksini alır. Bu, ölçülmüş məsafənin birdən -birə su səviyyəsinə olan həqiqi məsafədən çox daha qısa olacağı anlamına gəlirdi. Bu tip ölçmə səhvini düzəltmək üçün ortalamadan istifadə edə bilmədiyimiz üçün indiki məsafə təxminindən çox fərqli olan yeni ölçülmüş məsafələri atmaq qərarına gəldik. Suyun səviyyəsinin yavaş -yavaş dəyişəcəyini gözlədiyimiz üçün bu problemli deyil. Başladıqdan sonra bu modul bir sıra ölçmələr aparacaq və ən çox ehtimal olunan başlanğıc nöqtəsi olaraq alınan ən böyük dəyəri (yəni ən aşağı su səviyyəsini) seçəcək. Bundan sonra, "saxla/at" qərarına əlavə olaraq, təsadüfi ölçü səhvlərini düzəltmək üçün təxmin edilən səviyyənin qismən yenilənməsi istifadə olunur. Yeni bir ölçmə aparmadan əvvəl bütün əks -sədaların sönməsinə icazə vermək də vacibdir - ən azından divarlarımız betondan və buna görə də çox əks -sədaqətlidir.

İki Arduino üçün istifadə etdiyimiz kodun son versiyasını burada tapa bilərsiniz:

github.com/kelindqv/arduinoUltrasonicTank

Addım 2: İnşaat işləri

İnşaat işləri
İnşaat işləri

Quyumuz evdən bir qədər aralıda yerləşdiyindən, qazonun içərisində kabelin çəkiləcəyi kiçik bir xəndək yaratmalı olduq.

Addım 3: Bütün komponentləri birləşdirmək və quraşdırmaq

Bütün komponentlərin birləşdirilməsi və quraşdırılması
Bütün komponentlərin birləşdirilməsi və quraşdırılması
Bütün komponentlərin birləşdirilməsi və quraşdırılması
Bütün komponentlərin birləşdirilməsi və quraşdırılması
Bütün komponentlərin birləşdirilməsi və quraşdırılması
Bütün komponentlərin birləşdirilməsi və quraşdırılması

Test zamanı hər şeyi olduğu kimi bağlayın və ümid edirik ki, hələ də işləyir! Bir Arduino üzərindəki TX pininin digərinin RX -ə keçdiyini yox, əksinə yoxlamağı unutmayın. Şəkil 1 -də göstərildiyi kimi, batareyadan istifadə etməmək üçün quyuda Arduino -ya enerji vermək üçün telefon kabelindən istifadə etdik.

İkinci və üçüncü şəkil, borunun xaricində verici və qəbuledicinin içəriyə yerləşdirilmiş plastik boru quruluşunu göstərir (bəli, bu narahat bir çəkiliş mövqeyi idi …)

Addım 4: Kalibrləmə

Sensordan su səviyyəsinə olan məsafənin düzgün hesablandığından əmin olduqdan sonra, mayenin həcmini hesablamaq üçün quyunun diametrini və ümumi dərinliyini ölçmək məsələsi idi. Alqoritm parametrlərini (ölçmələr arasındakı vaxt, qismən yeniləmə parametrləri, ilkin ölçmələrin sayı) möhkəm və dəqiq ölçmək üçün düzəltdik.

Bəs sensor mayenin səviyyəsini nə qədər yaxşı izləyib?

Bir neçə dəqiqə ərzində kranı axıtmağın və ya tualetin yuyulmasının təsirini asanlıqla görə bilirdik. Hətta quyunun bir gecədə nisbətən proqnozlaşdırıla bilən bir sürətlə doldurulduğunu görə bildik - hamısı ekrana bir baxışla. Uğur!

Qeyd:- Vaxt-məsafə çevrilməsi hazırda temperatur dəyişikliyi səbəbindən səs sürətindəki dəyişiklikləri düzəltmir. Bu, gələcəkdə gözəl bir əlavə ola bilər, çünki quyudakı temperatur bir qədər dəyişəcək!

Addım 5: Uzun müddətli istifadə

1 illik yeniləmə: Sensor rütubətli mühitə baxmayaraq korroziya və ya zədələnmə əlamətləri olmadan qüsursuz işləyir! İl ərzində yeganə problem, soyuq havada (qışda) sensora kondensasiyanın yığılmasıdır ki, bu da sensoru açıq şəkildə bloklayır. Bu, bizim vəziyyətimizdə bir problem deyil, çünki yalnız yayda oxumağa ehtiyacımız var, amma digər istifadəçilər yaradıcılıqla məşğul ola bilərlər!:) İzolyasiya və ya havalandırma, ehtimal ki, mümkün olan həllərdir. Xoşbəxt ixtira!

Tövsiyə: