Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Siz bilganingizdek, Eronda quruq ob -havo bor va mening mamlakatimda suv etishmaydi. Ba'zida, ayniqsa yozda, hukumat suvni kesib tashlaganini ko'rish mumkin. Shunday qilib, ko'p xonadonlarda suv idishi bor. Bizning kvartiramizda suv bilan ta'minlaydigan 1500 litrli tank bor. Shuningdek, bizning kvartiramizda 12 ta turar joy mavjud. Natijada, tank juda tez bo'shab qolishini kutish mumkin. Tankga suv pompasi o'rnatilgan, u binoga suv yuboradi. Qachonki tank bo'sh bo'lsa, nasos suvsiz ishlaydi. Bu holat dvigatel haroratining oshishiga olib keladi va bu vaqt davomida nasosning ishdan chiqishiga olib kelishi mumkin. Bir muncha vaqt oldin, bu nasosning ishdan chiqishi biz uchun ikkinchi marta sodir bo'ldi va dvigatelni ochgandan so'ng, biz rulon simlari yonib ketganini ko'rdik. Nasosni almashtirganimizdan so'ng, bu muammoning oldini olish uchun men suv sathini boshqaruvchi yasashga qaror qildim. Suv tankdagi past chegaradan pastga tushganda, men nasosning elektr ta'minotini uzib qo'yishni rejalashtirgandim. Suv yuqori chegaraga ko'tarilmaguncha nasos ishlamaydi. Yuqori chegaradan o'tgandan so'ng, sxema yana quvvat manbasini ulaydi. Dastlab, men mos sxemani topa olamanmi, deb Internetda qidirdim. Biroq, men mos keladigan narsani topmadim. Arduino -ga asoslangan suv ko'rsatkichlari bor edi, lekin mening muammomni hal qila olmadi. Natijada, men suv sathini boshqarish moslamasini loyihalashga qaror qildim. Parametrlarni o'rnatish uchun oddiy grafik foydalanuvchi interfeysi bilan birlashtirilgan paket. Bundan tashqari, men qurilmaning har xil holatlarda to'g'ri ishlashiga ishonch hosil qilish uchun EMC standartlarini ko'rib chiqishga harakat qildim.
1 -qadam: printsip
Ehtimol, siz printsipni oldindan bilasiz. Ultrasonik impulsli signal ob'ekt tomon chiqarilganda, u ob'ekt tomonidan aks etadi va aks sado yuboruvchiga qaytadi. Agar siz ultratovush impulsining bosib o'tgan vaqtini hisoblasangiz, ob'ektning masofasini topishingiz mumkin. Bizning holatda, bu narsa suvdir.
E'tibor bering, siz suvgacha bo'lgan masofani topsangiz, siz tankdagi bo'sh joy hajmini hisoblaysiz. Suv hajmini olish uchun siz tankning umumiy hajmidan hisoblangan hajmni olib tashlashingiz kerak.
2 -qadam: Sensor, quvvat manbai va nazoratchi
Uskuna
Sensor uchun men suv o'tkazmaydigan JSN-SR04T ultrasonik sensoridan foydalanardim. Ish tartibi HC-SR04 ga o'xshaydi (echo va trig-pin).
Xususiyatlar:
- Masofa: 25 sm dan 450 sm gacha
- Ishlash kuchlanishi: shahar 3.0-5.5V
- Ish oqimi: m 8mA
- Aniqlik: ± 1 sm
- Chastotasi: 40 kHz
- Ishlash harorati: -20 ~ 70 ℃
Shuni esda tutingki, ushbu tekshirgichda ba'zi cheklovlar mavjud. Masalan: 1- JSN-SR04T 25 sm dan past masofani o'lchay olmaydi, shuning uchun sensorni suv sathidan kamida 25 sm balandlikda o'rnatish kerak. Bundan tashqari, maksimal masofa o'lchami 4,5M. Shunday qilib, bu sensor katta tanklar uchun mos emas. 2- aniqlik bu sensor uchun 1 sm. Natijada, tankning diametriga qarab, qurilma ko'rsatadigan tovush o'lchamlari o'zgarishi mumkin. 3- tovush tezligi haroratga qarab o'zgarishi mumkin. Natijada, aniqlikka turli hududlar ta'sir qilishi mumkin. Biroq, bu cheklovlar men uchun hal qiluvchi ahamiyatga ega emas edi va aniqlik mos edi.
Nazoratchi
Men STM32F030K6T6 ARM Cortex M0 dan STMicroelectronics -dan foydalanardim. Siz bu mikrokontroller spetsifikatsiyasini topishingiz mumkin.
Quvvat manbai
Birinchi qism - 220V/50Hz (Eron elektr energiyasi) ni 12VDC ga aylantirish. Shu maqsadda men HLK-PM12 quvvat manbai modulini ishlatdim. Ushbu AC/DC konvertori 0,25A chiqish oqimi bilan 90 ~ 264 VAC ni 12VDC ga o'zgartirishi mumkin.
Siz bilganingizdek, o'rindagi induktiv yuk, kontaktlarning zanglashiga va elektr ta'minotiga bir nechta muammolarni keltirib chiqarishi mumkin, va elektr ta'minotidagi qiyinchilik, ayniqsa, mikrokontroldagi nomutanosiblikka olib kelishi mumkin. Yechim - quvvat manbalarini ajratish. Bundan tashqari, siz kontaktlarning zanglashiga olib keladigan zanjirni ishlatishingiz kerak. Quvvat manbalarini ajratishning bir necha usullari mavjud. Masalan, siz ikkita chiqadigan transformatordan foydalanishingiz mumkin. Bundan tashqari, kichik o'lchamdagi izolyatsiyalangan DC/DC konvertorlari mavjud, ular chiqishni kirishdan ajratishi mumkin. Men shu maqsadda MINMAX MA03-12S09 dan foydalandim. Bu izolyatsiyali 3 Vt DC/DC konvertori.
3 -qadam: Supervayzer IC
TI App eslatmasiga ko'ra: Voltaj nazoratchisi (shuningdek, qayta o'rnatilgan integratsiyalashgan elektron [IC] deb ham ataladi) - bu tizimning quvvat manbaini kuzatuvchi kuchlanish monitorining turi. Voltaj nazoratchilari ko'pincha protsessorlar, voltaj regulyatorlari va sekvenerlar bilan ishlatiladi - umuman, bu erda kuchlanish yoki tokni sezish zarur. Nazoratchilar kuchlanishni ta'minlash, nosozliklarni aniqlash va o'rnatilgan tizim protsessorlari bilan aloqa o'rnatish uchun tizim relslarini kuzatib boradilar. bu ilovaning eslatmasini bu erda topishingiz mumkin. Garchi STM32 mikrokontrollerlarida monitorni quvvatlantirish kabi o'rnatilgan nazoratchilar bo'lsa-da, men hamma narsa yaxshi ishlashini ta'minlash uchun tashqi nazorat chipidan foydalanardim. Menimcha, men TIdan TL7705 dan foydalanardim. Siz Texas Instruments veb-saytidan ushbu IC uchun tavsifni quyida ko'rishingiz mumkin: TL77xxA integratsiyalashgan zanjirli kuchlanish nazoratchilari oilasi mikrokompyuter va mikroprotsessor tizimlarida qayta sozlagich sifatida foydalanish uchun maxsus mo'ljallangan. Ta'minot-kuchlanish nazoratchisi SENSE kirishidagi past kuchlanish sharoitlari uchun ta'minotni kuzatadi. Quvvatlanish vaqtida, VCC 3,6 V ga yaqinlashganda, RESET chiqishi faol bo'ladi (past). Bu vaqtda (SENSE VIT+dan yuqori deb hisoblansa), kechikish taymeri funktsiyasi vaqtni kechiktirishni faollashtiradi, shundan so'ng RESET va RESET (YO'Q) faol emas (mos ravishda yuqori va past). Oddiy ish paytida past kuchlanish holati ro'y berganda, RESET va RESET (NOT) faollashadi.
4 -qadam: Bosilgan elektron karta (PCB)
Men tenglikni ikki qismdan yaratdim. Birinchisi - lenta/yassi kabel bilan anakartga ulangan LCD PCB, ikkinchi qismi - nazoratchi PCB. Ushbu tenglikni men elektr ta'minoti, mikrokontroller, ultratovush sensori va tegishli komponentlarni joylashtirdim. Shuningdek, o'rni, varistori va snubber davri bo'lgan quvvat qismi. Siz bilganingizdek, men ishlatgan o'rni kabi mexanik o'rni, agar ular doimo ishlasa, uzilib ketishi mumkin. Ushbu muammoni bartaraf etish uchun men odatda o'rni yaqin kontaktini (NC) ishlatardim. Shunday qilib, normal holatda, o'rni faol emas va odatda yaqin aloqa nasos uchun quvvat o'tkazishi mumkin. Qachonki suv past chegaradan pastga tushsa, o'rni yonadi va bu quvvatni o'chiradi. Aytganimdek, bu men NC va COM kontaktlarida snubber sxemasini ishlatganimning sababi. Nasosning yuqori quvvatga ega ekanligiga kelsak, men buning uchun ikkinchi 220 o'rni ishlatdim va men uni PCB o'rni bilan boshqaraman.
Bu erda mening GitHub -dan Altium PCB fayllari va Gerber fayllari kabi PCB fayllarini yuklab olishingiz mumkin.
5 -qadam: kod
Men STM32Cube IDE-dan foydalandim, bu STMicroelectronics-dan kod ishlab chiqish uchun yagona yechim. U GCC ARM kompilyatori bilan Eclipse IDE -ga asoslangan. Bundan tashqari, uning ichida STM32CubeMX mavjud. Qo'shimcha ma'lumotni bu erda topishingiz mumkin. Avvaliga men tank spetsifikatsiyasini (balandligi va diametri) o'z ichiga olgan kod yozdim. Biroq, men turli xil texnik xususiyatlarga asoslangan parametrlarni o'rnatish uchun uni GUIga o'zgartirishga qaror qildim.
6 -qadam: tankga o'rnatish
Oxir -oqibat, men PCBni suvdan himoya qilish uchun oddiy quti yasadim. Bundan tashqari, men sensori qo'yish uchun tankning tepasida teshik qildim.