Përmbajtje:

Radar i palëvizshëm (LIDAR) Array me Arduino: 10 hapa (me fotografi)
Radar i palëvizshëm (LIDAR) Array me Arduino: 10 hapa (me fotografi)

Video: Radar i palëvizshëm (LIDAR) Array me Arduino: 10 hapa (me fotografi)

Video: Radar i palëvizshëm (LIDAR) Array me Arduino: 10 hapa (me fotografi)
Video: Радар зафиксировал превышение скорости. Вы НЕ ПОВЕРИТЕ, кто оказался нарушителем! 2024, Korrik
Anonim
Radioja e palëvizshme (LIDAR) Array me Arduino
Radioja e palëvizshme (LIDAR) Array me Arduino
Radioja e palëvizshme (LIDAR) Array me Arduino
Radioja e palëvizshme (LIDAR) Array me Arduino
Radioja e palëvizshme (LIDAR) Array me Arduino
Radioja e palëvizshme (LIDAR) Array me Arduino

Kur po ndërtoj një robot me dy këmbë, gjithmonë kam menduar të kem një vegël të mrekullueshme që mund të gjurmojë kundërshtarin tim dhe të bëjë lëvizje sulmi me të. Një grup projektesh të radarit/lidar tashmë ekzistojnë këtu. Sidoqoftë, ka disa kufizime për qëllimin tim:

  • Modulet e sensorit të valës tejzanor janë mjaft të mëdha. Çdo robot do të dukej si WALL-E.
  • Projektet aktuale të radarit përfshijnë të gjithë një sensor (ose valë tejzanor, IR, lazer, …), dhe një servo motor në mes. Skanimi i mjedisit kërkon që servo të lëvizë krah për krah. Lëvizja e gjërave para dhe mbrapa krijon ndryshime vrulli, gjë që është e keqe për balancimin dhe ecjen me dy këmbë.
  • Frekuenca e skanimit është e kufizuar nga shpejtësia e shërbimit. Vetëm disa herc mund të arrihen, me siguri. Edhe nëse frekuenca e skanimit mund të rritet nga një super-servo, kjo do të rezultojë në dridhje të rënda.
  • Rregullimi [Servo motor qendror - sensor] gjithashtu kufizon pozicionin për montim dhe dizajn. Isshtë e vështirë të montosh një gjë tjetër përveç kokës. Kjo e bën dykëmbëshin tim të duket si një MUR-E që tund kokën çdo herë. Jo mirë!
  • Rregullimi [servo-sensor] gjithashtu mund të ndërtohet si një stil [motor-sensor]. Sensori (ose sensorët) rrotullohet përgjatë një aksi motorik vazhdimisht. Kjo mund të eliminojë lëvizjet e vrullit dhe problemet e frekuencës së ulët të skanimit, por jo kufizimin e dizajnit të bustit. Vështirësia e instalimeve elektrike gjithashtu do të rritet ndjeshëm.

Pas kërkimit, ky sensor i vogël VL53L0X nga ST më spërkati në sy. Duke pretenduar sensorin e kohës së fluturimit "Më i vogli në botë", dimensioni është vetëm 4.4 x 2.4 x 1.0 mm. Duke shfaqur

  • Në çipin emetues dhe detektor lazer IR
  • Gama deri në 2 m (1.2 m në modalitetin e shpejtë)
  • Adresa I2C e programueshme
  • Një kunjë dalëse e ndërprerë GPIO
  • Të sigurt për sytë

Të gjitha këto veçori të veçanta të kombinuara më mundësuan të kapërcej problemet e mësipërme, nëse një grup sensorësh VL53L0X mund të funksiononte. Fillimisht, mendova se ky radar do të quhej radar i gjendjes së ngurtë, por zbulova se ky term u përdor për diçka tjetër. Prandaj fjala "e palëvizshme" në titull do të thotë që nuk ka pjesë lëvizëse në këtë vegël radari. Gjithashtu, përderisa LIDAR (zbulimi dhe shkalla e dritës) është termi teknikisht i saktë për këtë çip, RADAR këtu referohet si një term më gjenerik.

Arsyeja pse adresa e Programueshme e I2C dhe kunja e daljes GPIO janë kritike për këtë projekt shpjegohet më vonë.

Hapi 1: Mjetet dhe pjesët

Mjetet dhe Pjesët
Mjetet dhe Pjesët
Mjetet dhe Pjesët
Mjetet dhe Pjesët

Mjetet

Mjetet e mëposhtme kërkohen në këtë projekt:

  • Makine per ngjitjen e metalit
  • Lidhja e duarve ndihmëse
  • Mjet i shtypjes Dupont
  • Shofer gjashtëkëndësh 1.5 mm
  • Mjet për heqjen e veshjes me tela
  • Prerës i telave
  • Armë me zam të nxehtë
  • Piskatore
  • Zmadhues (fizik ose aplikacione në telefonin tuaj)
  • Pincë hundë të sheshtë

Pjesët

Pjesët e mëposhtme përdoren në këtë projekt:

  • 10x dërrasa shpërthimi VL53L0X GY-530
  • Një Arduino (Uno, Nano, Mega, Zero, Mini, … etj)
  • Një dërrasë buke dhe disa tela të bukës
  • Telat AWG #26 me ngjyra të ndryshme
  • Teli AWG #30 me një bërthamë
  • 5x lidhës meshkuj Dupont
  • 5x mbajtësa Dupont me një kunj të vetëm
  • Mbajtëset e bordit të shpërthimit të printuar 10x 3D
  • 1x kornizë rrethore e printuar 3D
  • 10x vida M2x10 me kokë të sheshtë
  • 10x 0804 LED (Blu e rekomanduar)
  • 10x SOS-23 AO3400 N-Channel MOSFET
  • Një kondensator i vogël (10 ~ 100uF)

Tabela e shpërthimit

Bordi i thyerjes VL53L0X që kam përdorur është GY-530. Ekzistojnë gjithashtu versioni Adafruit dhe versioni Pololu në dispozicion. Nëse është e mundur, unë rekomandoj të përdorni produktin Adafruit ose Pololu sepse ato bëjnë produkte të shkëlqyera, mësime të shkëlqyera dhe biblioteka të shkëlqyera softuerike. Kam testuar në bibliotekën e Adafruit VL53L0X dhe kam përdorur një version të modifikuar të bibliotekës VL53L0X të Pololu.

Lidhësit Dupont

Lidhësit dupont përdoren për dërrasën e bukës. Ju mund të përdorni çdo lloj lidhjeje tjetër që keni në dorë.

Vida dhe Pjesë të Shtypura në 3D

Vidhat M2, mbajtëset dhe korniza rrethore përdoren për të vendosur sensorët në një rregullim rrethor. Ju mund të përdorni ndonjë metodë tjetër, të tillë si përdorimi i dërrasave të kartave, drunjve të modelit, argjilës, apo edhe ngjitja e nxehtë e tyre në një kanaçe.

Hapi 2: Hekimi i Bordit të Breadout

Hacking Bordi Breadout
Hacking Bordi Breadout
Hacking Bordi Breadout
Hacking Bordi Breadout
Hacking Bordi Breadout
Hacking Bordi Breadout
Hacking Bordi Breadout
Hacking Bordi Breadout

Koni i Zbulimit

Kam përdorur një modul të vetëm për të nxjerrë konin e zbulimit. Përdorimi i një roboti të shtypur kryesisht 3D si objektiv. Distanca tregohet në ekranin led dhe matet përafërsisht. Të dhënat e matura regjistrohen në një skedar Microsoft Excel dhe përdorin funksionin e përshtatjes së kurbës. Përshtatshmëria më e mirë është një kurbë logaritmike natyrore, me distancë efektive nga 3 cm në afërsisht 100 cm.

Në 60 cm, kurba e zbulimit për një sensor të vetëm është rreth 22 cm. Me një objektiv të gjerë 20 cm, një ndarje rrethore prej 10 ~ 15 gradë për grupin e radarit duhet të japë një rezolucion të pranueshëm skanimi.

Adresa I2C

Ndërsa adresa e pajisjes VL53L0X I2C është e programueshme, kërkohet kontroll i plotë i kunjit XSHUT nga mikrokontrolluesi. Sekuenca për ta bërë këtë është:

  1. Fuqia aplikohet në AVDD.
  2. Të gjitha patate të skuqura VL53L0X sillen në gjendjen Hw Standby (reset) duke i çuar të gjitha kunjat e tyre të XSHUT në LOW.
  3. Çdo çip hiqet nga gjendja e rivendosjes një nga një. Adresa e paracaktuar e I2C pas fillimit është 0x52.
  4. Adresa e çipit ndryshon në një adresë të re përmes një komande I2C. Për shembull, 0x52 ndryshoi në 0x53.
  5. Përsëritni hapat 3 dhe 4 për të gjitha patate të skuqura.

Teorikisht, maksimumi 126 njësi mund të ngasin në të njëjtin autobus për gamën e adresave 7-bit. Sidoqoftë, në praktikë, kapaciteti i autobusit dhe kufizimi i rrymës fundosëse të mikrokontrolluesit mund/duhet të kufizojnë numrin maksimal të pajisjes.

Adresa e re I2C nuk ruhet në çipin VL53L0X kundër fikjes ose rivendosjes së energjisë. Kështu që ky proces duhet të bëhet një herë në çdo fuqi deri. Kjo do të thotë që një kunj i çmuar kërkohet për çdo njësi në grupin e radarit. Kjo është shumë armiqësore ndaj instalimeve elektrike dhe konsumit të kunjave, për një rrip radari me 10+ ose 20+ njësi.

Siç u përmend në STEP1, është me fat që ka një pin GPIO1 në çipin VL53L0X, i përdorur fillimisht për ndërprerje, që mund ta bëjë punën.

Zinxhir margaritar GPIO-XSHUTN

Prodhimi GPIO është në gjendje të lartë të rezistencës gjatë nisjes dhe kullimit të hapur në nivel të ulët gjatë aktivitetit. Kunjat GPIO dhe XSHUT janë tërhequr lart në AVDD në tabelën e daljes GY-530, siç rekomandohet në fletën e të dhënave. Për t'i vendosur me besueshmëri të gjitha patate të skuqura VL53L0X në gjendjen e gatishmërisë Hw (duke drejtuar XSHUT të ulët), ne kemi nevojë për një portë logjike NUK (inverter) për çdo kunj XSHUT. Pastaj lidhim daljen GPIO të një çipi (çipi Nth), me XSHUTN (XSHUT-NOT) të çipit në rrjedhën e poshtme (çipi N+1).

Me ndezjen, të gjitha kunjat GPIO (joaktive) tërhiqen lart, të gjitha kunjat e mëvonshëm të XSHUT çohen poshtë nga porta NOT (përveç çipit të parë, ku kunja e tij XSHUTN është e lidhur me mikrokontrolluesin). Ndryshimi i adresës I2C dhe lëshimi XSHUT i çipit në rrjedhën e poshtme bëhet në softuer, një nga një.

Nëse përdorni tabela të ndryshme shpërthimi, duhet të siguroheni nëse rezistorët tërheqës janë në vend apo jo, dhe të bëni rregullimet e duhura.

Shtimi i një LED

Në hapin tjetër, një LED i vogël 0805 SMD do të shtohet në bordin e shpërthimit, i lidhur nga jastëku XSHUT me terminalin GND të një kondensatori ngjitur. Edhe pse LED vetë nuk ndikon në funksionimin e modulit, ai na jep një tregues të mirë vizual në nivelin logjik XSHUT.

Lidhja e LED në seri me rezistencën tërheqëse (10k në rastin tim) në kunjin XSHUT do të sjellë një rënie të tensionit. Në vend të nivelit të lartë logjik prej 3.3v, rënia e tensionit përpara për një LED të kuq 0805 matet 1.6v. Edhe pse ky tension është më i lartë se niveli i lartë logjik (1.12v) në fletën e të dhënave, LED blu është më i mirë për këtë hakim. Rënia e tensionit përpara për LED blu matet rreth 2.4v, e cila është e sigurt mbi nivelin logjik të çipit.

Shtimi i N-MOS Inverter (Logic NOT Gate)

Një MOSFET i vogël SOT-23 N-kanal është vendosur në LED që kemi shtuar. Dy terminale (D, S) duhet të bashkohen në tabelën e daljes, dhe terminali i mbetur (G) lidhet me kunjin GPIO të bordit të rrjedhës duke përdorur tela #26.

Shënime për Shtimin e Komponentëve SMD

Bashkimi i komponentëve SMD në një tabelë shpërthimi të dizajnuar për të, nuk është një detyrë e lehtë. Nëse nuk keni dëgjuar ende për 0805, SMD, SOT-23, shanset janë që nuk i keni bashkuar ato përbërës të vegjël më parë. Ndërsa trajtoni ato përbërës të vegjël me dorë, është shumë e zakonshme që:

  • Gjëja e vogël sapo ra dhe u zhduk, përgjithmonë,
  • Jastëkët e vegjël në gjënë e vogël sapo u qëruan.
  • Këmbët e vogla në gjënë e vogël sapo u thyen.
  • Kallaji i saldimit sapo u mblodh në një pikë dhe nuk mund të ndahej.
  • Dhe me shume…

Nëse akoma dëshironi të bëni këtë radar, mund të:

  • Ndryshoni përbërësit në një paketë më të madhe, siç është stili DIP.
  • Merrni më shumë përbërës sesa minimumi i kërkuar, për praktikë dhe konsum.

Hapi 3: Bashkimi i LED 0805

Lidhja e LED 0805
Lidhja e LED 0805
Lidhja e LED 0805
Lidhja e LED 0805
Lidhja e LED 0805
Lidhja e LED 0805
Lidhja e LED 0805
Lidhja e LED 0805

Bashkimi i LED 0805 SMD

Bashkimi i një LED 0805 me dorë, në një dërrasë shpërthimi që nuk është krijuar për SMD, nuk është aspak një detyrë e lehtë. Hapat e mëposhtëm janë rekomandimi im për të bashkuar LED.

  1. Përdorni dorën e ndihmësit për të mbajtur tabelën tuaj të shpërthimit.
  2. Vendosni disa paste saldimi në buzë të kondensatorit SMD dhe jastëkut "XSHUT".
  3. Përdorni hekurin për saldim për të vendosur disa saldime shtesë në skajin e kondensatorit.
  4. Vendosni pak paste saldimi në të dy skajet e LED 0805.
  5. Përdorni hekurin për saldim për të vënë pak kallaj në të dy skajet e LED 0805.
  6. Përdorni piskatoret për të vendosur LED -in siç tregohet në foto. Fundi i katodës normalisht ka një vijë të shënuar. Në shembullin tim, ka një vijë të gjelbër në fund të katodës. Vendoseni skajin e katodës në skajin e kondensatorit.
  7. Përdorni piskatoret për të shtuar presion të lehtë në LED drejt kondensatorit dhe ngjiteni LED në fund të kondensatorit, duke shtuar nxehtësi në skajin e kondensatorit në të njëjtën kohë. Mos e shtypni fort LED -in. Mbulesa e saj mund të prishet nën nxehtësi dhe presion të tepërt. Pas bashkimit, shtoni presion të butë në LED anash, për të provuar nëse LED është ngjitur në vend.
  8. Tani lidhni LED në bllokun e zhytjes XSHUT. Ky hap duhet të jetë më i lehtë.

Shënim: Fundi i kondensatorit i treguar në figurë është terminali tokësor në këtë tabelë shpërthimi. Dhe blloku i zhytjes XSHUT tërhiqet lart nga një rezistencë.

Testimi i LED

LED duhet të ndizet kur aplikoni energji (p.sh. 5V) dhe tokëzoni në tabelën e shpërthimit.

Hapi 4: Bashkimi i N-Channel MOSFET

Bashkimi i N-Channel MOSFET
Bashkimi i N-Channel MOSFET
Bashkimi i N-Channel MOSFET
Bashkimi i N-Channel MOSFET
Bashkimi i N-Channel MOSFET
Bashkimi i N-Channel MOSFET
Bashkimi i N-Channel MOSFET
Bashkimi i N-Channel MOSFET

Saldimi i AOS3400 N-Channel MOSFET

Ky MOSFET është në paketën SOT-23. Ne duhet ta "grumbullojmë" atë në LED, dhe të shtojmë gjithashtu një tel:

  1. Vendosni pak paste saldimi dhe kallaji të tre terminalet.
  2. Përdorni piskatore për të vendosur MOSFET në krye të LED 0805. Terminali S duhet të prekë pjesën e sipërme të kondensatorit
  3. Lidhni terminalin S me fundin e kondensatorit, siç tregohet në foto.
  4. Pritini një pjesë të vogël teli AWG #30 me një bërthamë dhe hiqni veshjen rreth 1 cm.
  5. Përdorni hekurin për saldim për të shkrirë lidhësin në vrimën XSHUT nga poshtë dhe futni telin #30 nga lart, siç tregohet në foto.
  6. Lidhja e skajit të sipërm të telit në terminalin MOSFET D.
  7. Pritini tela shtesë.

Shënim: Terminali MOSFET S është i lidhur me skajin e kondensatorit siç tregohet në figurë. Ky fund është terminali tokësor. Terminali MOSFET D është i lidhur me kunjin origjinal XSHUT.

Terminali G nuk është i lidhur në këtë moment. Pozicioni i tij është pak mbi disa rezistorë tërheqës. Sigurohuni që të ketë një hendek midis tyre (N-MOS dhe rezistencë) dhe të mos kontaktojë me njëri-tjetrin.

Hapi 5: Instalimi i grupit të sensorëve

Instalimi i grupit të sensorëve
Instalimi i grupit të sensorëve
Instalimi i grupit të sensorëve
Instalimi i grupit të sensorëve
Instalimi i grupit të sensorëve
Instalimi i grupit të sensorëve

Instalimet e zakonshme të autobusëve

Autobusi i zakonshëm përfshin:

  • Fuqia Vcc. E kuqe në foto. Unë jam duke përdorur arduino nano me logjikë 5v. Bordi i shpërthimit ka LDO dhe ndryshues të nivelit. Pra, është e sigurt të përdorësh 5v si Vin.
  • Toke. E zezë në foto.
  • SDA. E gjelbër në foto.
  • SCL. E verdhë në foto.

Këto katër rreshta janë linja të zakonshme. Pritini gjatësinë e duhur të telave dhe bashkojini ato paralelisht, në të gjitha modulet e sensorit. Kam përdorur 20 cm nga arduino në sensorin e parë, dhe 5 cm secila më pas.

Instalimet XSHUTN dhe GPIO

Teli i bardhë 20 cm është nga kunja e kontrollit arduino, në kunjin XSHUTN të sensorit të parë. Kjo është linja e kontrollit e kërkuar për të nxjerrë çipin e parë VL53L0X nga rivendosja dhe për të ndryshuar adresën I2C.

Teli i bardhë 5 cm midis secilit modul është vija e kontrollit të zinxhirit të margaritar. Çipi në rrjedhën e sipërme (për shembull, çipi #3) jastëku GPIO, është i lidhur me këmbën XSHUTN (për shembull, çipi #4) (terminali N-Channel MOSFET G).

Kini kujdes që të mos e kontaktoni terminalin G me rezistencën më poshtë. Ju mund të shtoni një shirit izolues në hendek. Mbulesa mbrojtëse e furnizuar zakonisht me çipin VL53L0X mund të përdoret këtu.

Përdorni armën e nxehtësisë për të ngjitur tela kontrolli.

Ngjitës i nxehtë

Siç mund ta shihni në foto, ka një copë zam të nxehtë në tela të bardhë kontrolli, pranë terminalit N-MOS G. Ky hap është shumë i rëndësishëm dhe absolutisht i nevojshëm. Një saldim lundrues direkt në këmbën e komponentit SMD është shumë i dobët. Edhe një presion i vogël në tel mund të thyejë këmbën. Bëni këtë hap me butësi.

Testimi i LED

Kur aplikoni energji (p.sh. 3.3v-5v) dhe tokëzim në grupin e sensorëve, LED në modulin e parë duhet të përgjigjet me nivelin logjik të telit XSHUTN. Nëse e lidhni XSHUTN me logjikën e lartë (p.sh. 3.3v-5v), LED duhet të jetë i fikur. Nëse e lidhni tela XSHUTN me të ulët (tokë), LED në modulin e parë duhet të jetë i ndezur.

Për të gjitha modulet pasuese, LED duhet të jetë i fikur.

Ky test kryhet para se të lidheni me arduino.

Hapi 6: Plotësimi i grupit të sensorëve

Image
Image
Plotësimi i grupit të sensorëve
Plotësimi i grupit të sensorëve
Plotësimi i grupit të sensorëve
Plotësimi i grupit të sensorëve
Plotësimi i grupit të sensorëve
Plotësimi i grupit të sensorëve

Testimi i zinxhirit Daisy

Tani duam test nëse ndryshimi i adresës I2C funksionon për të gjithë sensorët në grup. Siç u përmend, çipi i parë kontrollohet nga arduino. Çipi i dytë kontrollohet nga çipi i parë, e kështu me radhë.

  1. Vendosni tabelën e bukës. 5V dhe hekurudha tokësore janë të lidhura drejtpërdrejt nga adriano 5V dhe toka. Konsumi aktual për secilin sensor vlerësohet me 19ma në fletën e të dhënave.
  2. Shtoni një kondensator në hekurudhën e energjisë për të ndihmuar në stabilizimin e Vin.
  3. Lidhni Vin dhe Ground nga grupi i sensorëve në shinën e energjisë.
  4. Lidhni SDA me arduino Nano pin A4 (mund të jetë e ndryshme për mikrokontrolluesit e tjerë).
  5. Lidheni SCL me arduino Nano pin A5 (mund të jetë e ndryshme për mikrokontrolluesit e tjerë).
  6. Lidhni tela XSHUTN me arduino Nano pin D2. (Kjo mund të ndryshohet në skicë).
  7. Shkoni te github https://github.com/FuzzyNoodle/Fuzzy-Radar dhe shkarkoni bibliotekën.
  8. Hapni shembullin "Daisy_Chain_Testing" dhe ngarkoni skicën.

Nëse gjithçka funksionon, duhet të shihni që LED -të e statusit të ndizen një nga një, ngjashëm me videoklipin e mësipërm.

Ju gjithashtu mund të hapni Dritaren Seriale dhe të shihni përparimin e fillimit. Dalja do të duket kështu:

Porta e hapjes Porta e hapur Skica e fillimit. Vendosni çipin 0 në modalitetin e rivendosjes. Të gjitha LED -et e statusit duhet të jenë të fikura. Tani konfiguroni sensorët. LED duhet të ndizet një nga një. Konfigurimi i çipit 0 - Rivendosni adresën I2C në 83 - Filloni sensorin. Konfigurimi i çipit 1 - Rivendosni adresën I2C në 84 - Filloni sensorin. Konfigurimi i çipit 2 - Rivendosni adresën I2C në 85 - Filloni sensorin. Konfigurimi i grupit të radarit përfundoi.

Mblidhni Mbajtësin dhe Kornizën

  1. Vendoseni me kujdes çdo modul GY-530 në mbajtës me vidën M2x10. Mos shtypni MOSFET ose mos tërhiqni telat XSHUTN.
  2. Vendoseni secilën mbajtëse në kornizën rrethore. Përdorni disa zam të nxehtë për të lidhur pjesët.

Përsëri, vidhat M2, mbajtëset dhe korniza rrethore përdoren për të vendosur sensorët në një rregullim rrethor. Ju mund të përdorni çdo metodë tjetër, të tillë si përdorimi i dërrasave të kartave, drunjve të modelit, argjilës, apo edhe ngjitja e nxehtë e tyre në një kanaçe.

Skedarët e printuar 3D që kam përdorur janë dhënë më poshtë. Korniza rrethore ka 9 module, dhe të ndara me 10 gradë secila. Nëse keni një sy të mprehtë, kishte 10 module në fotot e mëparshme. Arsyeja? Shpjeguar më poshtë…

Hiqni Mbulesën Mbrojtëse

Nëse i keni ndjekur hapat që nga fillimi, tani është një kohë e mirë për të hequr rreshtin mbrojtës në çipin VL53L0X. Në fotot e mia të mëparshme, ato janë hequr tashmë sepse më duhet të testoj modulet dhe të sigurohem që koncepti funksionon para se të postoj këtë udhëzues.

Për fletën mbrojtëse, fleta e të dhënave thotë: "Duhet të hiqet nga klienti pak para se të montoni xhamin e kapakut". Dy vrimat e vogla (emetuesi dhe marrësi) në çipin VL53L0X janë të prekshëm ndaj ndotjes, të tilla si pluhuri, yndyrat, zam i nxehtë, etj…

Pasi të ndotet, diapazoni mund të zvogëlohet dhe leximet mund të jenë jashtë një sasie të dukshme. Një nga modulet e mia të testimit është ndotur aksidentalisht nga argjila ngjitëse, diapazoni është zvogëluar në 40 cm dhe leximi në distancë është rritur gabimisht me 50%. Pra, ki kujdes!

Hapi 7: Marrja e të dhënave

Image
Image
Gjurmues lazer (demonstrim)
Gjurmues lazer (demonstrim)

Duke përdorur shembullin Raw_Data_Serial_Output

Tani ne me të vërtetë na pëlqen të shohim të dhënat nga grupi ynë i sensorëve. Në bibliotekën arduino në GitHub:

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

Ekziston një shembull i quajtur Raw_Data_Serial_Output. Ky shembull demonstron daljen e papërpunuar të të dhënave nga grupi i sensorëve. Vlerat e daljes janë në milimetra.

Pasi sensorët të jenë të inicializuar, duhet të shihni diçka të tillë në dritaren serike kur tundni dorën përmes sensorëve:

Referojuni videoklipit për një demonstrim të drejtpërdrejtë.

Duke përdorur shembullin Fuzzy_Radar_Serial_Output

Hapi tjetër është marrja e të dhënave të dobishme nga këto lexime në distancë. Ajo që ne donim nga një RADAR janë distanca dhe këndi i objektit të synuar.

  • Distanca është në milimetra, e lidhur me sipërfaqen e sensorit. Kthimi i 0 do të thotë që objektivi është jashtë rrezes.
  • Këndi është në gradë, në rrafshin horizontal. Kodi aktualisht pritet që sensorët të ndahen në mënyrë të barabartë. Kthimi 0 gradë do të thotë që objektivi është në pozicionin qendror të grupit.

Disa algoritme filtrimi aplikohen në bibliotekë:

  • Heqja e zhurmës:

    • Leximet e shkurtra (për sa i përket numrit të mostrave) konsiderohen zhurmë dhe hiqen.
    • Leximet që janë shumë larg vlerës mesatare hiqen.
  • Llogaritja e këndit të peshës (shiko ilustrimin më lart)

    • Objekti i synuar supozohet të jetë një sipërfaqe e sheshtë
    • Nëse shumë sensorë kanë zbuluar objektin në të njëjtën kohë, një peshë llogaritet për secilin sensor.
    • Pesha për secilin sensor lidhet në mënyrë të kundërt me distancën e tij.
    • Engjëlli i rezultatit llogaritet nga këndi i ponderuar i secilit sensor.
  • Përzgjedhja e objektivit kryesor:

    • Nëse ka më shumë se një grup leximesh, grupi më i gjerë (me më shumë numërim të leximit të sensorit) mbetet.
    • Për shembull, nëse vendosni dy duar para grupit të sensorëve, dora e zbuluar nga më shumë sensorë mbetet.
  • Përzgjedhja e objektivit më të afërt:

    • Nëse ka më shumë se një grup të zbuluar me të njëjtën gjerësi, grupi në distancën më të afërt mbetet.
    • Për shembull, nëse vendosni dy duar para grupit të sensorëve, dhe dy grupe të zbuluara kanë të njëjtën numër të sensorit, grupi më afër sensorit mbetet.

Distanca dhe këndi i daljes zbuten përmes filtrit të kalimit të ulët

Në Raw_Data_Serial_Output, leximet e papërpunuara të distancës konvertohen në distancë dhe vlerë këndi. Pasi të keni ngarkuar skicën, mund të hapni dritaren serike për të parë rezultatin e ngjashëm me këtë:

Asnjë objekt nuk u zbulua. Asnjë objekt nuk u zbulua. Asnjë objekt nuk u zbulua. Distance = 0056 Angle = 017 Distance = 0066 Angle = 014 Distance = 0077 Angle = 011 Distance = 0083 Angle = 010 Distance = 0081 Angle = 004 Distance = 0082 Angle = 000 Distance = 0092 Angle = 002 Distance = 0097 Angle = 001 Distance = 0096 Angle = 001 Distance = 0099 Angle = 000 Distance = 0101 Angle = -002 Distance = 0092 Angle = -004 Distance = 0095 Angle = -007 Distance = 0101 Angle = -008 Distance = 0112 Angle = -014 Distance = 0118 Angle = -017 Distance = 0122 Angle = -019 Distance = 0125 Angle = -019 Distance = 0126 Angle = -020 Distance = 0125 Angle = -022 Distance = 0124 Angle = -024 Distance = 0133 Angle = -027 Distance = 0138 Angle = - 031 Distanca = 0140 Këndi = -033 Distanca = 0136 Këndi = -033 Distanca = 0125 Këndi = -037 Distanca = 0120 Këndi = -038 Distanca = 0141 Këndi = -039 Asnjë objekt nuk u zbulua. Asnjë objekt nuk u zbulua. Asnjë objekt nuk u zbulua.

Pra, tani, ju keni një RADAR (LIDAR):

  • Më i vogël se modulet e sensorit tejzanor
  • Asnjë pjesë lëvizëse
  • Skanon në 40 Hz.
  • Formuar si një rrip, mund të montohet në një kornizë rrethore
  • Përdorni vetëm tre tela kontrolli, plus fuqinë dhe tokëzimin.
  • Ka një gamë nga 30 milimetra në rreth 1000 milimetra.

Në hapat e mëposhtëm, ne do t'ju tregojmë disa demonstrime interesante!

Hapi 8: Gjurmuesi me lazer (demonstrim)

Image
Image
Gjurmues lazer (demonstrim)
Gjurmues lazer (demonstrim)

Ky është një shembull i përdorimit të Radarit Stacionar që kemi ndërtuar nga hapat e mëparshëm. Ky hap nuk është shkruar në detaje, pasi ky është një demonstrues i Radarit. Në përgjithësi, keni nevojë për këto artikuj shtesë për të ndërtuar këtë projekt demonstrimi:

  • Dy servos
  • Një laps lazer që lëshon kokë
  • Një MOSFET ose NPN Transistor për të kontrolluar daljen e kokës lazer
  • Një burim energjie për servos. Duhet të ndahet nga mikrokontrolluesi.

Kodi mund të shkarkohet këtu.

Ju lutemi shikoni videon e ofruar.

Hapi 9: Shikimi i Poopeyes (Demonstrim)

Image
Image

Demonstrimi i përdorimit të radarit larg për të gjetur vendndodhjen dhe distancën e objektit.

Recommended: