Mundarija:
Video: Suyuqlik darajasi sensori (ultratovush yordamida): 5 qadam
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Suyuqlik darajasi sensori er sathidan suyuqlik darajasini aniqlaydi. Dvigatelni ma'lum bir qiymatdan pastda yoqadi (dvigatel haydovchisining kuchaytirgichi kerak) va suyuqlikni to'ldirgandan so'ng uni belgilangan qiymatdan yuqori o'chiradi
Ushbu tizimning xususiyatlari:
- Har qanday suyuqlik (suv, yog 'va boshqalar) bilan ishlaydi.
- Tuproq masofasi 250 sm gacha (shuningdek, tank balandligi).
- HC-SR04, Ping va boshqalar bilan aniq o'lchash (2 sm gacha xato).
- Dvigatelni boshqarish chiqishi.
-
Kalibrlash (ish vaqtida) quyidagilar uchun mavjud:
- Zamin darajasi: Tizim ishlayotgan vaqtda tugmachali har qanday tank uchun (balandligi 250 sm gacha) sozlanishi mumkin.
- Dvigatelni yoqish va o'chirish darajalari: yoqish va o'chirish darajasini oldindan o'rnatilgan sozlamalar va rejimni o'zgartirish tugmasi yordamida sozlash mumkin.
- Cheklov ko'rsatkichlari "0 sm" bilan.
- 5V shaharda ishlaydi.
Qurilish uchun zarur bo'lgan qismlar:
- Arduino (yoki dasturchi bilan ATMega 328).
- HC-SR04 yoki umumiy ultrasonik sensorli modul.
- Oldindan sozlash (20K yoki 10K) - 2 dona
- Erkak boshi - 6 pin
- Ayol sarlavhasi 16 pin
- Mikro kalitni bosing
- Mikro kalitni bosing
- 10K 1/4 vattli qarshilik
- 1N4007 diodi
- DC quvvat rozetkasi
- 220E qarshilik
- Veroboard (yoki xohlasangiz, non paneli)
- Ulanish simlari
- Erkak boshli pinli 16*2 LCD displey
- Motor haydovchisi va motor (agar xohlasangiz)
- Bilimlar elektronika va Arduino haqida biladi
1 -qadam: O'chirish diagrammasi
2 -qadam: ishlash
Sensor panelida bizda ultratovushli Tx va Rx qismlari mavjud. Sensor sirt sathidan masofani o'qiydi. Tx asosan 40 kHz chastotali dinamik bo'lib, u 40 kHz chastotali ultrasonik tovushni yuboradi. Har bir puls uchun puls yuborish va puls qabul qilish vaqti qayd qilinadi. Bu pulslar MCUda seziladi.
MCU vaqt farqini qayd qiladi va masofani hisoblash uchun ovoz tezligidan foydalanadi. MCU er sathidan masofani qayd etish uchun oldindan sozlanishi kerak, ya'ni tank/idish bo'sh bo'lganda. Farqi hisoblab chiqiladi va shu tariqa biz suyuqlik darajasini olamiz.
Darajasi 16x2 LCD displeyda ko'rsatilgan. Boshqa tafsilotlar ham ekranda ko'rsatiladi.
Nasos signal generatorining maksimal va minimal qiymat chegarasi uchun ikkita oldindan sozlash mavjud. Suyuqlik darajasi oldindan o'rnatilgan maksimal chegaradan oshib ketganda hosil bo'ladi. Boshqa oldindan o'rnatilgan minimal chegaradan past bo'lganda signal yana pasayadi.
Erdagi masofani kalibrlash kalit yordamida amalga oshiriladi, u atmega328 chipiga signal yuboradi va u joriy masofani qayd qiladi va uni mos yozuvlar sifatida o'rnatadi.
3 -qadam: Dastur - Arduino
Dastur Arduino -da yaratilgan. Buni Atmega328 (yoki xohlaganingizcha) yoqish uchun ishlating.
Dastur GPL-3.0 ostida gitda mavjud.
Arduino-builder yordamida yuklash oson bo'lishi uchun yig'ilgan oltilik fayl allaqachon berilgan.
Bog'liqliklar:
Newping kutubxonasi.
4 -qadam: Kalibrlash va ma'lumotlar
LCD displeyda kalibrlangan darajadan joriy daraja (farq) ko'rsatiladi.
Ikkita oldindan o'rnatilgan yuk yuqori (maksimal daraja) ni belgilaydi, shundan so'ng yuk o'chadi va past (min darajali) keyin yuk yoqiladi. Bu erda yuk nasosdir, chunki bu tizim avtomatik nasos tizimida qo'llaniladi. To'rtta sarlavha sonik (ping) sensori uchun mo'ljallangan. Men HC-SR04 dan foydalanardim. Dvigatel uchun bitta juftlik sarlavhasi (raqamli pin 9). Tashqi nasos haydovchisi talab qilinadi. U kalibrlash ma'lumotlarini saqlash uchun EEPROM -dan foydalangan.
Ikkita kalibrlash ta'minlanadi:
- LEVEL_CAL
- MOTOR_TRIGGER_CAL
5 -qadam: Nasosni boshqarish
Kengashda nasos signali uchun 2 ta maxsus pin bor
Nasosni yoqish kerak bo'lganda 5V signal beriladi (suyuqlik darajasi oldindan belgilangan past chegaradan pastga tushganda) va nasos o'chirilganda 0V signalini beradi (daraja yuqori chegaradan oshadi).
Signal AC nasosini boshqarish uchun o'rni taxtasi yuboriladi.