Mundarija:
- 1 -qadam: qismlar va komponentlar
- 2 -qadam: Enkoder
- 3 -qadam: sezuvchanlik
- 4 -qadam: o'lchash
- 5 -qadam: yig'ish
- 6 -qadam: kod
- 7 -qadam: sxemalar
- 8 -qadam: PoCdan ishlab chiqarishga
- 9 -qadam: Rasm galereyasi
Video: Measurino: o'lchov g'ildiragining kontseptsiyasi: 9 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Measurino g'ildirakning aylanish sonini hisoblab chiqadi va bosib o'tgan masofa g'ildirakning radiusiga to'g'ridan to'g'ri proportsionaldir. Bu Odometrning asosiy printsipi va men bu loyihani asosan millimetrdan kilometrgacha bo'lgan bir necha masofalarga mos keladigan sxemani (Arduino mikrokontroldori boshqaradi) qanday saqlashni o'rganish va mumkin bo'lgan muammolar yoki yaxshilanishlarni baholash uchun boshladim.
1 -qadam: qismlar va komponentlar
- Arduino Nano rev.3
- 128 × 64 OLED diplay (SSD1306)
- Qo'shimcha fotoelektrik aylanadigan kodlovchi (400P/R)
- Samolyot modellari uchun rezina g'ildirak (diametri 51 mm)
- 2 ta tugma
- 9v batareya
2 -qadam: Enkoder
Ushbu loyiha uchun men bir nechta arzon aylanuvchi kodlovchini sinab ko'rdim, lekin aniqlik/sezuvchanlik muammolari tufayli ularni darhol tashladim. Shunday qilib, men DFRobot -ning qo'shimcha fotoelektrik aylanuvchi kodlovchi - 400P/R SKU: SEN0230 -ga bordim. Bu alyuminiy materialli, metall qobiqli va zanglamaydigan po'latdan yasalgan milga ega bo'lgan sanoatning qo'shimcha fotoelektrli aylanadigan kodlovchi. Panjara disk va optokuplning aylanishi orqali AB ikki fazali ortogonal puls signalini ishlab chiqaradi. Har bir faza uchun 400 impuls/dumaloq, va ikki fazali 4 marta chiqish uchun 1600 puls/dumaloq. Bu aylanadigan kodlovchi maksimal 5000 r/min tezlikni qo'llab -quvvatlaydi. Va u tezlik, burchak, burchak tezligi va boshqa ma'lumotlarni o'lchash uchun ishlatilishi mumkin.
Fotoelektrik aylanuvchi kodlovchi NPN ochiq kollektor chiqishiga ega, shuning uchun tortishish rezistorlaridan foydalanish yoki Arduino ichki tortilishini yoqish kerak. U DC4.8V-24V keng diapazonli quvvat manbai bo'lgan 750L05 kuchlanish regulyatori chipidan foydalanadi.
3 -qadam: sezuvchanlik
Bu Optoelektrik Rotary Enkoder haqiqatan ham katta sezuvchanlikka ega, bu esa milni boshqarish va joylashishni aniqlash uchun mukammal qiladi. Lekin mening maqsadim uchun bu juda mantiqiy edi. G'ildirak 51 mm bo'lgan bu kodlovchi 0,4 mm sezuvchanlikka ega, ya'ni qo'lingizda minimal titrash bo'lsa, ular yozib olinadi. Shunday qilib, men tanaffus tartibiga histerezis qo'shib, sezuvchanlikni pasaytirdim:
bo'sh uzilish ()
{char i; i = digitalRead (B_PHASE); agar (i == 1) hisoblash += 1; boshqa hisoblash -= 1; if (abs (hisoblash)> = histerezis) {flag_A = flag_A+count; hisoblash = 0; }}
Bu hiyla o'lchovga yaxshi barqarorlik berish uchun etarli edi.
4 -qadam: o'lchash
O'lchov birligingizni (o'nlik yoki imperiya) tanlang, so'ngra o'lchash boshida g'ildirakni aloqa nuqtasi bilan joylashtiring, Reset tugmasini bosing va oxirigacha aylantirib turing. O'lchov chapdan o'ngga ko'payadi va yig'iladi, o'ngdan chapga kamayadi va kamayadi. Siz egri chiziqli narsalarni ham o'lchashingiz mumkin (sizning avtomobilingiz shakli, spiral zinapoyaning tutqichi, qo'lingizning elkasidan bilagigacha cho'zilgan tirsagi va boshqalar).
Diametri = D bo'lgan g'ildirakning to'liq aylanishi D*π uzunligini o'lchaydi. Mening holatimda, 51 mm g'ildirak bilan, bu 16,02 sm va har bir belgining o'lchami 0,4 mm (sezuvchanlik bandiga qarang).
5 -qadam: yig'ish
PoC sxemani ko'rsatish uchun non panelida qilingan. Har bir komponent bortga biriktirilgan va aylanadigan kodlovchi 2x2 qutbli vintli terminal blokiga ulangan. Batareya 9V standart batareyadir va kontaktlarning zanglashiga olib keladigan umumiy quvvati 60mA atrofida.
6 -qadam: kod
Displey uchun men U8g2lib -dan foydalandim, u shu turdagi OLED -displeylar uchun juda moslashuvchan va kuchli bo'lib, shriftlarning keng tanlovini va joylashishni aniqlashning yaxshi funktsiyalarini beradi. Men displeyni ma'lumot bilan to'ldirishga ko'p vaqt sarflamadim, chunki bu faqat Poc edi.
Enkoderni o'qish uchun men 2 bosqichdan birida hosil bo'lgan uzilishlardan foydalanmoqdaman: har safar kodlovchi o'qi harakatlansa, u impulsning ko'tarilishida bog'langan Arduino uchun uzilish hosil qiladi.
attachInterrupt (digitalPinToInterrupt (A_PHASE), uzilish, RISING);
Displey avtomatik ravishda millimetrdan metrga, kilometrga va (agar tugmachadan tanlansa) dyuymdan yardga, milga o'tadi, RST tugmasi esa o'lchovni nolga qaytaradi.
7 -qadam: sxemalar
8 -qadam: PoCdan ishlab chiqarishga
Nima uchun bu kontseptsiya isboti? To'liq ishlaydigan uskunani qurishdan oldin amalga oshirilishi mumkin bo'lgan ko'pgina yaxshilanishlar. Keling, barcha yaxshilanishlarni batafsil ko'rib chiqaylik:
- G'ildirak. Measurino sezgirligi/aniqligi g'ildirakka bog'liq. Kichikroq g'ildirak sizga kichik uzunliklarni o'lchashda yaxshiroq aniqlik berishi mumkin (millimetrdan santimetrgacha). Uzaytiruvchi bumli ancha katta g'ildirak yo'lda yurish va kilometrlarni o'lchash imkonini beradi. Kichik g'ildiraklar uchun materialni hisobga olish kerak: to'liq kauchuk g'ildirak biroz deformatsiyalanishi va aniqlikka ta'sir qilishi mumkin, shuning uchun men toymasin uchun alyuminiy/po'lat g'ildirakni faqat ingichka tasmasi bilan taklif qilaman. Dasturiy ta'minotni ahamiyatsiz tahrirlashda (kalit bilan g'ildirakning to'g'ri diametrini tanlang), siz 4-pinli ulagich yordamida (masalan, usb port) har qanday o'lchovga moslasha oladigan g'ildiraklarni ko'rib chiqishingiz mumkin.
- Dasturiy ta'minot. Boshqa tugmachani qo'shib, dastur to'rtburchaklar yoki amplitudali burchaklarni o'lchash bilan shug'ullanishi mumkin. Men, shuningdek, displeydagi qiymatni o'qishdan oldin g'ildirakni bexosdan siljitib qo'ymaslik uchun o'lchovni oxirigacha muzlatish uchun "ushlab turish" tugmachasini qo'shishni maslahat beraman.
- G'ildirakni g'altakka almashtiring. Qisqa choralar ko'rish uchun (bir necha metr ichida) g'ildirakni ip yoki tasma bo'lgan bahorli g'altakka almashtirish mumkin. Shunday qilib, siz shunchaki ipni tortishingiz kerak (enkoder milini aylantirib), o'lchovingizni oling va displeyda tomosha qiling.
- Batareya holati ko'rsatkichini qo'shing. 3.3v Arduino mos yozuvlar pimi (1%ichida aniq) ADC konvertori uchun asos sifatida ishlatilishi mumkin. Shunday qilib, 3.3V pinli raqamli konvertatsiyani analog qilib (A1 ga ulab) va keyin bu o'qishni sensordan o'qish bilan solishtirib, VIN nima bo'lishidan qat'i nazar, haqiqiy o'qishni ekstrapolyatsiya qilishimiz mumkin. 3.4V dan yuqori ekan). Ishchi misolni mening boshqa loyihamda topish mumkin.
9 -qadam: Rasm galereyasi
Tavsiya:
Vaqt o'lchovi (lenta o'lchov soati): 5 qadam (rasmlar bilan)
Vaqt o'lchovi (lenta o'lchov soati): Ushbu loyiha uchun biz (Aleks Fiel va Anna Lynton) har kungi o'lchash asbobini olib, uni soatga aylantirdik! Dastlabki reja mavjud tasma o'lchovini motorli qilish edi. Shunday qilib, biz o'z qobig'imizni yaratish osonroq deb qaror qildik
Inertial o'lchov birligidan foydalanish usuli?: 6 qadam
Inertial o'lchov birligidan foydalanish usuli?: Kontekst: Men o'yin -kulgi uchun uyning ichida avtonom tarzda harakatlanishni xohlayman, bu uzoq ish va men bosqichma -bosqich bajaraman. Men allaqachon bu mavzu bo'yicha 2 ta ko'rsatma nashr qildim: biri g'ildirakli kodlovchi yasash haqida
JCN: V60 muvozanatli oziq -ovqat kompyuter kontseptsiyasi V60.s: 10 qadam
JCN: V60 muvozanatli oziq -ovqat kompyuteri kontseptsiyasi V60.s: Salom va xush kelibsiz, bu professional toifadagi taqdimot, men ushbu loyihani amalga oshirishda ikkita muhim maqsadni qo'yganman. Mening ustuvor vazifalarim NASA olimlari va boshqalar bilan o'tkazilgan telekonferentsiyalardan olingan. Bu sessiyalardan men uchun eng muhim narsa bu edi
Python -dagi Kato Delu -Baja La -Curva -de -Una -Funcion kontseptsiyasi: 8 qadam
Python -ni o'chirib qo'yish kerak: bu dasturiy ta'minotni Python -da topish mumkin bo'lgan boshqa dasturlar. Tavsiya etiladigan versiya versiyalari 2.7.12 da 64 bit
Manta drayveri: ROV qo'zg'alish tizimining kontseptsiyasi: 8 qadam (rasmlar bilan)
Manta haydovchisi: ROV qo'zg'alish tizimining kontseptsiyasi: Har bir suv osti transport vositasining kamchiliklari bor. Korpusni teshadigan hamma narsa (eshik, kabel) mumkin bo'lgan oqishdir va agar biror narsa korpusni teshib, bir vaqtning o'zida harakatlansa, oqish ehtimoli ko'payadi. Bu ko'rsatmali ko'rsatmalarni