Satura rādītājs:

Stacionārais radara (LIDAR) masīvs ar Arduino: 10 soļi (ar attēliem)
Stacionārais radara (LIDAR) masīvs ar Arduino: 10 soļi (ar attēliem)

Video: Stacionārais radara (LIDAR) masīvs ar Arduino: 10 soļi (ar attēliem)

Video: Stacionārais radara (LIDAR) masīvs ar Arduino: 10 soļi (ar attēliem)
Video: LIDAR Scan Discovered an Unknown Civilization In The Amazon 2024, Jūlijs
Anonim
Stacionārais radara (LIDAR) masīvs ar Arduino
Stacionārais radara (LIDAR) masīvs ar Arduino
Stacionārais radara (LIDAR) masīvs ar Arduino
Stacionārais radara (LIDAR) masīvs ar Arduino
Stacionārais radara (LIDAR) masīvs ar Arduino
Stacionārais radara (LIDAR) masīvs ar Arduino

Kad es būvēju divkāju robotu, es vienmēr domāju, ka man ir kāds foršs sīkrīks, kas var izsekot manam pretiniekam un ar to veikt uzbrukuma kustības. Šeit jau pastāv radaru/lidaru projektu ķekari. Tomēr manam mērķim ir daži ierobežojumi:

  • Ultraskaņas viļņu sensora moduļi ir diezgan lieli. Katrs robots izskatītos kā WALL-E.
  • Pašreizējos radara projektos ir iekļauts sensors (vai nu ultraskaņas viļņi, IR, lāzers, …), un servomotors vidū. Lai skenētu vidi, servo jāpārvieto no vienas puses uz otru. Pārvietojot lietas uz priekšu un atpakaļ, rodas impulsa izmaiņas, kas ir slikti divkāju līdzsvarošanai un staigāšanai.
  • Skenēšanas biežumu ierobežo servo ātrums. Droši vien var sasniegt tikai vairākus hercus. Pat ja skenēšanas frekvenci var palielināt kāds super-servo, tas izraisītu spēcīgu vibrāciju.
  • [Centrālā servomotora - sensora] izvietojums arī ierobežo montāžas pozīciju un dizainu. Ir grūti uzstādīt tādu lietu kā galvu. Kas liek manam divkājainajam ikreiz izskatīties kā dreboša galva WALL-E. Nav forši!
  • [Servo-sensoru] izkārtojumu var veidot arī kā [motora sensora] stilu. Sensors (vai sensori) nepārtraukti rotē pa motora asi. Tas var novērst impulsa raustīšanos un zemas skenēšanas frekvences problēmas, bet ne rumpja konstrukcijas ierobežojumus. Elektroinstalācijas grūtības arī ievērojami palielināsies.

Pēc meklēšanas šis mazais sensors VL53L0X no ST izšļakstījās man acīs. Apgalvojot "Pasaules mazāko" lidojuma laika diapazona sensoru, izmērs ir tikai 4,4 x 2,4 x 1,0 mm. Piedāvā

  • Par mikroshēmas IR lāzera emitētāju un detektoru
  • Līdz 2 m diapazons (1,2 m ātrā režīmā)
  • Programmējama I2C adrese
  • GPIO pārtraukšanas izejas tapa
  • Acu drošs

Visas šīs īpašās funkcijas ļāva man pārvarēt iepriekš minētās problēmas, ja varētu darboties VL53L0X sensoru masīvs. Sākotnēji es domāju, ka šo radaru sauks par cietvielu radaru, bet uzzināju, ka šis termins tika lietots citam. Tāpēc nosaukums "Stacionārs" nosaukumā nozīmē, ka šajā radara sīkrīkā nav kustīgu daļu. Turklāt, lai gan LIDAR (gaismas noteikšana un diapazons) ir tehniski pareizais šīs mikroshēmas termins, RADAR šeit tiek dēvēts par vispārīgāku terminu.

Iemesls, kāpēc programmējamā I2C adrese un GPIO izejas tapa ir šim projektam izšķiroši, ir izskaidrots vēlāk.

1. darbība: rīki un detaļas

Instrumenti un detaļas
Instrumenti un detaļas
Instrumenti un detaļas
Instrumenti un detaļas

Rīki

Šajā projektā ir nepieciešami šādi rīki:

  • Lodāmurs
  • Lodēšanas palīdzīgas rokas
  • Dupont gofrēšanas rīks
  • 1,5 mm sešstūra vadītājs
  • Stiepļu pārklājuma noņemšanas rīks
  • Stiepļu griezējs
  • Karstās līmes pistole
  • Pincetes
  • Lupa (fiziska vai lietotnes tālrunī)
  • Plakanās knaibles

Daļas

Šajā projektā tiek izmantotas šādas daļas:

  • 10x VL53L0X GY-530 sadalīšanas dēļi
  • Arduino (Uno, Nano, Mega, Zero, Mini, utt.)
  • Maizes dēlis un daži maizes dēļa vadi
  • AWG #26 vadi ar dažādām krāsām
  • AWG #30 viena kodola stieple
  • 5x Dupont vīriešu savienotāji
  • 5x vienas tapas Dupont korpusi
  • 10x 3D drukāti sadalīšanas dēļu turētāji
  • 1x 3D drukāts apļveida rāmis
  • 10x M2x10 skrūves ar plakanu galvu
  • 10x 0804 LED (ieteicams zils)
  • 10x SOT-23 AO3400 N-kanālu MOSFET
  • Mazs kondensators (10 ~ 100uF)

Izlaušanās dēlis

Izmantotais VL53L0X sadalīšanas dēlis ir GY-530. Ir pieejamas arī Adafruit un Pololu versijas. Ja iespējams, es iesaku izmantot Adafruit vai Pololu produktu, jo tie rada lieliskus produktus, lieliskas apmācības un lieliskas programmatūras bibliotēkas. Es pārbaudīju Adafruit VL53L0X bibliotēku un izmantoju Pololu VL53L0X bibliotēkas modificētu versiju.

Dupont savienotāji

Maizes dēļam tiek izmantoti dupont savienotāji. Jūs varat izmantot jebkura cita veida savienojumus, kas jums ir rokā.

Skrūves un 3D drukātas detaļas

M2 skrūves, turētāji un apļveida rāmis tiek izmantoti, lai sensorus novietotu apļveida formā. Jūs varat izmantot jebkuras citas metodes, piemēram, izmantojot kartona dēļus, modeļu kokus, mālu vai pat karstu līmi uz kārbas.

2. darbība. Breadout dēļa uzlaušana

Datorurķēšana Breadout Board
Datorurķēšana Breadout Board
Datorurķēšana Breadout Board
Datorurķēšana Breadout Board
Datorurķēšana Breadout Board
Datorurķēšana Breadout Board
Datorurķēšana Breadout Board
Datorurķēšana Breadout Board

Atklāšanas konuss

Es izmantoju vienu moduli, lai uzzīmētu atklāšanas konusu. Par mērķi izmantojot galvenokārt 3D drukātu robotu. Attālums tiek parādīts LED displejā un tiek mērīts aptuveni. Izmērītie dati tiek ierakstīti Microsoft Excel failā un tiek izmantota līknes pielāgošanas funkcija. Vislabāk der dabiskā logaritma līkne ar efektīvu attālumu no 3 cm līdz aptuveni 100 cm.

Pie 60 cm viena sensora noteikšanas līkne ir aptuveni 22 cm. Izmantojot 20 cm platu mērķi, apļveida 10–15 grādu attālumam radara blokam vajadzētu iegūt pieņemamu skenēšanas izšķirtspēju.

I2C adrese

Lai gan ierīces VL53L0X I2C adrese ir programmējama, mikrokontrolleram ir nepieciešama pilnīga XSHUT tapas vadība. To izdarīšanas secība ir šāda:

  1. Barošana tiek izmantota AVDD.
  2. Visas VL53L0X mikroshēmas tiek novietotas Hw gaidstāves (atiestatīšanas) stāvoklī, nolaižot VISAS XSHUT tapas uz LOW.
  3. Katra mikroshēma tiek izņemta no atiestatīšanas stāvokļa pa vienam. Noklusējuma I2C adrese pēc palaišanas ir 0x52.
  4. Mikroshēmas adrese tiek mainīta uz jaunu adresi, izmantojot I2C komandu. Piemēram, 0x52 tika mainīts uz 0x53.
  5. Atkārtojiet 3. un 4. darbību visām mikroshēmām.

Teorētiski 7 bitu adrešu diapazonā vienā autobusā var vadīt ne vairāk kā 126 vienības. Tomēr praktiski mikrokontrollera kopnes kapacitāte un grimstošās strāvas ierobežojums var/vajadzētu ierobežot maksimālo ierīču skaitu.

Jaunā I2C adrese netiek saglabāta VL53L0X mikroshēmā pret izslēgšanu vai atiestatīšanu. Tādējādi šis process ir jāveic vienu reizi pēc katras ieslēgšanas. Tas nozīmē, ka katrai radara masīva vienībai ir nepieciešama viena vērtīga tapa. Tas ir pārāk nedraudzīgi vadiem un tapu patēriņam, radara jostai ar 10+ vai 20+ vienībām.

Kā minēts STEP1, ir paveicies, ka VL53L0X mikroshēmā ir GPIO1 tapa, kas sākotnēji tika izmantota pārtraukšanai.

GPIO-XSHUTN margrietiņas ķēde

GPIO izeja ir augstas pretestības stāvoklī pēc palaišanas un atvērtā aizplūšana ir zema, kamēr tā ir aktīva. GPIO un XSHUT tapas ir uzvilktas līdz AVDD uz GY-530 sadalīšanas paneļa, kā ieteikts datu lapā. Lai visas VL53L0X mikroshēmas varētu droši novietot Hw gaidstāves stāvoklī (braucot ar zemu XSHUT), mums ir nepieciešami loģiski NOT vārti (invertors) katrai XSHUT tapai. Tad mēs savienojam vienas mikroshēmas GPIO izeju (N mikroshēma) ar pakārtotās mikroshēmas XSHUTN (XSHUT-NOT) mikroshēmu (N+1 mikroshēma).

Ieslēdzot, visas GPIO tapas (neaktīvās) tiek izvilktas uz augšu, visas nākamās XSHUT tapas tiek nolaistas zem vārtiem NOT (izņemot pašu dūres mikroshēmu, kur tās XSHUTN tapa ir pievienota mikrokontrolleram). I2C adreses maiņa un pakārtotās mikroshēmas XSHUT atbrīvošana tiek veikta programmatūrā pa vienam.

Ja izmantojat dažādus sadalīšanas dēļus, jums jāpārliecinās, vai uzvilkšanas rezistori ir savās vietās, un jāveic atbilstoši pielāgojumi.

LED pievienošana

Nākamajā solī sadales plāksnei tiks pievienota neliela 0805 SMD gaismas diode, kas no XSHUT spilventiņa ir savienota ar blakus esošā kondensatora GND spaili. Lai gan LED pats neietekmē moduļa darbību, tas sniedz mums labu vizuālu norādi XSHUT loģikas līmenī.

Pieslēdzot LED sērijveidā ar pievilkšanas rezistoru (manā gadījumā 10k) uz XSHUT tapas, tiks ieviests sprieguma kritums. Augstā loģiskā līmeņa 3.3v vietā sarkanā 0805 LED priekšējā sprieguma kritums tiek mērīts 1.6v. Lai gan šis spriegums ir augstāks par datu lapas augsto loģikas līmeni (1.12v), zilā gaismas diode ir labāka šim uzlaušanai. Zilās gaismas diodes sprieguma kritums uz priekšu tiek mērīts aptuveni 2,4 V, kas ir droši virs mikroshēmas loģikas līmeņa.

N-MOS invertora pievienošana (loģika NOT Gate)

Uz mūsu pievienotās gaismas diodes ir sakrauts neliels SOT-23 N kanāla MOSFET. Divi termināļi (D, S) ir jāpielodē uz sadalīšanas paneļa, un atlikušais terminālis (G) ir savienots ar augšējā paneļa GPIO tapu, izmantojot #26 vadu.

Piezīmes par SMD komponentu pievienošanu

SMD komponentu lodēšana uz sadalīšanas paneļa, kas nav paredzēts, nav viegls uzdevums. Ja vēl neesat dzirdējis par 0805, SMD, SOT-23, iespējams, ka iepriekš neesat lodējis šīs mazās mazās sastāvdaļas. Strādājot ar šīm mazajām sastāvdaļām ar rokām, ir ļoti bieži:

  • Mazā lieta vienkārši nokrita un pazuda uz visiem laikiem,
  • Sīkie spilventiņi uz sīkumiņa vienkārši nolobījās.
  • Sīkās kājas uz sīkumiņa vienkārši salūza.
  • Lodēšanas skārds tikko savācās lāsē un to nevarēja atdalīt.
  • Un vēl…

Ja jūs joprojām vēlaties izveidot šo radaru, varat:

  • Mainiet komponentus uz lielāku iepakojumu, piemēram, DIP stilu.
  • Praksē un patēriņā iegūstiet vairāk sastāvdaļu, nekā nepieciešams.

3. solis: 0805 LED lodēšana

Lodēšana 0805 LED
Lodēšana 0805 LED
Lodēšana 0805 LED
Lodēšana 0805 LED
Lodēšana 0805 LED
Lodēšana 0805 LED
Lodēšana 0805 LED
Lodēšana 0805 LED

Lodēšana 0805 SMD LED

Lodēt 0805 gaismas diodi ar rokām uz sadalīšanas paneļa, kas nav paredzēts SMD, vispār nav viegls uzdevums. Šādas darbības ir mans ieteikums lodēt LED.

  1. Izmantojiet palīga roku, lai noturētu izlaušanās dēli.
  2. Ielieciet lodēšanas pastu uz SMD kondensatora malas un spilventiņa "XSHUT".
  3. Izmantojiet lodāmuru, lai uz kondensatora malas uzliktu papildu lodmetālu.
  4. Uzlieciet lodēšanas pastu abos 0805 gaismas diodes galos.
  5. Izmantojiet lodāmuru, lai uzliktu alvu abos 0805 gaismas diodes galos.
  6. Izmantojiet pinceti, lai novietotu gaismas diodi, kā parādīts fotoattēlā. Katoda galā parasti ir atzīmēta līnija. Manā piemērā katoda galā ir zaļa līnija. Novietojiet katoda galu pie kondensatora gala.
  7. Izmantojiet pinceti, lai pievienotu gaismas spiedienu uz gaismas diodi kondensatora virzienā, un pielodējiet gaismas diodi pie kondensatora gala, vienlaikus pievienojot siltumu kondensatora galam. Nespiediet uz gaismas diodes. Tās pārsegs var saplīst karstumā un pārmērīgā spiedienā. Pēc lodēšanas viegli piespiediet gaismas diodi uz sāniem, lai pārbaudītu, vai gaismas diode ir pielodēta.
  8. Tagad lodējiet gaismas diodi pie XSHUT iegremdēšanas spilvena. Šim solim vajadzētu būt vienkāršākam.

Piezīme. Attēlā redzamais kondensatora gals ir šīs sadalīšanas plates iezemētais terminālis. Un iegremdēšanas spilventiņu XSHUT velk uz augšu ar rezistoru.

LED testēšana

Gaismas diodei vajadzētu iedegties, kad strāvas padevei (piemēram, 5 V) un zemei pievienojat sadales paneli.

4. solis: N-kanāla MOSFET lodēšana

N-kanāla MOSFET lodēšana
N-kanāla MOSFET lodēšana
N-kanāla MOSFET lodēšana
N-kanāla MOSFET lodēšana
N-kanāla MOSFET lodēšana
N-kanāla MOSFET lodēšana
N-kanāla MOSFET lodēšana
N-kanāla MOSFET lodēšana

AO3400 N-Channel MOSFET lodēšana

Šis MOSFET ir SOT-23 iepakojumā. Mums tas "jāsakrauj" uz gaismas diodes un jāpievieno arī vads:

  1. Ielieciet lodēšanas pastu un izkausējiet visus trīs termināļus.
  2. Izmantojiet pinceti, lai MOSFET novietotu virs 0805 gaismas diodes. S terminālim vajadzētu pieskarties kondensatora augšdaļai
  3. Lodējiet S spaili ar kondensatora galu, kā parādīts fotoattēlā.
  4. Izgrieziet nelielu AWG #30 vienkodola vadu un noņemiet pārklājumu apmēram 1 cm.
  5. Izmantojiet lodāmuru, lai izkausētu lodēt XSHUT caurumā no apakšas, un ievietojiet vadu #30 no augšas, kā parādīts fotoattēlā.
  6. Vada augšējā gala pielodēšana pie MOSFET D spailes.
  7. Nogrieziet papildu vadu.

Piezīme: MOSFET S terminālis ir pievienots kondensatora galam, kā parādīts attēlā. Šis gals ir zemes terminālis. MOSFET D terminālis ir savienots ar oriģinālo XSHUT tapu.

Terminālis G pašlaik nav savienots. Tās stāvoklis ir nedaudz virs dažiem pievilkšanas rezistoriem. Pārliecinieties, ka starp tiem ir plaisa (N-MOS un rezistors) un tie nesaskaras viens ar otru.

5. solis: Sensora masīva savienošana

Sensora bloka vadu savienošana
Sensora bloka vadu savienošana
Sensora bloka vadu savienošana
Sensora bloka vadu savienošana
Sensora bloka vadu savienošana
Sensora bloka vadu savienošana

Kopējā autobusu elektroinstalācija

Kopējā autobusā ietilpst:

  • Vcc jauda. Fotoattēlā sarkans. Es izmantoju arduino nano ar 5v loģiku. Izlaušanas plāksnei ir LDO un līmeņa pārslēdzējs. Tāpēc ir droši izmantot 5v kā Vin.
  • Zeme. Fotoattēlā melns.
  • SDA. Fotoattēlā zaļš.
  • SCL. Dzeltens fotoattēlā.

Šīs četras līnijas ir kopīgas līnijas. Izgrieziet atbilstošu vadu garumu un lodējiet tos paralēli visiem sensoru moduļiem. Es izmantoju 20 cm no arduino līdz pirmajam sensoram un 5 cm pēc tam.

XSHUTN un GPIO elektroinstalācija

20 cm baltais vads ir no arduino vadības tapas līdz pirmā sensora XSHUTN tapai. Šī ir vadības līnija, kas nepieciešama, lai izņemtu pirmo VL53L0X mikroshēmu no atiestatīšanas un mainītu I2C adresi.

5 cm baltais vads starp katru moduli ir margrietiņas ķēdes vadības līnija. Augšupējā mikroshēma (piemēram, mikroshēma #3) GPIO spilventiņš ir savienots ar lejupvērsto (piemēram, mikroshēmu #4) XSHUTN kāju (N-kanāla MOSFET G terminālis).

Uzmanieties, lai G terminālis nesaskartos ar zemāk esošo rezistoru. Spraugā varat pievienot izolācijas lenti. Šeit var izmantot aizsargpārklājumu, kas parasti tiek piegādāts kopā ar mikroshēmu VL53L0X.

Izmantojiet siltuma pistoli, lai pielīmētu vadības vadu.

Karstā līme

Kā redzat fotoattēlā, uz baltās vadības stieples, netālu no N-MOS G termināļa, ir karstas līmes lāse. Šis solis ir ļoti svarīgs un absolūti nepieciešams. Peldoša lodēšana tieši uz SMD komponenta kājas ir ļoti vāja. Pat neliels spiediens uz vadu var salauzt kāju. Veiciet šo soli maigi.

LED testēšana

Pielietojot sensoru blokam strāvu (piem. 3.3v-5v) un zemējumu, pirmā moduļa gaismas diodei jāatbild ar XSHUTN vadu loģikas līmeni. Ja pievienojat XSHUTN loģikai (piemēram, 3.3v-5v), gaismas diodei jābūt izslēgtai. Ja pievienojat XSHUTN vadu zemam (zemē), pirmā moduļa gaismas diodei vajadzētu iedegties.

Visiem nākamajiem moduļiem gaismas diodei jābūt izslēgtai.

Šis tests tiek veikts pirms savienojuma ar arduino.

6. darbība. Sensora masīva pabeigšana

Image
Image
Sensora masīva pabeigšana
Sensora masīva pabeigšana
Sensora masīva pabeigšana
Sensora masīva pabeigšana
Sensora masīva pabeigšana
Sensora masīva pabeigšana

Margrietiņas ķēdes pārbaude

Tagad mēs vēlamies pārbaudīt, vai I2C adreses maiņa darbojas visiem masīva sensoriem. Kā jau minēts, pirmo mikroshēmu kontrolē arduino. Otro mikroshēmu kontrolē pirmā mikroshēma utt.

  1. Uzstādiet maizes dēli. 5V un Zemes sliede ir tieši savienotas no Adriano 5V un zemes. Katra sensora pašreizējais patēriņš datu lapā ir novērtēts kā 19ma.
  2. Pievienojiet kondensatoru uz barošanas sliedes, lai palīdzētu stabilizēt Vin.
  3. Savienojiet Vin un Ground no sensoru bloka ar strāvas sliedi.
  4. Pievienojiet SDA arduino Nano pin A4 (var būt atšķirīgs citiem mikrokontrolleriem).
  5. Pievienojiet SCL arduino Nano pin A5 (citiem mikrokontrolleriem tas var atšķirties).
  6. Pievienojiet XSHUTN vadu arduino Nano tapai D2. (Skicē to var mainīt).
  7. Dodieties uz github https://github.com/FuzzyNoodle/Fuzzy-Radar un lejupielādējiet bibliotēku.
  8. Atveriet piemēru "Daisy_Chain_Testing" un augšupielādējiet skici.

Ja viss darbojas, jums vajadzētu redzēt, ka statusa gaismas diodes iedegas pa vienai, līdzīgi kā iepriekš redzamajā videoklipā.

Varat arī atvērt sērijas logu un redzēt inicializācijas gaitu. Rezultāts izskatīsies šādi:

Porta atvēršana Ports atvērts Sākuma skice. Iestatiet mikroshēmu 0 atiestatīšanas režīmā. Visām statusa gaismas diodēm jābūt izslēgtām. Tagad konfigurējiet sensorus. LED vajadzētu iedegties pa vienam. Mikroshēmas konfigurēšana 0 - atiestatīt I2C adresi uz 83 - inicializēt sensoru. 1. mikroshēmas konfigurēšana - atiestatīt I2C adresi uz 84 - inicializēt sensoru. 2. mikroshēmas konfigurēšana - atiestatīt I2C adresi uz 85 - inicializēt sensoru. Radara masīva konfigurācija ir pabeigta.

Salieciet turētāju un rāmi

  1. Uzmanīgi novietojiet katru GY-530 moduli uz turētāja ar M2x10 skrūvi. Nespiediet MOSFET un nevelciet XSHUTN vadus.
  2. Ievietojiet katru turētāju apļveida rāmī. Izmantojiet karstu līmi, lai savienotu detaļas.

Atkal tiek izmantotas M2 skrūves, turētāji un apļveida rāmis, lai sensorus novietotu apļveida formā. Jūs varat izmantot jebkuras citas metodes, piemēram, izmantojot kartona dēļus, modeļu kokus, mālu vai pat karstu līmi uz kārbas.

Tālāk ir sniegti izmantotie 3D drukātie faili. Apļveida rāmim ir 9 moduļi, un katrs ir atdalīts ar 10 grādiem. Ja jums ir asa acs, iepriekšējos fotoattēlos bija 10 moduļi. Iemesls? Zemāk paskaidrots…

Noņemiet aizsargplēvi

Ja jūs izpildījāt darbības no paša sākuma, tagad ir īstais laiks noņemt aizsargpārklājumu uz mikroshēmas VL53L0X. Manās iepriekšējās fotogrāfijās tie jau ir noņemti, jo pirms šo pamācību ievietošanas man ir jāpārbauda moduļi un jāpārliecinās, ka koncepcija darbojas.

Par aizsargpārklājumu datu lapā ir norādīts: "Klientam tas ir jānoņem tieši pirms vāka stikla uzstādīšanas". Divi sīkie caurumi (emitētājs un uztvērējs) VL53L0X mikroshēmā ir neaizsargāti pret piesārņojumu, piemēram, putekļiem, taukiem, karstu līmi utt.

Pēc piesārņojuma diapazons var tikt samazināts, un rādījumi var būt par acīmredzamu. Viens no maniem testa moduļiem ir nejauši piesārņots ar līmes mālu, diapazons ir samazināts līdz 40 cm, un attāluma rādījums ir kļūdaini palielināts par 50%. Tātad, esiet uzmanīgi!

7. darbība: datu iegūšana

Image
Image
Lāzera marķieris (demonstrācija)
Lāzera marķieris (demonstrācija)

Izmantojot Raw_Data_Serial_Output piemēru

Tagad mums patiešām patīk redzēt datus no mūsu sensoru masīva. GitHub arduino bibliotēkā:

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

Ir piemērs ar nosaukumu Raw_Data_Serial_Output. Šis piemērs parāda neapstrādāto datu izvadi no sensoru masīva. Izejas vērtības ir milimetros.

Kad sensori ir inicializēti, sērijas logā vajadzētu redzēt kaut ko līdzīgu, kad jūs vicināt roku caur sensoriem:

Tiešraides demonstrāciju skatiet videoklipā.

Izmantojot Fuzzy_Radar_Serial_Output piemēru

Nākamais solis ir iegūt noderīgus datus no šiem attāluma rādījumiem. Tas, ko mēs gribējām no RADAR, ir mērķa objekta attālums un leņķis.

  • Attālums ir milimetros, kas saistīts ar sensora virsmu. Atgriežot 0, mērķis ir ārpus diapazona.
  • Leņķis ir grādos, horizontālajā plaknē. Pašlaik paredzamais kods, ka sensori ir izvietoti vienmērīgi. Atgriešanās 0 grādos nozīmē, ka mērķis atrodas masīva centrā.

Bibliotēkā tiek izmantoti daži filtrēšanas algoritmi:

  • Trokšņa noņemšana:

    • Īsi (paraugu skaita ziņā) rādījumi tiek uzskatīti par troksni un tiek noņemti.
    • Rādījumi, kas ir tālu no vidējās vērtības, tiek noņemti.
  • Svara leņķa aprēķins (skatiet attēlu iepriekš)

    • Tiek uzskatīts, ka mērķa objekts ir līdzena virsma
    • Ja objektu vienlaikus ir atklājuši vairāki sensori, katram sensoram tiek aprēķināts svars.
    • Katra sensora svars ir apgriezti saistīts ar tā attālumu.
    • Rezultāta eņģelis tiek aprēķināts no katra sensora svērtā leņķa.
  • Galvenā mērķa izvēle:

    • Ja ir vairāk nekā viena rādījumu grupa, paliek visplašākā (ar lielāku sensora nolasījumu skaitu) grupa.
    • Piemēram, ja jūs ievietojat divas rokas sensoru masīva priekšā, paliek roka, ko konstatējuši citi sensori.
  • Tuvākā mērķa izvēle:

    • Ja ir vairākas vienādas platuma noteiktas grupas, tuvākajā attālumā esošā grupa paliek.
    • Piemēram, ja jūs ievietojat divas rokas sensoru masīva priekšā un divām konstatētajām grupām ir vienāds sensoru skaits, grupa, kas atrodas tuvāk sensoram, paliek.

Izejas attālums un leņķis tiek izlīdzināti caur zemas caurlaidības filtru

Raw_Data_Serial_Output izejas attāluma rādījumi tiek pārvērsti attāluma un leņķa vērtībā. Kad esat augšupielādējis skici, varat atvērt sērijas logu, lai redzētu līdzīgu rezultātu:

Netika atrasts neviens objekts. Nav atrasts neviens objekts. Netika atrasts neviens objekts. Attālums = 0056 leņķis = 017 attālums = 0066 leņķis = 014 attālums = 0077 leņķis = 011 attālums = 0083 leņķis = 010 attālums = 0081 leņķis = 004 attālums = 0082 leņķis = 000 attālums = 0092 leņķis = 002 attālums = 0097 leņķis = 001 attālums = 0096 leņķis = 001 attālums = 0099 leņķis = 000 attālums = 0101 leņķis = -002 attālums = 0092 leņķis = -004 attālums = 0095 leņķis = -007 attālums = 0101 leņķis = -008 attālums = 0112 leņķis = -014 attālums = 0118 leņķis = -017 attālums = 0122 leņķis = -019 attālums = 0125 leņķis = -019 attālums = 0126 leņķis = -020 attālums = 0125 leņķis = -022 attālums = 0124 leņķis = -024 attālums = 0133 leņķis = -027 attālums = 0138 leņķis = - 031 Attālums = 0140 Leņķis = -033 Attālums = 0136 Leņķis = -033 Attālums = 0125 Leņķis = -037 Attālums = 0120 Leņķis = -038 Attālums = 0141 Leņķis = -039 Neviens objekts nav konstatēts. Netika atrasts neviens objekts. Netika atrasts neviens objekts.

Tagad jums ir RADARS (LIDAR):

  • Mazāki par ultraskaņas sensoru moduļiem
  • Nav kustīgu detaļu
  • Skenē 40 Hz frekvencē.
  • Veidota kā josta, to var uzstādīt uz apļveida rāmja
  • Izmantojiet tikai trīs vadības vadus, kā arī barošanu un zemējumu.
  • Tam ir diapazons no 30 milimetriem līdz aptuveni 1000 milimetriem.

Turpmākajos soļos mēs parādīsim dažas foršas demonstrācijas!

8. solis: lāzera marķieris (demonstrācija)

Image
Image
Lāzera marķieris (demonstrācija)
Lāzera marķieris (demonstrācija)

Šis ir viens piemērs stacionārā radara izmantošanai, ko esam izveidojuši no iepriekšējām darbībām. Šis solis nav detalizēti uzrakstīts, jo tas ir radara demonstrētājs. Kopumā, lai izveidotu šo demonstrācijas projektu, jums ir nepieciešami šie papildu priekšmeti:

  • Divi servo
  • Lāzera pildspalvas izstarojošā galva
  • MOSFET vai NPN tranzistors, lai kontrolētu lāzera galvas izeju
  • Strāvas avots servos. Tas jāatdala no mikrokontrollera.

Kodu var lejupielādēt šeit.

Lūdzu, skatiet piedāvāto video.

9. solis: Poopeyes skatīšanās (demonstrācija)

Image
Image

Demonstrācija par radara izmantošanu, lai izsekotu objekta atrašanās vietu un attālumu.

Ieteicams: