Mundarija:

Arduino bilan statsionar radar (LIDAR) qatori: 10 qadam (rasmlar bilan)
Arduino bilan statsionar radar (LIDAR) qatori: 10 qadam (rasmlar bilan)

Video: Arduino bilan statsionar radar (LIDAR) qatori: 10 qadam (rasmlar bilan)

Video: Arduino bilan statsionar radar (LIDAR) qatori: 10 qadam (rasmlar bilan)
Video: Робот на Arduino Nano #ардуино #роботы #электроника 2024, Iyul
Anonim
Arduino bilan statsionar radar (LIDAR) massivi
Arduino bilan statsionar radar (LIDAR) massivi
Arduino bilan statsionar radar (LIDAR) massivi
Arduino bilan statsionar radar (LIDAR) massivi
Arduino bilan statsionar radar (LIDAR) massivi
Arduino bilan statsionar radar (LIDAR) massivi

Ikki oyoqli robot qurayotganimda, men doimo raqibimni kuzatib boradigan va u bilan hujumli harakatlarni amalga oshiradigan qandaydir gadjetga ega bo'lishni o'ylardim. Bu erda radar/lidar loyihalari mavjud. Biroq, mening maqsadim uchun ba'zi cheklovlar mavjud:

  • Ultrasonik to'lqin sensori modullari juda katta. Har bir robot WALL-E ga o'xshaydi.
  • Hozirgi radar loyihalarida sensor (ultratovush to'lqinlari, IQ, lazer, …) va o'rtada servo dvigatel mavjud. Atrof -muhitni skanerlash uchun servo yonma -yon harakatlanishi kerak. Biror narsani oldinga va orqaga siljitish tezlikni o'zgartiradi, bu ikki oyoqli muvozanat va yurish uchun yomondir.
  • Skanerlash chastotasi servo tezligi bilan cheklangan. Faqat bir nechta gertsga erishish mumkin, ehtimol. Agar skanerlash chastotasi ba'zi super-servo bilan kuchaytirilsa ham, bu kuchli tebranishga olib keladi.
  • [Markaziy servo dvigatel - sensor] tartibi, shuningdek, o'rnatish va dizayn holatini cheklaydi. Boshdan boshqa narsalarni o'rnatish qiyin. Bu mening har oyog'im qaltiragan boshli WALL-E ga o'xshaydi. Yaxshi emas!
  • [Servo-sensor] tartibini [motor-sensori] uslubi sifatida ham qurish mumkin. Sensor (yoki sensorlar) doimiy ravishda motor o'qi bo'ylab aylanadi. Bu tezlikni pasayishi va skanerlash chastotasining pastligi muammolarini bartaraf qilishi mumkin, lekin torso konstruktsiyasining cheklanishi emas. Ulanishning murakkabligi ham sezilarli darajada oshadi.

Qidirib bo'lgach, bu VL53L0X datchigi ko'z oldimga tushdi. "Dunyodagi eng kichigi" parvoz vaqtini o'lchash datchigiga ko'ra, o'lchami atigi 4,4 x 2,4 x 1,0 mm. Tanlov

  • Chipda IR lazerli emitent va detektor
  • 2 m gacha (tez rejimda 1,2 m)
  • I2C dasturlashtiriladigan manzili
  • GPIO uzilish chiqish pimi
  • Ko'z xavfsiz

Bu xususiyatlarning barchasi, agar VL53L0X datchiklari ishlashi mumkin bo'lsa, yuqoridagi muammolarni bartaraf etishga imkon berdi. Dastlab, men bu radar qattiq holatli radar deb nomlanadi deb o'ylagandim, lekin bu atama boshqa narsa uchun ishlatilganini bildim. Shuning uchun sarlavhadagi "Statsionar" so'zi ushbu radar gadjetida harakatlanuvchi qismlar yo'qligini bildiradi. Bundan tashqari, LIDAR (yorug'likni aniqlash va diapazon) bu chip uchun texnik jihatdan to'g'ri atama bo'lsa -da, RADAR bu erda ko'proq umumiy atama deb ataladi.

Dasturlashtiriladigan I2C manzili va GPIO chiqish pinining ushbu loyiha uchun muhim bo'lishining sababi keyinroq tushuntiriladi.

1 -qadam: asboblar va ehtiyot qismlar

Asboblar va ehtiyot qismlar
Asboblar va ehtiyot qismlar
Asboblar va ehtiyot qismlar
Asboblar va ehtiyot qismlar

Asboblar

Ushbu loyihada quyidagi vositalar talab qilinadi:

  • Lehimlash temir
  • Qo'llarni lehimlash
  • Dupont kıvırma vositasi
  • 1,5 mm olti burchakli haydovchi
  • Tel qoplamani olib tashlash vositasi
  • Tel kesuvchi
  • Issiq yopishtiruvchi qurol
  • Cımbızlar
  • Büyüteç (telefoningizdagi jismoniy yoki ilovalar)
  • Yassi burun qisqichlari

Qismlar

Ushbu loyihada quyidagi qismlar ishlatiladi:

  • 10 marta VL53L0X GY-530 sindiruvchi taxtasi
  • Arduino (Uno, Nano, Mega, Nol, Mini va boshqalar)
  • Non paneli va bir nechta non simlari
  • AWG #26 turli rangdagi simlar
  • AWG #30 bitta yadroli sim
  • 5x Dupont erkak konnektorlari
  • 5x bitta pinli Dupont korpuslari
  • 10x 3D bosma taxta ushlagichlari
  • 1x 3D bosilgan dumaloq ramka
  • 10x M2x10 tekis vintlardek
  • 10x 0804 LED (ko'k rang tavsiya etiladi)
  • 10x SOT-23 AO3400 N-kanalli MOSFET
  • Kichik kondansatör (10 ~ 100uF)

Ajralish taxtasi

Men ishlatgan VL53L0X panellari GY-530. Adafruit va Pololu versiyalari ham mavjud. Iloji bo'lsa, men Adafruit yoki Pololu mahsulotidan foydalanishni tavsiya qilaman, chunki ular ajoyib mahsulotlar, ajoyib darsliklar va ajoyib dasturiy kutubxonalar yaratadi. Men Adafruit VL53L0X kutubxonasida sinab ko'rdim va Pololu VL53L0X kutubxonasining o'zgartirilgan versiyasidan foydalandim.

Dupont ulagichlari

Dupont ulagichlari non paneli uchun ishlatiladi. Siz qo'lda bo'lgan boshqa ulanish turlaridan foydalanishingiz mumkin.

Vintlar va 3D bosilgan qismlar

Sensorlarni dumaloq tartibda joylashtirish uchun M2 vintlardek, ushlagichlar va dumaloq ramka ishlatiladi. Siz boshqa usullarni qo'llashingiz mumkin, masalan, kartochkalarni, yog'ochdan yasalgan yog'ochlarni, loydan yoki hatto bankaga issiq yopishtirishdan.

2 -qadam: tarqatish kartasini buzish

Tarqatish taxtasini buzish
Tarqatish taxtasini buzish
Tarqatish taxtasini buzish
Tarqatish taxtasini buzish
Tarqatish taxtasini buzish
Tarqatish taxtasini buzish
Tarqatish taxtasini buzish
Tarqatish taxtasini buzish

Aniqlash konusi

Aniqlash konusini chizish uchun bitta moduldan foydalandim. Maqsad sifatida asosan 3D bosma robotdan foydalanish. Masofa LED displeyida ko'rsatilgan va taxminan o'lchanadi. O'lchangan ma'lumotlar Microsoft Excel fayliga yoziladi va egri chizish funktsiyasidan foydalaniladi. Eng yaxshi moslama - bu tabiiy logarifm egri chizig'i, uning samarali masofasi 3 sm dan taxminan 100 sm gacha.

60 smda bitta sensorni aniqlash egri chizig'i taxminan 22 sm. 20 sm kenglikdagi nishon bilan, radar massivi uchun 10-15 graduslik dumaloq bo'linish skanerlashning ruxsat etilgan aniqligini berishi kerak.

I2C manzili

VL53L0X I2C qurilmasining manzili dasturlashtirilishi mumkin bo'lsa-da, mikro-kontroller tomonidan XSHUT pinining to'liq boshqarilishi talab qilinadi. Buning ketma -ketligi quyidagicha:

  1. Quvvat AVDD ga qo'llaniladi.
  2. Barcha VL53L0X mikrosxemalari HSHUT pinlarini LOW holatiga o'tkazib, Hw kutish holatiga qaytariladi.
  3. Har bir chip birdaniga qayta tiklash holatidan chiqariladi. Yuklashdan so'ng standart I2C manzili 0x52.
  4. Chip manzili I2C buyrug'i orqali yangi manzilga o'zgartiriladi. Masalan, 0x52 0x53 ga o'zgartirildi.
  5. Barcha chiplar uchun 3 va 4 -bosqichlarni takrorlang.

Nazariy jihatdan, bitta avtobusda 7-bitli manzillar diapazoni uchun maksimal 126 birlikni haydash mumkin. Biroq, amalda, mikrokontrolderning avtobus sig'imi va cho'kish oqimi cheklanishi qurilmaning maksimal sonini cheklashi mumkin.

Yangi I2C manzili VL53L0X chipida quvvatni o'chirish yoki qayta o'rnatish uchun saqlanmaydi. Shunday qilib, bu jarayon har bir kuch ishlatilganda amalga oshirilishi kerak. Bu shuni anglatadiki, radar massividagi har bir birlik uchun bitta qimmatbaho pin zarur. Bu 10+ yoki 20+ birlikli radar kamari uchun simlar va pin-iste'mol uchun juda yomon.

STEP1da aytib o'tilganidek, VL53L0X chipida GPIO1 pimi borligi omadli, bu ishni dastlab uzilish uchun ishlatilgan.

GPIO-XSHUTN romashka zanjiri

GPIO chiqishi yuklanayotganda yuqori empedans holatida va faol bo'lganda drenajni pastgacha ochadi. Ma'lumotlar varag'ida tavsiya etilganidek, GPIO va XSHUT pinlari GY-530 kesish platasida AVDD-ga yuqori tortiladi. Barcha VL53L0X chiplarini Hw kutish holatiga ishonchli qo'yish uchun (XSHUT past), bizga har bir XSHUT pin uchun mantiq emas, eshik (inverter) kerak. Keyin biz bitta chipning GPIO chiqishini (Nchi chip), quyi oqim chipining XSHUTN (XSHUT-NOT) (N+1 chip) ga ulaymiz.

Quvvat yoqilgandan so'ng, barcha GPIO pinlari (harakatsiz) yuqoriga ko'tariladi, keyingi barcha XSHUT pinlari NOT eshigidan pastga tushiriladi (uning XSHUTN pimi mikro-tekshirgichga ulangan birinchi chipdan tashqari). I2C manzilining o'zgarishi va quyi oqim chipining XSHUT chiqarilishi dasturiy ta'minotda birma -bir amalga oshiriladi.

Agar siz turli xil taxtalardan foydalansangiz, tortish rezistorlari joyida yoki yo'qligini tekshirib, tegishli sozlashlarni amalga oshirishingiz kerak.

LED qo'shilishi

Keyingi bosqichda, XSHUT padidan ulashgan kondansatkichning GND terminaliga ulangan kichik 0805 SMD LED kesish platasiga qo'shiladi. LEDning o'zi modulning ishlashiga ta'sir qilmasa ham, bu bizga XSHUT mantiq darajasida yaxshi vizual ko'rsatma beradi.

LEDni XSHUT pinidagi tortish qarshiligi (mening holatimda 10k) bilan ketma-ket ulash, kuchlanish pasayishiga olib keladi. Yuqori mantiq darajasi 3,3v o'rniga, qizil 0805 LED uchun oldinga kuchlanish pasayishi 1,6v o'lchanadi. Ma'lumotlar varag'idagi bu kuchlanish yuqori mantiq darajasidan (1.12v) yuqori bo'lsa -da, bu yoriq uchun ko'k LED yaxshiroq. Moviy LED uchun oldinga kuchlanish pasayishi 2,4V atrofida o'lchanadi, bu chipning mantiqiy darajasidan xavfsizroq.

N-MOS inverterini qo'shish (mantiq emas, eshik)

Kichik SOT-23 N-kanalli MOSFET biz qo'shgan LEDga o'rnatilgan. Chiqib ketish taxtasida ikkita terminalni (D, S) lehimlash kerak, qolgan terminal (G) esa 26 -sonli sim yordamida GPIO piniga ulanadi.

SMD komponentlarini qo'shish haqida eslatmalar

SMD komponentlarini mo'ljallangan bo'lmagan taxtalarda lehimlash oson ish emas. Agar siz hali 0805, SMD, SOT-23 haqida eshitmagan bo'lsangiz, ehtimol siz bu mayda-chuyda qismlarni lehimlamagan bo'lishingiz mumkin. Ushbu kichik qismlarni qo'lda ishlatganda, odatda:

  • Kichkina narsa tushdi va g'oyib bo'ldi, abadiy,
  • Kichkina narsaning mayda yostiqchalari qobig'idan tozalangan.
  • Kichkina narsaning mayda oyoqlari singan edi.
  • Lehimlash uchun qalay bir bo'lakka yig'ilib, uni ajratib bo'lmadi.
  • Va yana…

Agar siz hali ham ushbu radarni yaratmoqchi bo'lsangiz, quyidagilarni qilishingiz mumkin:

  • Komponentlarni DIP uslubi kabi kattaroq paketga o'zgartiring.
  • Amaliyot va iste'mol uchun minimal miqdordan ko'proq komponentlarni oling.

3 -qadam: 0805 LEDini lehimlash

0805 LEDni lehimlash
0805 LEDni lehimlash
0805 LEDni lehimlash
0805 LEDni lehimlash
0805 LEDni lehimlash
0805 LEDni lehimlash
0805 LEDni lehimlash
0805 LEDni lehimlash

0805 SMD LEDni lehimlash

0805 LEDni qo'lda, SMD uchun mo'ljallanmagan taxtada lehimlash, umuman oson ish emas. Quyidagi qadamlar - LEDni lehimlash bo'yicha mening tavsiyam.

  1. O'zingizning taxtangizni ushlab turish uchun yordamchi qo'lni ishlating.
  2. SMD kondansatörü va "XSHUT" padining chetiga bir oz lehim pastasini qo'ying.
  3. Kondensator chetiga qo'shimcha lehim qo'yish uchun lehimlanadigan temirdan foydalaning.
  4. 0805 LEDining har ikki uchiga bir oz lehim pastasini qo'ying.
  5. 0805 svetodiodining ikkala uchiga qalay qo'yish uchun lehimlantiruvchi temirdan foydalaning.
  6. LEDni rasmda ko'rsatilgandek joylashtirish uchun cımbızlardan foydalaning. Mening misolimda katodning uchida yashil chiziq bor. Katodning uchini kondansatör uchiga joylashtiring.
  7. LEDni kondansatör tomon engil bosimini qo'shish uchun cımbızlardan foydalaning va kondansatörün uchiga bir vaqtning o'zida issiqlik qo'shib, LEDni kondansatörün oxiriga lehimleyin. LEDni qattiq bosmang. Uning qopqog'i issiqlik va ortiqcha bosim ostida sinishi mumkin. Lehimlangandan so'ng, LEDning yon tomoniga yumshoq bosim o'tkazing, shunda LED joyida lehimlangan.
  8. Endi LEDni XSHUT dip padida lehimlang. Bu qadam osonroq bo'lishi kerak.

Eslatma: Rasmda ko'rsatilgan kondansatör uchi - bu kesish platasidagi tuproqli terminal. Va XSHUT dip padini rezistor tortadi.

LEDni sinovdan o'tkazish

Quvvatni (e.x. 5V) qo'llaganingizda va yoriq taxtasiga topraklanganda LED yonishi kerak.

4-qadam: N-kanalli MOSFETni lehimlash

N-kanalli MOSFETni lehimlash
N-kanalli MOSFETni lehimlash
N-kanalli MOSFETni lehimlash
N-kanalli MOSFETni lehimlash
N-kanalli MOSFETni lehimlash
N-kanalli MOSFETni lehimlash
N-kanalli MOSFETni lehimlash
N-kanalli MOSFETni lehimlash

AO3400 N-kanalli MOSFETni lehimlash

Bu MOSFET SOT-23 paketida. Biz uni LEDga "yig'ish" va simni qo'shishimiz kerak:

  1. Bir oz lehim pastasini qo'ying va uchta terminalga qalay qo'ying.
  2. MOSFETni 0805 LEDining ustiga qo'yish uchun cımbızlardan foydalaning. S terminali kondansatkichning yuqori qismiga tegishi kerak
  3. Suratda ko'rsatilganidek, S terminalini kondansatör uchi bilan lehimlang.
  4. AWG #30 bitta yadroli simning kichik qismini kesib oling va qoplamani taxminan 1 sm olib tashlang.
  5. Loyihani pastdan XSHUT teshigidagi eritish uchun ishlating va rasmda ko'rsatilgandek #30 simni yuqoridan joylashtiring.
  6. Simning yuqori uchini MOSFET D terminaliga lehimlash.
  7. Qo'shimcha simni kesib oling.

Eslatma: MOSFET S terminali rasmda ko'rsatilgandek kondansatör uchiga ulangan. Bu uchi yer terminali hisoblanadi. MOSFET D terminali asl XSHUT piniga ulangan.

G terminali hozircha ulanmagan. Uning joylashuvi ba'zi tortishish rezistorlari ustida. Ularning orasidagi bo'shliq borligiga ishonch hosil qiling (N-MOS va qarshilik) va bir-biri bilan aloqa qilmasin.

5 -qadam: Sensor massivini ulash

Sensor massivini ulash
Sensor massivini ulash
Sensor massivini ulash
Sensor massivini ulash
Sensor massivini ulash
Sensor massivini ulash

Umumiy avtobus simlari

Umumiy avtobusga quyidagilar kiradi:

  • Vcc quvvati. Suratda qizil. Men 5v mantiqqa ega arduino nanodan foydalanayapman. Ajratuvchi taxtada LDO va daraja almashtirgich mavjud. Shunday qilib, 5v -ni Vin sifatida ishlatish xavfsiz.
  • Zamin. Suratda qora.
  • SDA. Fotosuratda yashil rang.
  • SCL. Suratda sariq.

Bu to'rtta chiziq umumiy chiziqlardir. Tegishli uzunlikdagi simlarni kesib oling va ularni barcha sensorli modullarga parallel ravishda lehimlang. Men arduinodan birinchi sensorgacha 20 sm, keyin esa har birida 5 sm ishlatardim.

XSHUTN va GPIO simlari

20 sm oq sim arduino boshqaruv pinidan birinchi sensorning XSHUTN pinigacha. Bu birinchi VL53L0X chipini asl holatiga qaytarish va I2C manzilini o'zgartirish uchun zarur bo'lgan nazorat chizig'i.

Har bir modul orasidagi 5 sm oq sim - romashka zanjirini boshqarish chizig'i. Yuqori oqim chipi (masalan, chip 3) GPIO pad, quyi oqimga ulangan (masalan, chip №4) XSHUTN oyog'i (N-Channel MOSFET G terminali).

G terminalining pastdagi rezistor bilan aloqa qilmasligiga ehtiyot bo'ling. Bo'shliqqa izolyatsiya tasmasini qo'shishingiz mumkin. Bu erda odatda VL53L0X chipi bilan ta'minlangan himoya chizig'idan foydalanish mumkin.

Tekshirish simini yopish uchun issiqlik tabancasidan foydalaning.

Issiq elim

Rasmda ko'rib turganingizdek, oq boshqaruv simida, N-MOS G terminali yonida issiq yopishqoqlik bor. Bu qadam juda muhim va juda zarur. SMD komponentining oyog'iga to'g'ridan -to'g'ri suzuvchi lehim juda zaif. Hatto simga kichik bosim ham oyog'ini sindirib yuborishi mumkin. Bu qadamni muloyimlik bilan bajaring.

LEDni sinovdan o'tkazish

Sensor qatoriga quvvat (masalan, 3.3v-5v) va erni qo'llaganingizda, birinchi moduldagi LED XSHUTN simli mantiq darajasi bilan javob berishi kerak. Agar siz XSHUTNni yuqori mantiqqa (masalan, 3.3v-5v) ulasangiz, LED o'chirilgan bo'lishi kerak. Agar siz XSHUTN simini past (erga) ulasangiz, birinchi moduldagi LED yonishi kerak.

Keyingi barcha modullar uchun LED o'chirilgan bo'lishi kerak.

Ushbu sinov arduino -ga ulanishdan oldin o'tkaziladi.

6 -qadam: Sensor massivini to'ldirish

Image
Image
Sensor qatorini to'ldirish
Sensor qatorini to'ldirish
Sensor qatorini to'ldirish
Sensor qatorini to'ldirish
Sensor qatorini to'ldirish
Sensor qatorini to'ldirish

Daisy zanjiri sinovi

Endi biz I2C manzilining o'zgarishi qatordagi barcha sensorlar uchun ishlayotganligini tekshirmoqchimiz. Yuqorida aytib o'tilganidek, birinchi chip arduino tomonidan boshqariladi. Ikkinchi chip birinchi chip tomonidan boshqariladi va hokazo.

  1. Non taxtasini o'rnating. 5V va er osti temir yo'llari to'g'ridan -to'g'ri adriano 5V va erdan ulanadi. Ma'lumotlar jadvalida har bir datchik uchun joriy iste'mol 19ma deb baholanadi.
  2. Vinni barqarorlashtirishga yordam berish uchun quvvat rayiga kondansatör qo'shing.
  3. Sensor qatoridan Vin va Ground -ni elektr tarmog'iga ulang.
  4. SDA-ni arduino Nano pin A4 ga ulang (boshqa mikro-kontrollerlar uchun boshqacha bo'lishi mumkin).
  5. SCL-ni arduino Nano pin A5 ga ulang (boshqa mikro-kontrollerlar uchun boshqacha bo'lishi mumkin).
  6. XSHUTN simini arduino Nano pin D2 ga ulang. (Buni eskizda o'zgartirish mumkin).
  7. Github-ga o'ting https://github.com/FuzzyNoodle/Fuzzy-Radar va kutubxonani yuklab oling.
  8. "Daisy_Chain_Testing" misolini oching va eskizni yuklang.

Agar hamma narsa ishlayotgan bo'lsa, siz yuqoridagi videoklipga o'xshash LEDlarning birma -bir yonib turishini ko'rishingiz kerak.

Siz shuningdek ketma -ket oynani ochishingiz va ishga tushirish jarayonini ko'rishingiz mumkin. Chiqish shunday ko'rinadi:

PortPort ochilishining boshlang'ich eskizi. 0 -chipni qayta tiklash rejimiga o'tkazing. Barcha LEDlar o'chirilgan bo'lishi kerak. Endi sensorlarni sozlash. LED birin -ketin yonib turishi kerak. Chip 0 ni sozlash - I2C manzilini 83 ga qaytarish - Sensorni ishga tushiring. Chip 1 -ni sozlash - I2C manzilini 84 -ga qaytarish - Sensorni ishga tushirish. Chip 2 -ni sozlash - I2C manzilini 85 -ga qaytarish - Sensorni ishga tushirish. Radar massivining konfiguratsiyasi yakunlandi.

Tutqich va ramkani yig'ing

  1. Ehtiyotkorlik bilan har bir GY-530 modulini ushlagichga M2x10 vint bilan joylashtiring. MOSFET -ni bosmang yoki XSHUTN simlarini tortmang.
  2. Har bir ushlagichni dumaloq ramkaga joylashtiring. Qismlarni yopishtirish uchun issiq elimdan foydalaning.

Yana datchiklarni dumaloq tartibda joylashtirish uchun M2 vintlari, ushlagichlari va dumaloq ramka ishlatiladi. Siz boshqa usullardan foydalanishingiz mumkin, masalan, kartochkalarni, yog'ochdan yasalgan yog'ochni, loydan yoki hatto bankaga issiq yopishtirishdan.

Men ishlatgan 3D bosilgan fayllar quyida keltirilgan. Dumaloq ramkada har biri 10 daraja ajratilgan 9 ta modul mavjud. Agar ko'zingiz o'tkir bo'lsa, oldingi fotosuratlarda 10 ta modul bor edi. Sabab? Quyida tushuntirilgan…

Himoya qoplamasini olib tashlang

Agar siz qadamlarni boshidan kuzatgan bo'lsangiz, VL53L0X chipidagi himoya qoplamani olib tashlashning ayni vaqti. Oldingi fotosuratlarimda ular allaqachon o'chirilgan, chunki men modullarni sinab ko'rishim va ushbu ko'rsatmalarni joylashtirishdan oldin kontseptsiya ishlayotganiga ishonch hosil qilishim kerak.

Ma'lumotlar varag'ida himoya qoplamasi haqida shunday deyilgan: "Xaridor qopqoq oynasini o'rnatishdan oldin olib tashlashi kerak". VL53L0X chipidagi ikkita kichik teshik (emitent va qabul qilgich) ifloslanishdan himoyalanmagan, masalan, chang, surtma, issiq elim va boshqalar …

Ifloslanganidan keyin diapazon kamayishi mumkin va o'qishlar aniq miqdorda o'chirilishi mumkin. Mening sinov modulidan biri tasodifan yopishqoq loy bilan ifloslangan, diapazoni 40 sm gacha qisqartirilgan va masofani o'qish xato bilan 50%ga kattalashtirilgan. Shunday qilib, ehtiyot bo'ling!

7 -qadam: Ma'lumot olish

Image
Image
Lazer izi (namoyish)
Lazer izi (namoyish)

Raw_Data_Serial_Output misolidan foydalanish

Endi biz sensorlar qatorimizdagi ma'lumotlarni ko'rishni juda yaxshi ko'ramiz. GitHub -dagi arduino kutubxonasida:

https://github.com/FuzzyNoodle/Fuzzy-Radar

Raw_Data_Serial_Output deb nomlangan misol bor. Bu misol sensorli massivdan olingan ma'lumotlarni uzatishini ko'rsatadi. Chiqish qiymatlari millimetrda.

Sensorlar ishga tushirilgandan so'ng, sensorlar orqali qo'lingizni silkitganda, ketma -ket oynada shunga o'xshash narsani ko'rishingiz kerak:

Jonli namoyish uchun videoklipga qarang.

Fuzzy_Radar_Serial_Output misolidan foydalanish

Keyingi qadam - bu masofaviy o'qishlar bo'yicha foydali ma'lumotlarni olish. RADARdan biz xohlagan narsa - bu maqsadli ob'ektning masofasi va burchagi.

  • Sensor yuzasi bilan bog'liq masofa millimetrda. 0 qaytarish, maqsad chegaradan tashqarida ekanligini bildiradi.
  • Burchak gradusda, gorizontal tekislikda. Hozirgi vaqtda kutilgan sensorlar bir xil masofada joylashtirilgan. 0 gradusni qaytarish, maqsad qatorning markaziy pozitsiyasida ekanligini bildiradi.

Kutubxonada filtrlash algoritmi qo'llaniladi:

  • Shovqinni olib tashlash:

    • Qisqa (namuna soni bo'yicha) o'qishlar shovqin deb hisoblanadi va o'chiriladi.
    • O'rtacha qiymatdan uzoq bo'lgan o'qishlar o'chiriladi.
  • Og'irlik burchagini hisoblash (yuqoridagi rasmga qarang)

    • Maqsadli ob'ekt tekis sirt deb taxmin qilinadi
    • Agar bir vaqtning o'zida bir nechta sensorlar ob'ektni aniqlagan bo'lsa, har bir sensor uchun vazn hisoblab chiqiladi.
    • Har bir sensorning og'irligi uning masofasiga teskari bog'liq.
    • Natija farishtasi har bir sensorning tortilgan burchagidan hisoblanadi.
  • Asosiy maqsad tanlash:

    • Agar bir nechta o'qishlar guruhi bo'lsa, eng keng guruh (sensorlar o'qish soni bilan) qoladi.
    • Masalan, agar siz ikkita qo'lni sensorlar qatorining oldiga qo'ysangiz, ko'proq sensorlar tomonidan aniqlangan qo'l qoladi.
  • Eng yaqin maqsad tanlash:

    • Agar bir xil kenglikdagi bir nechta aniqlangan guruh bo'lsa, eng yaqin masofadagi guruh qoladi.
    • Masalan, agar siz ikkita qo'lni sensorlar qatorining oldiga qo'ysangiz va ikkita aniqlangan guruhda sensorlar soni bir xil bo'lsa, sensorga yaqinroq guruh qoladi.

Chiqish masofasi va burchagi past o'tish filtri orqali tekislanadi

Raw_Data_Serial_Output -da, masofaviy o'qishlar masofa va burchak qiymatiga aylanadi. Eskizni yuklaganingizdan so'ng, shunga o'xshash natijani ko'rish uchun ketma -ket oynani ochishingiz mumkin:

Hech qanday ob'ekt aniqlanmadi. Hech qanday ob'ekt aniqlanmadi. Hech qanday ob'ekt aniqlanmadi. Masofa = 0056 burchak = 017 masofa = 0066 burchak = 014 masofa = 0077 burchak = 011 masofa = 0083 burchak = 010 masofa = 0081 burchak = 004 masofa = 0082 burchak = 000 masofa = 0092 burchak = 002 masofa = 0097 burchak = 001 masofa = 0096 burchak = 001 masofa = 0099 burchak = 000 masofa = 0101 burchak = -002 masofa = 0092 burchak = -004 masofa = 0095 burchak = -007 masofa = 0101 burchak = -008 masofa = 0112 burchak = -014 masofa = 0118 burchak = -017 masofa = 0122 burchak = -019 masofa = 0125 burchak = -019 masofa = 0126 burchak = -020 masofa = 0125 burchak = -022 masofa = 0124 burchak = -024 masofa = 0133 burchak = -027 masofa = 0138 burchak = - 031 masofa = 0140 burchak = -033 masofa = 0136 burchak = -033 masofa = 0125 burchak = -037 masofa = 0120 burchak = -038 masofa = 0141 burchak = -039 Hech qanday ob'ekt aniqlanmagan. Hech qanday ob'ekt aniqlanmadi. Hech qanday ob'ekt aniqlanmadi.

Endi sizda RADAR (LIDAR) bor:

  • Ultrasonik sensorli modullardan kichikroq
  • Harakatlanuvchi qismlar yo'q
  • 40 Gts chastotada skanerlash.
  • Belbog 'shaklida, dumaloq ramkaga o'rnatilishi mumkin
  • Faqat uchta boshqaruv simini, ortiqcha quvvat va erni ishlating.
  • Diametri 30 millimetrdan 1000 millimetrgacha.

Keyingi bosqichlarda biz sizga ajoyib namoyishlarni ko'rsatamiz!

8 -qadam: Laser Tracer (namoyish)

Image
Image
Lazer izi (namoyish)
Lazer izi (namoyish)

Bu oldingi qadamlardan qurilgan Statsionar Radarni ishlatishning bir misoli. Bu qadam batafsil yozilmagan, chunki bu Radarning namoyishi. Umuman olganda, ushbu namoyish loyihasini yaratish uchun sizga qo'shimcha elementlar kerak bo'ladi:

  • Ikkita servo
  • Boshini chiqaradigan lazer qalam
  • MOSFET yoki NPN tranzistorlari lazer boshining chiqishini boshqaradi
  • Servo uchun quvvat manbai. U mikrokontrolderdan ajratilishi kerak.

Kodni bu yerdan yuklab olish mumkin.

Iltimos, taqdim etilgan videoni ko'ring.

9 -qadam: Poopeylarga qarab turish (namoyish)

Image
Image

Ob'ektning joylashuvi va masofasini kuzatish uchun radarlardan foydalanishni namoyish qilish.

Tavsiya: