Агуулгын хүснэгт:

Arduino -тэй суурин радар (LIDAR) массив: 10 алхам (зурагтай)
Arduino -тэй суурин радар (LIDAR) массив: 10 алхам (зурагтай)

Видео: Arduino -тэй суурин радар (LIDAR) массив: 10 алхам (зурагтай)

Видео: Arduino -тэй суурин радар (LIDAR) массив: 10 алхам (зурагтай)
Видео: CS50 2015 - Week 4 2024, Долдугаар сарын
Anonim
Arduino -тэй суурин радар (LIDAR) массив
Arduino -тэй суурин радар (LIDAR) массив
Arduino -тэй суурин радар (LIDAR) массив
Arduino -тэй суурин радар (LIDAR) массив
Arduino -тэй суурин радар (LIDAR) массив
Arduino -тэй суурин радар (LIDAR) массив

Би хоёр хошуутай робот бүтээж байхдаа өрсөлдөгчөө мөшгөж, түүнтэй хамт довтолгооны хөдөлгөөн хийх чадвартай ямар нэгэн гоё төхөөрөмжтэй болохыг үргэлж боддог байсан. Радар/лидар төслүүдийн багц энд аль хэдийн бий. Гэсэн хэдий ч миний зорилгод зарим хязгаарлалтууд байдаг.

  • Хэт авианы долгионы мэдрэгчийн модуль нь нэлээд том хэмжээтэй. Робот бүр WALL-E шиг харагдах болно.
  • Одоогийн радарын төслүүд нь мэдрэгч (хэт авианы долгион, IR, лазер,…), дунд хэсэгт нь servo мотор багтдаг. Байгаль орчныг сканнердахын тулд servo нь хажуу тийш шилжихийг шаарддаг. Аливаа зүйлийг нааш цааш нь хөдөлгөх нь эрч хүчийг өөрчилдөг бөгөөд энэ нь хоёр хөлөө тэнцвэржүүлэх, алхахад муугаар нөлөөлдөг.
  • Скан хийх давтамж нь servo хурдаар хязгаарлагддаг. Зөвхөн хэд хэдэн герц хүрэх боломжтой. Скан хийх давтамжийг зарим супер сервогоор нэмэгдүүлэх боломжтой байсан ч энэ нь хүчтэй чичиргээ үүсгэх болно.
  • [Төв servo мотор - мэдрэгч] -ийн зохицуулалт нь угсрах байрлал, дизайныг хязгаарладаг. Толгойноос өөр зүйлийг холбоход хэцүү байдаг. Энэ нь миний хоёр хөллөж буй хэсэг бүрийг сэгсэрч буй WALL-E шиг харагдуулдаг. Гайхалтай биш!
  • [Серво-мэдрэгч] зохицуулалтыг [мотор мэдрэгч] маягаар хийж болно. Мэдрэгч (эсвэл мэдрэгч) нь хөдөлгүүрийн тэнхлэгийн дагуу тасралтгүй эргэлддэг. Энэ нь импульсийн цочрол, скан хийх давтамжийн асуудлыг арилгах боломжтой боловч их биеийн дизайны хязгаарлалт биш юм. Утасны холболтын хүндрэл бас мэдэгдэхүйц нэмэгдэх болно.

Хайлт хийсний дараа ST -ийн энэхүү жижигхэн VL53L0X мэдрэгч нүд рүү минь тусав. "Дэлхийн хамгийн жижиг" нислэгийн цагийн мэдрэгчийг ашигласнаар хэмжээ нь ердөө 4.4 x 2.4 x 1.0 мм байна. Онцлох

  • IR чип дээр IR лазер ялгаруулагч ба илрүүлэгч
  • 2м хүртэлх зай (хурдан горимд 1.2м)
  • Програмчлагдах I2C хаяг
  • GPIO тасалдлын гаралтын зүү
  • Нүд аюулгүй

Эдгээр бүх онцлог шинж чанарууд нь VL53L0X мэдрэгчтэй ажиллах боломжтой бол дээрх асуудлыг даван туулах боломжийг надад олгосон юм. Эхэндээ би энэ радарыг хатуу төлөвт радар гэж нэрлэнэ гэж бодсон боловч энэ нэр томъёог өөр зүйлд ашигласан болохыг олж мэдсэн. Тиймээс гарчиг дээрх "Хөдөлгөөнгүй" гэсэн үг нь энэ радар хэрэгсэлд хөдлөх хэсэг байхгүй гэсэн үг юм. Түүнчлэн, LIDAR (гэрэл илрүүлэх ба хязгаарлах) нь энэ чипийн техникийн хувьд зөв нэр томъёо боловч RADAR -ийг энд илүү ерөнхий нэр томъёо гэж нэрлэдэг.

Програмчлагдах I2C хаяг болон GPIO гаралтын зүү нь энэ төсөлд яагаад чухал болохыг яагаад дараа тайлбарлах болно.

Алхам 1: Багаж хэрэгсэл ба эд анги

Багаж хэрэгсэл ба эд анги
Багаж хэрэгсэл ба эд анги
Багаж хэрэгсэл ба эд анги
Багаж хэрэгсэл ба эд анги

Багаж хэрэгсэл

Энэхүү төсөлд дараахь хэрэгслүүд шаардлагатай болно.

  • Гагнуурын төмөр
  • Туслах гараа гагнах
  • Dupont crimp хэрэгсэл
  • 1.5 мм зургаан өнцөгт драйвер
  • Утасны бүрээсийг зайлуулах хэрэгсэл
  • Утас таслагч
  • Халуун цавуу буу
  • Хясаа
  • Томруулагч (таны утсан дээрх физик эсвэл програмууд)
  • Хавтгай хамар бахө

Эд анги

Энэхүү төсөлд дараах хэсгүүдийг ашигласан болно.

  • 10x VL53L0X GY-530 таслах самбар
  • Arduino (Uno, Nano, Mega, Zero, Mini гэх мэт)
  • Талхны самбар ба талхны зарим утас
  • AWG #26 утаснууд өөр өөр өнгөтэй
  • AWG #30 дан судалтай утас
  • 5х Dupont эрэгтэй холбогч
  • 5х Дупонт дан зүү
  • 10х 3D хэвлэмэл хавтангийн эзэмшигч
  • 1х 3D хэвлэсэн дугуй хүрээ
  • 10х M2x10 хавтгай толгойтой эрэг
  • 10x 0804 LED (Цэнхэр дахин санал болгосон)
  • 10х SOT-23 AO3400 N-Channel MOSFET
  • Жижиг конденсатор (10 ~ 100uF)

Таслах самбар

Миний ашигласан VL53L0X таслагч самбар нь GY-530 юм. Adafruit болон Pololu хувилбарууд бас байдаг. Боломжтой бол Adafruit эсвэл Pololu -ийн бүтээгдэхүүнийг ашиглахыг зөвлөж байна, учир нь тэд гайхалтай бүтээгдэхүүн, гайхалтай хичээл, програм хангамжийн гайхалтай номын сантай болно. Би Adafruit -ийн VL53L0X номын санг туршиж үзээд Pololu -ийн VL53L0X номын сангийн өөрчлөгдсөн хувилбарыг ашигласан.

Dupont холбогч

Dupont холбогчийг талхны самбар дээр ашигладаг. Та гартаа байгаа бусад төрлийн холболтыг ашиглаж болно.

Шураг ба 3D хэвлэсэн эд анги

М2 шураг, эзэмшигч, дугуй хүрээ нь мэдрэгчийг дугуй хэлбэртэй байрлуулахад ашигладаг. Та картын самбар, модон мод, шавар, эсвэл лаазанд халуун цавуу хэрэглэх гэх мэт өөр аргыг ашиглаж болно.

Алхам 2: Тараах самбарыг хакердах

Тараах самбарыг хакердах
Тараах самбарыг хакердах
Тараах самбарыг хакердах
Тараах самбарыг хакердах
Тараах самбарыг хакердах
Тараах самбарыг хакердах
Тараах самбарыг хакердах
Тараах самбарыг хакердах

Илрүүлэх конус

Би илрүүлэх конусыг зурахдаа ганц модулийг ашигласан. Гол төлөв 3D хэвлэсэн роботыг зорилтот төхөөрөмж болгон ашиглаж байна. Зайг LED дэлгэц дээр харуулсан бөгөөд ойролцоогоор хэмжсэн болно. Хэмжсэн өгөгдлийг Microsoft Excel файлд бүртгэж, муруй тохируулах функцийг ашигласан болно. Хамгийн тохиромжтой нь байгалийн логарифмын муруй бөгөөд үр дүнтэй зай нь 3 см -ээс ойролцоогоор 100 см юм.

60 см -ийн хувьд нэг мэдрэгчийг илрүүлэх муруй нь 22 см орчим байдаг. 20 см -ийн өргөнтэй байтай бол радарын массивыг 10-15 градусын тойрог хэлбэрээр тусгаарлах нь сканнердах зөвшөөрөгдөх нарийвчлалтай байх ёстой.

I2C хаяг

VL53L0X I2C төхөөрөмжийн хаягийг програмчлах боломжтой боловч XSHUT зүүг микро хянагчаар бүрэн хянах шаардлагатай. Үүнийг хийх дараалал нь:

  1. Эрчим хүчийг AVDD -д ашигладаг.
  2. Бүх VL53L0X чипийг бүх XSHUT тээглүүрээ LOW руу шилжүүлснээр Hw Standby (дахин тохируулах) төлөвт оруулна.
  3. Чип бүрийг нэг нэгээр нь анхны төлөвөөс нь гаргадаг. Ачаалсны дараа анхдагч I2C хаяг нь 0x52 байна.
  4. I2C командын тусламжтайгаар чипийн хаягийг шинэ хаяг болгон өөрчилдөг. Жишээлбэл, 0x52 нь 0x53 болж өөрчлөгдсөн.
  5. Бүх чипийн хувьд 3 ба 4 -р алхамыг давт.

Онолын хувьд 7 битийн хаягийн мужид нэг автобусанд хамгийн ихдээ 126 нэгж жолоодох боломжтой. Гэсэн хэдий ч практик дээр микро хянагчийн автобусны багтаамж ба живэх гүйдлийн хязгаарлалт нь төхөөрөмжийн хамгийн их тоог хязгаарлаж магадгүй юм.

Шинэ I2C хаяг нь VL53L0X чипт хадгалагдахгүй бөгөөд унтраах эсвэл дахин тохируулах боломжтой болно. Тиймээс энэ үйл явцыг хүчирхэг болгонд хийх ёстой. Энэ нь радарын массивын нэгж бүрт нэг үнэт зүү шаардлагатай гэсэн үг юм. Энэ нь 10+ эсвэл 20+ нэгж бүхий радар бүсийн хувьд утас, зүү зарцуулалтад хэтэрхий ээлтэй биш юм.

STEP1 -д дурдсанчлан, VL53L0X чип дээр GPIO1 зүү байдаг бөгөөд энэ нь анх тасалдал хийхэд ашиглагддаг бөгөөд энэ ажлыг хийж чаддаг.

GPIO-XSHUTN Daisy гинж

Ачаалах үед GPIO гаралт нь өндөр импеданс төлөвт байгаа бөгөөд идэвхтэй байх үед ус зайлуулах сувгийг хамгийн бага хэмжээнд хүртэл нээнэ. Мэдээллийн хүснэгтэд зөвлөсний дагуу GPIO ба XSHUT тээглүүрүүдийг GY-530 таслах самбар дээрх AVDD руу маш их татаж авдаг. Бүх VL53L0X чипүүдийг Hw Standby төлөвт найдвартай оруулахын тулд (XSHUT -ийг бага жолоодож) XSHUT зүү бүрт логик БИШ хаалга (инвертер) хэрэгтэй. Дараа нь бид нэг чип (Nth чип) -ийн GPIO гаралтыг доод талын чипийн XSHUTN (XSHUT-NOT) (N+1 чип) -тэй холбоно.

Цахилгаан асаахад бүх GPIO зүү (идэвхгүй) татаж, дараагийн бүх XSHUT зүүг NOT хаалгаар буулгадаг (XSHUTN зүү нь микроконтроллертой холбогдсон нүхний чипээс бусад). I2C хаягийн өөрчлөлт, доод талын чипийн XSHUT хувилбарыг програм хангамж дээр нэг нэгээр нь хийдэг.

Хэрэв та өөр өөр хагарлын самбар ашиглаж байгаа бол татах эсэргүүцэл байгаа эсэхийг шалгаж, зохих тохируулга хийх хэрэгтэй.

LED нэмж байна

Дараагийн алхамд XSHUT дэвсгэрээс зэргэлдээх конденсаторын GND терминал руу холбогдсон жижиг 0805 SMD LED нь таслах самбар дээр нэмэгдэх болно. Хэдийгээр LED нь модулийн үйл ажиллагаанд нөлөөлдөггүй ч энэ нь бидэнд XSHUT логик түвшинд сайн харааны дохио өгдөг.

LED-ийг XSHUT зүү дээр татах эсэргүүцэлтэй (миний хувьд 10к) цувралаар холбох нь хүчдэлийн уналтыг бий болгоно. Өндөр логик түвшний 3.3v -ийн оронд улаан 0805 LED -ийн урвуу хүчдэлийн уналтыг 1.6 в хэмждэг. Хэдийгээр энэ хүчдэл нь мэдээллийн хуудсан дахь логикийн өндөр түвшингээс (1.12v) өндөр боловч цэнхэр LED нь энэ хакердахад илүү дээр юм. Цэнхэр LED -ийн хүчдэлийн бууралтыг 2.4V орчим хэмждэг бөгөөд энэ нь чипний логик түвшингээс аюулгүй байдаг.

N-MOS Inverter-ийг нэмж оруулах (логик биш хаалга)

Бидний нэмж оруулсан LED дээр жижиг SOT-23 N сувгийн MOSFET овоолсон байна. Таслах самбар дээр хоёр терминал (D, S) гагнах шаардлагатай бөгөөд үлдсэн терминал (G) нь #26 утсыг ашиглан GPIO голын дээд хэсэгт холбогдсон байна.

SMD бүрэлдэхүүн хэсгүүдийг нэмэх тухай тэмдэглэл

SMD -ийн бүрэлдэхүүн хэсгүүдийг зориулалтын бус самбар дээр гагнах нь тийм ч амар ажил биш юм. Хэрэв та 0805, SMD, SOT-23-ийн талаар хараахан сонсоогүй байгаа бол эдгээр жижиг хэсгүүдийг өмнө нь гагнахгүй байсан байх магадлал өндөр байна. Эдгээр жижиг бүрэлдэхүүн хэсгүүдийг гараар зохицуулж байхдаа дараахь зүйлийг хийх нь түгээмэл байдаг.

  • Жижигхэн зүйл унаад үүрд алга болсон
  • Жижиг зүйл дээрх жижигхэн дэвсгэрүүд хальтирчээ.
  • Жижиг зүйлийн жижигхэн хөл дөнгөж хугарчээ.
  • Гагнуурын цагаан тугалга нь бөөгнөрөл болж цугларсан тул салгах боломжгүй байв.
  • Мөн бусад…

Хэрэв та энэ радарыг хийхийг хүсч байвал дараахь зүйлийг хийх боломжтой.

  • Бүрэлдэхүүн хэсгүүдийг DIP загвар гэх мэт том багц болгон өөрчил.
  • Практик болон хэрэглээнд шаардагдах хамгийн бага хэмжээнээс илүү олон бүрэлдэхүүн хэсгүүдийг авах.

Алхам 3: 0805 LED -ийг гагнах

0805 LED -ийг гагнах
0805 LED -ийг гагнах
0805 LED -ийг гагнах
0805 LED -ийг гагнах
0805 LED -ийг гагнах
0805 LED -ийг гагнах
0805 LED -ийг гагнах
0805 LED -ийг гагнах

0805 SMD LED гагнах

0805 LED -ийг гараар SMD -д зориулагдаагүй самбар дээр гагнах нь тийм ч амар ажил биш юм. Дараахь алхам бол LED -ийг гагнах миний зөвлөмж юм.

  1. Туслах гараа ашиглан самбараа барь.
  2. SMD конденсатор ба "XSHUT" дэвсгэрийн ирмэг дээр бага зэрэг гагнуурын зуурмаг тавь.
  3. Гагнуурын төмрийг ашиглан конденсаторын ирмэг дээр нэмэлт гагнуур хийнэ.
  4. 0805 LED -ийн хоёр үзүүрт бага зэрэг гагнуурын зуурмаг тавь.
  5. Гагнуурын төмрийг ашиглан 0805 LED -ийн хоёр үзүүрт цагаан тугалга тавь.
  6. Зурагт үзүүлсэн шиг хясаа ашиглан LED -ийг байрлуулна. Катодын төгсгөл нь ихэвчлэн тэмдэглэгдсэн шугамтай байдаг. Миний жишээнд катодын төгсгөлд ногоон шугам байна. Катодын төгсгөлийг конденсаторын төгсгөлд байрлуулна.
  7. Конденсатор руу чиглэсэн LED дээр хөнгөн даралтыг нэмэхийн тулд хясаа ашиглан конденсаторын үзүүрт нэгэн зэрэг дулаан нэмж LED -ийг конденсаторын төгсгөлд гагнана. LED дээр хүчтэй дарж болохгүй. Түүний бүрхүүл нь хэт халалт, хэт даралтын дор эвдэрч болзошгүй. Гагнуурын дараа LED -ийг хажуу тийш нь зөөлөн дарж, LED нь гагнаж байгаа эсэхийг шалгаарай.
  8. Одоо LED -ийг XSHUT дүрэх дэвсгэр дээр гагнана. Энэ алхам нь илүү хялбар байх ёстой.

Анхаарна уу: Зураг дээр үзүүлсэн конденсаторын төгсгөл нь энэ таслах самбар дээрх газардуулгын терминал юм. XSHUT дүрэх дэвсгэрийг резистороор татаж авдаг.

LED -ийг туршиж байна

Таслах самбар дээр цахилгаан (газардуулга 5V) асаахад LED асах ёстой.

Алхам 4: N-Channel MOSFET-ийг гагнах

N-Channel MOSFET-ийг гагнах
N-Channel MOSFET-ийг гагнах
N-Channel MOSFET-ийг гагнах
N-Channel MOSFET-ийг гагнах
N-Channel MOSFET-ийг гагнах
N-Channel MOSFET-ийг гагнах
N-Channel MOSFET-ийг гагнах
N-Channel MOSFET-ийг гагнах

AO3400 N-Channel MOSFET-ийг гагнах

Энэхүү MOSFET нь SOT-23 багцад байна. Бид үүнийг LED дээр "овоолж", мөн утас нэмэх хэрэгтэй.

  1. Бага зэрэг гагнуурын зуурмаг хийж, бүх гурван терминалыг цагаан тугалга хийнэ.
  2. 0805 LED дээр MOSFET байрлуулахын тулд хясаа ашиглана уу. S терминал нь конденсаторын дээд хэсэгт хүрэх ёстой
  3. Зураг дээр үзүүлсэн шиг S терминалыг конденсаторын үзүүрээр гагнана.
  4. AWG #30 дан судалтай жижиг хэсгийг хайчилж, 1 см орчим бүрхүүлийг ав.
  5. Гагнуурын төмрийг ашиглан доороос XSHUT нүхэнд байгаа гагнуурыг хайлуулж, зураг дээр үзүүлсэн шиг №30 утсыг дээрээс нь оруулна уу.
  6. Утасны дээд үзүүрийг MOSFET D терминал руу гагнах.
  7. Нэмэлт утсыг таслах.

Тэмдэглэл: MOSFET S терминал нь зурагт үзүүлсэн шиг конденсаторын төгсгөлд холбогдсон байна. Энэ төгсгөл нь газрын терминал юм. MOSFET D терминал нь анхны XSHUT зүүтэй холбогдсон байна.

G терминал одоогоор холбогдоогүй байна. Түүний байрлал нь зарим татах эсэргүүцэлээс дээгүүр байна. Тэдний хооронд ялгаа байгаа эсэхийг шалгаарай (N-MOS ба резистор), бие биетэйгээ холбоо барихгүй байх.

Алхам 5: Мэдрэгчийн массивыг холбох

Мэдрэгчийн массивыг холбох
Мэдрэгчийн массивыг холбох
Мэдрэгчийн массивыг холбох
Мэдрэгчийн массивыг холбох
Мэдрэгчийн массивыг холбох
Мэдрэгчийн массивыг холбох

Нийтийн автобусны утас

Нийтлэг автобусанд дараахь зүйлс орно.

  • Vcc хүч. Зураг дээрх улаан. Би 5v логиктой arduino нано ашиглаж байна. Таслах самбар нь LDO ба түвшин шилжүүлэгчтэй. Тиймээс 5v -ийг Vin болгон ашиглах нь аюулгүй юм.
  • Газар. Зураг дээрх хар.
  • SDA. Зураг дээрх ногоон.
  • SCL. Зураг дээрх шар.

Эдгээр дөрвөн мөр нь нийтлэг мөрүүд юм. Тохирох урттай утсыг хайчилж, бүх мэдрэгчийн модульд зэрэгцээ гагнах. Би arduino -аас анхны мэдрэгч хүртэл 20 см, дараа нь тус бүр 5 см зайд ашигласан.

XSHUTN ба GPIO утаснууд

20 см цагаан утас нь arduino хяналтын зүүгээс эхлээд анхны мэдрэгчийн XSHUTN зүү хүртэл байна. Энэ бол анхны VL53L0X чипийг анхны байдалд нь оруулж, I2C хаягийг өөрчлөхөд шаардлагатай хяналтын шугам юм.

Модуль бүрийн хоорондох 5 см цагаан утас нь Daisy гинжин хэлхээний хяналтын шугам юм. Дээд талын чип (жишээ нь, чип #3) GPIO дэвсгэр нь доод хэсэгт (жишээлбэл, чип #4) XSHUTN хөлтэй (N-Channel MOSFET G терминал) холбогдсон байна.

G терминал доорх резистортой холбоо барихаас болгоомжил. Хоосон зайнд тусгаарлагч тууз нэмж болно. Ихэвчлэн VL53L0X чиптэй нийлүүлсэн хамгаалалтын давхаргыг энд ашиглаж болно.

Дулааны буу ашиглан хяналтын утсыг наана.

Халуун цавуу

Зураг дээр харж байгаа шиг N-MOS G терминалын ойролцоо цагаан хяналтын утсан дээр халуун цавуу бөөгнөрсөн байна. Энэ алхам нь маш чухал бөгөөд зайлшгүй шаардлагатай. SMD бүрэлдэхүүн хэсгийн хөл рүү шууд хөвөгч гагнуур хийх нь маш сул байна. Утасны өчүүхэн дарамт ч гэсэн хөлийг хугалж болзошгүй. Энэ алхамыг зөөлөн хий.

LED -ийг туршиж байна

Мэдрэгчийн массивт хүч (жишээ нь 3.3v-5v) ба газардуулах үед эхний модулийн LED нь XSHUTN утасны логик түвшинтэй хариу өгөх ёстой. Хэрэв та XSHUTN-ийг логик өндөрт холбосон бол (жишээ нь 3.3v-5v) LED унтрах ёстой. Хэрэв та XSHUTN утсыг нам (газардуулгатай) холбосон бол эхний модулийн LED асаалттай байх ёстой.

Дараагийн бүх модулийн хувьд LED унтрах ёстой.

Энэхүү туршилтыг arduino -той холбогдохоос өмнө хийдэг.

Алхам 6: Мэдрэгчийн массивыг дуусгах

Image
Image
Мэдрэгчийн массивыг дуусгаж байна
Мэдрэгчийн массивыг дуусгаж байна
Мэдрэгчийн массивыг дуусгаж байна
Мэдрэгчийн массивыг дуусгаж байна
Мэдрэгчийн массивыг дуусгаж байна
Мэдрэгчийн массивыг дуусгаж байна

Daisy Chain туршилт

Одоо бид I2C хаягийн өөрчлөлт нь массив дахь бүх мэдрэгч дээр ажилладаг эсэхийг шалгахыг хүсч байна. Дээр дурдсанчлан эхний чипийг arduino удирддаг. Хоёрдахь чипийг эхний чип хянадаг гэх мэт.

  1. Талхны тавцанг тохируулна уу. 5V ба газрын төмөр зам нь adriano 5V ба газардуулгатай шууд холбогддог. Мэдээллийн хүснэгтэд мэдрэгч бүрийн одоогийн хэрэглээ 19ma байна.
  2. Цахилгаан төмөр зам дээр конденсатор нэмж, винийг тогтворжуулна.
  3. Вин ба Газар хоёрыг мэдрэгчийн массиваас тэжээлийн төмөр зам руу холбоно уу.
  4. SDA-ийг arduino Nano pin A4-тэй холбоно уу (бусад микро контроллеруудын хувьд өөр байж болно).
  5. SCL-ийг arduino Nano pin A5-тэй холбоно уу (бусад микро контроллеруудын хувьд өөр байж болно).
  6. XSHUTN утсыг arduino Nano pin D2 руу холбоно уу. (Үүнийг ноорог хэлбэрээр өөрчилж болно).
  7. Github https://github.com/FuzzyNoodle/Fuzzy-Radar руу ороод номын санг татаж аваарай.
  8. "Daisy_Chain_Tinging" жишээг нээгээд ноорогоо байршуулна уу.

Хэрэв бүх зүйл үр дүнтэй бол та дээрх видео клиптэй адил LED статусыг нэг нэгээр нь асаах ёстой.

Та мөн Цуваа цонхыг нээж, эхлүүлэх явцыг харах боломжтой. Гаралт дараах байдлаар харагдах болно.

PortPort -ийг нээх Эхлэлийн ноорог. 0 чипийг дахин тохируулах горимд оруулна уу. Бүх статусын LED унтраалттай байх ёстой. Одоо мэдрэгчийг тохируулж байна. LED нь нэг нэгээрээ асах ёстой. Чип 0 -ийг тохируулах - I2C хаягийг 83 болгож дахин тохируулах - Мэдрэгчийг эхлүүлэх. Чип 1 -ийг тохируулах - I2C хаягийг 84 болгож дахин тохируулах - Мэдрэгчийг эхлүүлэх. Чип 2 -ийг тохируулах - I2C хаягийг 85 болгож дахин тохируулах - Мэдрэгчийг эхлүүлэх. Радар массивын тохиргоо дууссан.

Бариул ба хүрээг угсарна уу

  1. GY-530 модуль бүрийг M2x10 шураг бүхий эзэмшигч дээр болгоомжтой байрлуулна. MOSFET -ийг дарах эсвэл XSHUTN утсыг бүү тат.
  2. Эзэмшигч бүрийг дугуй хүрээ рүү оруулна. Бага зэрэг халуун цавуу ашиглан эд ангиудыг холбоно.

Дахин хэлэхэд M2 шураг, эзэмшигч, дугуй хүрээ нь мэдрэгчийг дугуй хэлбэртэй байрлуулахад ашигладаг. Та картын самбар, модон мод, шавар, эсвэл лаазанд халуун цавуу хэрэглэх гэх мэт өөр аргыг ашиглаж болно.

Миний ашигласан 3D хэвлэсэн файлуудыг доор үзүүлэв. Дугуй хүрээ нь 9 модультай бөгөөд тус бүр 10 градусаар тусгаарлагдсан байдаг. Хэрэв та хурц нүдтэй бол өмнөх зургуудад 10 модуль байсан. Шалтгаан? Доор тайлбарлав…

Хамгаалалтын бүрхүүлийг салга

Хэрэв та энэ алхмуудыг эхнээс нь дагаж мөрдсөн бол VL53L0X чип дээрх хамгаалалтын бүрээсийг арилгах цаг нь болжээ. Өмнөх зургууд дээр би эдгээр модулийг туршиж үзээд энэхүү зааварчилгааг нийтлэхээс өмнө үзэл баримтлал нь ажиллаж байгаа эсэхийг шалгах ёстой.

Хамгаалалтын доторлогооны тухай өгөгдлийн хүснэгтэд "Хавтасны шилийг суурилуулахын өмнөхөн үйлчлүүлэгч үүнийг арилгах ёстой" гэж бичжээ. VL53L0X чип дээрх хоёр жижиг нүх (ялгаруулагч ба хүлээн авагч) нь тоос, тос, халуун цавуу гэх мэт бохирдолд өртөмтгий байдаг.

Бохирдсоны дараа хүрээг багасгаж, уншилтыг тодорхой хэмжээгээр бууруулж магадгүй юм. Миний туршилтын модулийн нэг нь цавуу шавараар санамсаргүйгээр бохирдсон, хүрээ нь 40см хүртэл багассан, зайны уншилтыг буруугаар 50%томруулсан байна. Тиймээс, болгоомжтой байгаарай!

Алхам 7: Мэдээлэл авах

Image
Image
Лазер мөрдөгч (жагсаал)
Лазер мөрдөгч (жагсаал)

Raw_Data_Serial_Output жишээг ашиглаж байна

Одоо бид мэдрэгчийнхээ өгөгдлийг харах үнэхээр дуртай байна. GitHub дээрх arduino номын санд:

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

Raw_Data_Serial_Output гэсэн жишээ бий. Энэ жишээ нь мэдрэгчийн массиваас өгөгдлийн гаралтыг харуулж байна. Гаралтын утга нь миллиметрээр байна.

Мэдрэгчийг эхлүүлсний дараа мэдрэгчээр гараа даллахдаа цуваа цонхонд иймэрхүү зүйлийг харах ёстой.

Видео бичлэгийг шууд үзүүлэхийг үзнэ үү.

Fuzzy_Radar_Serial_Output жишээг ашиглан

Дараагийн алхам бол эдгээр зайны уншилтаас хэрэгтэй мэдээллийг олж авах явдал юм. RADAR -аас хүссэн зүйл бол зорилтот объектын зай ба өнцөг юм.

  • Энэ зай нь мэдрэгчийн гадаргуутай холбоотой миллиметр юм. 0 -ийг буцаана гэдэг нь зорилтот хүрээнээс хол байна гэсэн үг юм.
  • Өнцөг нь градусаар, хэвтээ хавтгайд байна. Одоогоор хүлээгдэж буй код нь мэдрэгчүүдийн хоорондох зай ижил байна. 0 градус буцаана гэдэг нь зорилт нь массивын төв байрлалд байна гэсэн үг юм.

Номын санд зарим шүүлтүүрийн алгоритмыг ашигладаг.

  • Дуу чимээг арилгах:

    • Богино (түүвэр тоолох хувьд) уншилтыг чимээ шуугиан гэж үзээд устгадаг.
    • Дундаж үнэ цэнээс хол байгаа уншилтыг хасдаг.
  • Жингийн өнцгийн тооцоо (дээрх зургийг үзнэ үү)

    • Зорилтот объектыг хавтгай гадаргуу гэж үздэг
    • Хэрэв олон мэдрэгч тухайн объектыг нэгэн зэрэг илрүүлсэн бол мэдрэгч бүрийн жинг тооцоолно.
    • Мэдрэгч бүрийн жин нь түүний зайтай урвуу хамааралтай байдаг.
    • Үр дүнгийн тэнгэр элчийг мэдрэгч бүрийн жинлэсэн өнцгөөс тооцоолно.
  • Анхдагч зорилтот сонголт:

    • Хэрэв нэгээс олон бүлэг уншилт байгаа бол хамгийн өргөн (мэдрэгчийн унших тоогоор) бүлэг хэвээр үлдэнэ.
    • Жишээлбэл, хэрэв та хоёр гараа мэдрэгчийн массивын урд байрлуулбал илүү олон мэдрэгчээр илрүүлсэн гар хэвээр үлдэнэ.
  • Хамгийн ойрын зорилтот сонголт:

    • Хэрэв ижил өргөнтэй хэд хэдэн илэрсэн бүлэг байвал хамгийн ойр зайд байгаа бүлэг үлдэнэ.
    • Жишээлбэл, хэрэв та хоёр гараа мэдрэгчийн массивын өмнө тавиад, илрүүлсэн хоёр бүлэгт мэдрэгчийн тоо ижил байвал мэдрэгчид ойрхон байгаа бүлэг хэвээр үлдэнэ.

Бага гаралтын шүүлтүүрээр гаралтын зай ба өнцгийг тэгшлэнэ

Raw_Data_Serial_Output -д түүхий зайны уншилтыг зай ба өнцгийн утга болгон хөрвүүлдэг. Ноорог зургийг байршуулсны дараа та үүнтэй төстэй үр дүнг харахын тулд цуваа цонхыг нээж болно.

Объект илрээгүй. Объект илрээгүй. Зай = 0056 өнцөг = 017 зай = 0066 өнцөг = 014 зай = 0077 өнцөг = 011 зай = 0083 өнцөг = 010 зай = 0081 өнцөг = 004 зай = 0082 өнцөг = 000 зай = 0092 өнцөг = 002 зай = 0097 өнцөг = 001 зай = 0096 өнцөг = 001 зай = 0099 өнцөг = 000 зай = 0101 өнцөг = -002 зай = 0092 өнцөг = -004 зай = 0095 өнцөг = -007 зай = 0101 өнцөг = -008 зай = 0112 өнцөг = -014 зай = 0118 өнцөг = -017 зай = 0122 өнцөг = -019 зай = 0125 өнцөг = -019 зай = 0126 өнцөг = -020 зай = 0125 өнцөг = -022 зай = 0124 өнцөг = -024 зай = 0133 өнцөг = -027 зай = 0138 өнцөг = - 031 зай = 0140 өнцөг = -033 зай = 0136 өнцөг = -033 зай = 0125 өнцөг = -037 зай = 0120 өнцөг = -038 зай = 0141 өнцөг = -039 Объект илрээгүй. Объект илрээгүй. Объект илрээгүй.

Тиймээс одоо танд RADAR (LIDAR) байна:

  • Хэт авианы мэдрэгч модулиудаас бага хэмжээтэй
  • Хөдөлгөөнтэй эд анги байхгүй
  • 40 Гц давтамжтай сканнердах.
  • Бүс шиг хэлбэртэй, дугуй хүрээ дээр суурилуулж болно
  • Цахилгаан ба газардуулга дээр зөвхөн гурван хяналтын утас ашиглана уу.
  • 30 миллиметрээс 1000 миллиметр орчим байдаг.

Дараагийн алхамуудад бид танд гайхалтай жагсаал үзүүлэх болно!

Алхам 8: Лазер мөшгөгч (жагсаал)

Image
Image
Лазер мөрдөгч (жагсаал)
Лазер мөрдөгч (жагсаал)

Энэ бол бидний өмнөх алхамуудаас бүтээсэн суурин радарыг ашиглах нэг жишээ юм. Энэ алхамыг нарийвчлан бичээгүй байгаа тул энэ нь Радарыг харуулсан хүн юм. Ерөнхийдөө энэхүү үзүүлэх төслийг бүтээхийн тулд танд эдгээр нэмэлт зүйлс хэрэгтэй болно.

  • Хоёр servo
  • Толгой ялгаруулдаг лазер үзэг
  • Лазер толгойн гаралтыг хянах MOSFET эсвэл NPN транзистор
  • Сервүүдийн тэжээлийн эх үүсвэр. Үүнийг микро контроллероос салгах хэрэгтэй.

Кодыг эндээс татаж авах боломжтой.

Оруулсан видеог үзнэ үү.

Алхам 9: Poopeyes -ийг харах (жагсаал)

Image
Image

Объектын байршил, зайг хянахын тулд радарыг хол ашиглахыг харуулсан болно.

Зөвлөмж болгож буй: