Mundarija:

Ultratovushli tank darajasini o'lchash moslamasi: 5 qadam (rasmlar bilan)
Ultratovushli tank darajasini o'lchash moslamasi: 5 qadam (rasmlar bilan)

Video: Ultratovushli tank darajasini o'lchash moslamasi: 5 qadam (rasmlar bilan)

Video: Ultratovushli tank darajasini o'lchash moslamasi: 5 qadam (rasmlar bilan)
Video: Signal bilan oddiy suv sathi ko'rsatkichini qanday qilish mumkin #bc547 #attiny85 #arduinoproject 2024, Iyul
Anonim
Ultratovushli tank darajasini o'lchash moslamasi
Ultratovushli tank darajasini o'lchash moslamasi
Ultratovushli tank darajasini o'lchash moslamasi
Ultratovushli tank darajasini o'lchash moslamasi

Katta diametrli quduqda, tankda yoki ochiq idishda suyuqlik darajasini kuzatish kerakmi? Bu ko'rsatma sizga arzon elektronikadan foydalangan holda sonar kontaktsiz suyuqlik darajasini o'lchash moslamasini yasashni ko'rsatib beradi!

Yuqoridagi eskizda biz ushbu loyihada nimani maqsad qilganimizni ko'rib chiqamiz. Bizning yozgi yozgi uyimizda foydalanish uchun ichimlik suvi etkazib beradigan katta diametrli quduq bor. Bir kuni akam bilan men yozda overdraftdan qochish uchun suv sarfini va oqimini kuzatib borish uchun bobomiz suv sathini qo'lda o'lchaganligi haqida gaplashdik. Biz zamonaviy elektronika bilan an'anani qayta tiklashimiz kerak, deb o'ylardik, lekin qo'l mehnati kamroq. Bir nechta dasturiy fokuslar yordamida biz sonar modulli Arduino -dan foydalanib, suv yuzasiga (l) yaqin masofani ishonchli ishonchlilik va ± bir necha millimetrlik aniqlik bilan o'lchashga muvaffaq bo'ldik. Bu ma'lum bo'lgan diametri D va L chuqurlikdan foydalanib, qolgan V hajmini taxminan ± 1 litr aniqlikda baholay olamiz.

Quduq uydan taxminan 25 m uzoqlikda joylashganligi sababli va biz ekranni yopiq holda joylashtirishni xohlaganimiz uchun, biz ma'lumotlar uzatish liniyasi bo'lgan ikkita Arduino -dan foydalanishni tanladik. Agar sizda bunday bo'lmasa, siz loyihani faqat bitta Arduino -dan foydalanishga o'zgartirishingiz mumkin. Nega simsiz ma'lumotlarni uzatishdan foydalanmaslik kerak? Qisman soddaligi va mustahkamligi tufayli (sim namlikdan shikastlanish ehtimoli kamroq) va qisman, biz sensor tomonida batareyalarni ishlatishdan saqlanishni xohladik. Sim yordamida biz ma'lumotlarni uzatish va quvvatni bir xil kabel orqali yo'naltirishimiz mumkin edi.

1) Uydagi Arduino moduliBu asosiy Arduino moduli. U quduqdagi Arduino -ga signal yuboradi, o'lchangan masofani oladi va qolgan suv hajmini displeyda ko'rsatadi.

2) Arduino va sonar modulining yon tomoni Bu Arduino -ning maqsadi - uydan tetik signalini olish, o'lchashni amalga oshirish va sonar modulidan suv sathigacha bo'lgan masofani qaytarish. Elektronika (nisbatan havo o'tkazmaydigan) qutiga o'rnatilgan, sonar modulining qabul qiluvchi tomoniga plastik quvur ulangan. Quvurning maqsadi ko'rish maydonini qisqartirish orqali o'lchov xatolarini kamaytirishdir, shunda qabul qilgich faqat suv yuzasini "ko'radi".

1 -qadam: qismlar, test va dasturlash

Ehtiyot qismlar, test va dasturlash
Ehtiyot qismlar, test va dasturlash
Ehtiyot qismlar, test va dasturlash
Ehtiyot qismlar, test va dasturlash
Ehtiyot qismlar, test va dasturlash
Ehtiyot qismlar, test va dasturlash

Biz ushbu loyihada quyidagi qismlardan foydalanganmiz:

  • 2 x Arduino (biri suyuqlik darajasini o'lchash uchun, ikkinchisi natijalarni displeyda ko'rsatish uchun)
  • Asosiy 12V quvvat manbai
  • Ultratovush (sonar) moduli HC-SR04
  • LED displey moduli MAX7219
  • 25 m telefon kabeli (4 ta sim: Quvvat, er va 2 ta signal signallari)
  • O'rnatish qutisi
  • Issiq elim
  • Lehim

Qismlarning narxi: taxminan 70 evro

Hamma narsa kerakli darajada ishlaganiga ishonch hosil qilish uchun biz avval lehim, sim va oddiy dastgoh sinovlarini o'tkazdik. Ultratovush sensori va LED moduli uchun ko'plab misolli dasturlar mavjud, shuning uchun biz ularni faqat o'lchangan masofaning mantiqiy ekanligiga ishonch hosil qilish uchun ishlatdik (1-rasm) va biz suv yuzasidan ultratovushli aks ettirishga muvaffaq bo'ldik. sayt (2 -rasm). Ma'lumotlar havolasi uzoq masofalarda ishlashiga ishonch hosil qilish uchun biz uni sinchkovlik bilan sinab ko'rdik, bu hech qanday muammo tug'dirmadi.

Bu qadamga sarflangan vaqtni kamsitmang, chunki tizim hamma narsani qutilarga yaxshilab o'rnatish, kabellarni qazish va h.k.dan oldin ishlashini bilish juda muhimdir.

Sinov paytida, biz sonar moduli ba'zida quduqning boshqa qismlaridan, masalan, suv yuzasidan emas, yon devorlari va suv ta'minoti trubkasidan tovush aksini olishini angladik. Bu shuni anglatadiki, o'lchangan masofa to'satdan suv sathiga haqiqiy masofadan ancha qisqa bo'ladi. O'lchov xatosining bu turini yumshatish uchun o'rtacha ko'rsatkichni ishlata olmasligimiz sababli, biz hozirgi masofa hisobidan juda farq qiladigan har qanday yangi o'lchangan masofani tashlashga qaror qildik. Bu muammo emas, chunki biz baribir suv sathining asta -sekin o'zgarishini kutamiz. Ishga tushgandan so'ng, ushbu modul bir qator o'lchovlarni amalga oshiradi va qabul qilingan eng katta qiymatni (ya'ni eng past suv sathini) boshlanish nuqtasi sifatida tanlaydi. Shundan so'ng, "saqlash/bekor qilish" qaroriga qo'shimcha ravishda, tasodifiy o'lchov xatolarini yumshatish uchun taxmin qilingan darajaning qisman yangilanishi qo'llaniladi. Yangi o'lchovni o'tkazishdan oldin, barcha aks -sadolarning o'lishi uchun ruxsat berish muhim - hech bo'lmaganda bizda devorlar betondan yasalgan va shuning uchun ham aks -sado.

Biz ikkita Arduino uchun ishlatgan kodning oxirgi versiyasini bu erda topishingiz mumkin:

github.com/kelindqv/arduinoUltrasonicTank

2 -qadam: Qurilish ishlari

Qurilish ishlari
Qurilish ishlari

Bizning quduq uydan uzoqda joylashganligi sababli, maysazorda kabel yotqizish uchun kichik xandaq yasashga to'g'ri keldi.

3 -qadam: Barcha komponentlarni ulash va o'rnatish

Barcha komponentlarni ulash va o'rnatish
Barcha komponentlarni ulash va o'rnatish
Barcha komponentlarni ulash va o'rnatish
Barcha komponentlarni ulash va o'rnatish
Barcha komponentlarni ulash va o'rnatish
Barcha komponentlarni ulash va o'rnatish

Hamma narsani sinov paytida bo'lgani kabi ulang va umid qilamanki, u hali ham ishlaydi! Bir Arduino -dagi TX -pin boshqasining RX -ga o'tishini tekshirishni unutmang. 1 -rasmda ko'rsatilgandek, biz batareyalardan foydalanmaslik uchun quduqdagi Arduino -ni quvvat bilan ta'minlash uchun telefon kabelidan foydalanganmiz.

Ikkinchi va uchinchi rasmda plastmassa trubaning joylashuvi ko'rsatilgan, transmitter trubaning tashqarisida, qabul qilgich esa ichkariga joylashtirilgan (ha, bu tortishishning noqulay pozitsiyasi edi …)

4 -qadam: Kalibrlash

Sensordan suv sathigacha bo'lgan masofa to'g'ri hisoblanganligiga ishonch hosil qilib, kalibrlash faqat quduqning diametrini va umumiy chuqurligini o'lchashdan iborat bo'lib, suyuqlik hajmini hisoblash mumkin edi. Biz aniq va aniq o'lchash uchun algoritm parametrlarini (o'lchovlar orasidagi vaqt, qisman yangilanish parametrlari, dastlabki o'lchovlar soni) to'g'riladik.

Xo'sh, sensor suyuqlik darajasini qanchalik yaxshi kuzatdi?

Bir necha daqiqaga musluğun suvini yuvish yoki hojatxonani yuvish biz xohlagan narsaning ta'sirini osongina ko'rishimiz mumkin edi. Biz hatto quduqni bir kecha -kunduzda nisbatan oldindan aytib bo'ladigan darajada to'ldirayotganini ko'rishimiz mumkin edi - bularning hammasi displeyga bir qarashda edi. Muvaffaqiyat!

Eslatma:- Vaqt-masofa konvertatsiyasi hozirgi vaqtda harorat o'zgarishi tufayli tovush tezligining o'zgarishini to'g'rilamayapti. Bu kelajakda yaxshi qo'shilish bo'lishi mumkin, chunki quduqdagi harorat biroz o'zgaradi!

5 -qadam: Uzoq muddatli foydalanish

1 yillik yangilanish: Sensor nam muhitga qaramay korroziya va shikastlanish belgilarisiz mukammal ishlaydi! Yil davomida yagona muammo shundaki, sovuq havoda (qishda) sensorda kondensatsiya to'planib qoladi, bu aniq sensorni to'sib qo'yadi. Bu biz uchun muammo emas, chunki bizga faqat yozda o'qish kerak, lekin boshqa foydalanuvchilar ijodkor bo'lishlari mumkin!:) Izolyatsiya yoki shamollatish, ehtimol, mumkin bo'lgan echimlardir. Baxtli ixtiro!

Tavsiya: