Turinys:

Utragarsinis vengimo robotas naudojant „Arduino“: 7 žingsniai
Utragarsinis vengimo robotas naudojant „Arduino“: 7 žingsniai

Video: Utragarsinis vengimo robotas naudojant „Arduino“: 7 žingsniai

Video: Utragarsinis vengimo robotas naudojant „Arduino“: 7 žingsniai
Video: Pasaulis pagal moteris - manorobotas.lt 2024, Lapkritis
Anonim
Image
Image
Utragarsinis vengimo robotas naudojant „Arduino“
Utragarsinis vengimo robotas naudojant „Arduino“

Šioje pamokoje aš jums parodysiu, kaip patiems susidaryti kliūtis, išvengiant roboto! Mes naudosime „Arduino UNO“plokštę ir ultragarsinį jutiklį. Jei robotas aptinka priešais esantį objektą, naudodamas nedidelį servo variklį, jis nuskaito sritį į kairę ir į dešinę, kad surastų geriausią būdą pasukti. Jame taip pat yra pranešimo šviesos diodas, signalinis signalas, leidžiantis skambėti, kai aptinkamas objektas, ir mygtukas, skirtas pakeisti roboto funkciją (sustabdytas/judantis pirmyn).

Tai labai lengva padaryti!

1 žingsnis: ką reikia padaryti

Dalykai, kuriuos reikia padaryti!
Dalykai, kuriuos reikia padaryti!
Dalykai, kuriuos reikia padaryti!
Dalykai, kuriuos reikia padaryti!
Dalykai, kuriuos reikia padaryti!
Dalykai, kuriuos reikia padaryti!
Dalykai, kuriuos reikia padaryti!
Dalykai, kuriuos reikia padaryti!

Šiam projektui jums reikės:

  1. „Arduino UNO“(nusipirkite jį iš gearbest.com)
  2. Mini duonos lenta (nusipirkite ją iš gearbest.com)
  3. L298 variklio tvarkyklės modulis (nusipirkite jį iš gearbest.com)
  4. 2x nuolatinės srovės varikliai su ratukais HC-SR04 ultragarso jutiklis (pirkite jį iš gearbest.com)
  5. Mikro servo variklis (nusipirkite jį iš gearbest.com)
  6. Mygtukas Raudonas LED 220 omų rezistorius 9 V baterijos laikiklis (su maitinimo lizdu arba be jo)
  7. 8 tarpikliai (patinas ir patinas),
  8. 8 veržlės ir 8 varžtai, jums taip pat reikės vieno didelio (metalo)

sąvaržėlę ir karoliuką nugaros atraminiam ratui pagaminti.

Robotų bazei aš naudoju „Aliexpress“akrilo suspaudimą. Taip pat galite naudoti medžio ar metalo gabalą (arba dvi elektrines plokštes).

Viso projekto kaina yra apie 20 USD

Įrankiai: gręžimo mašinos superklijų įgulos vairuotojo karšto pistoleto klijai (neprivaloma)

Robotui įjungti naudosime 9 V akumuliatorių, nes jis yra mažas ir pigus, tačiau nėra labai galingas ir po maždaug valandos bus tuščias. Apsvarstykite, ar norite naudoti įkraunamą bateriją (min. 6V, maks. 7V), kuri bus galingesnė, bet taip pat brangesnė ir didesnė nei 9V baterija. Prenumeruokite Mūsų „YouTube“kanalas spustelėkite čia

2 žingsnis: supraskite sąvokas

Sąvokų supratimas
Sąvokų supratimas
Sąvokų supratimas
Sąvokų supratimas
Sąvokų supratimas
Sąvokų supratimas

Tikslas yra supažindinti robotą su priešais esančiomis kliūtimis, kad jis galėtų pakeisti kryptį ir jų išvengti. Ankstesniame straipsnyje mes privertėme robotą judėti - dabar mes suteiksime jam tam tikrą autonomiją.

Ultragarsinis jutiklis

HC-SR04 yra grandinė, galinti išmatuoti atstumą iki 4 metrų objektų naudojant ultragarso bangas. Jis siunčia ping (kaip povandeninis laivas) ir matuoja laiką (mikrosekundėmis) nuo siuntimo iki gavimo. Tada šis laikas padalijamas iš 2, kai banga keliauja pirmyn ir atgal. Tada padalinkite iš 29, kad gautumėte atstumą centimetrais (arba 74 coliais), nes garsas sklinda 29,4 µs per centimetrą (340 m/s). Jutiklis yra labai tikslus, su ~ 3 mm tolerancija ir lengvai integruojamas su „Arduino“.

Sąsajos ultragarso jutiklis su AVR mikrovaldikliu

Bet kuris autonominis robotas turėtų turėti kliūčių vengti ir pritvirtinti atstumo matavimo jutiklį. Infraraudonųjų spindulių siųstuvo-imtuvo pora arba pilkos spalvos jutiklis gali lengvai aptikti 1–10 cm diapazono kliūtis. Infraraudonųjų spindulių nuotolio ieškikliai (pavyzdžiui, aštrūs) gali išmatuoti atstumą iki artimiausios kliūties, atstumas iki 100 cm. Tačiau IR jutiklius veikia saulės šviesa ir kiti šviesos šaltiniai. IR diapazono ieškikliai turi mažesnį diapazoną ir yra brangūs už tai, ką jie daro. Ultragarsiniai jutikliai (taip pat žinomi kaip ultragarsiniai artumo jutikliai arba geonai) atlieka abi šias užduotis už priimtiną kainą ir išskirtinį tikslumą. Diapazonas yra nuo 3 cm iki 350 cm su ~ 3 mm tikslumu. Pririšę vieną iš šių ultragarso jutiklių į mūsų robotą, jis gali veikti ir kaip kliūčių vengėjas, ir kaip atstumo matavimo jutiklis.

„Ultragarsinis“garsas reiškia viską, kas viršija girdimo garso dažnius, ir paprastai apima viską, kas viršija 20 000 Hz arba 20 kHz! Robotai naudojami nebrangūs ultragarso jutikliai paprastai veikia nuo 40 kHz iki 250 kHz, o medicinos įrangoje naudojami iki 10 MHz.

3 žingsnis: reikalingi įrankiai

Reikalingi įrankiai
Reikalingi įrankiai
Reikalingi įrankiai
Reikalingi įrankiai
Reikalingi įrankiai
Reikalingi įrankiai
Reikalingi įrankiai
Reikalingi įrankiai
  1. Multimetras
  2. Bandomoji Lenta
  3. Adatos nosies replės
  4. Vielos nuėmiklis
  5. Vielos pjaustytuvas
  6. Klijų pistoletas

Multimetras iš tikrųjų yra paprastas prietaisas, pirmiausia naudojamas įtampai ir varžai matuoti ir nustatyti, ar grandinė uždaryta. Panašiai kaip ir kompiuterio kodo derinimas, multimetras padeda „derinti“jūsų elektronines grandines.

Statybinės medžiagos

Lengvai prieinamas plonos medienos ir (arba) organinio stiklo tiekimas mechaniniam rėmui pagaminti yra labai naudingas. Metalai, tokie kaip aliuminis ir plienas, dažnai naudojami tik tiems, kurie turi prieigą prie mašinų dirbtuvių, nors ploną aliuminį galima pjaustyti žirklėmis ir sulenkti rankomis. Mechaninius rėmus galima pastatyti net iš buitinių daiktų, tokių kaip plastikiniai indai.

Nors galimos ir kitos medžiagos, tokios kaip plastikas (išskyrus organinio stiklo pluoštą) arba egzotiškesnės medžiagos, tokios kaip stiklo pluoštas ir anglies pluoštas, šiame vadove jos nebus svarstomos. Keletas gamintojų pažymėjo, kad daugumai mėgėjų nėra lengva gaminti savo mechanines dalis ir sukūrė modulines mechanines dalis. Šios srities lyderis yra „Lynxmotion“, siūlantis platų robotų dizaino asortimentą ir dalis, kurių reikia norint sukurti savo pasirinktinius robotus.

Rankiniai įrankiai

Reikalingi įvairaus tipo ir dydžio atsuktuvai ir replės (įskaitant juvelyro įrankių rinkinį: mažus atsuktuvus, kuriuos paprastai galima įsigyti dolerio parduotuvėse). Taip pat svarbus gręžtuvas (pageidautina gręžimo presas tiesioms skylėms). Rankinis pjūklas statybinėms medžiagoms (arba frezai) pjauti taip pat yra svarbus turtas. Jei leidžia biudžetas, mažas stalinis juostinis pjūklas (200 USD diapazonas) tikrai yra priemonė, kurią reikia apsvarstyti.

Duonos lenta be litavimo

Lydmetalinė duonos lenta leidžia optimizuoti išdėstymą ir lengvai prijungti komponentus. Kartu su be litavimo duonos lenta turėtumėte įsigyti iš anksto suformuotą jungiamųjų laidų komplektą, kurį sudaro iš anksto supjaustyti ir sulenkti laidai, skirti naudoti su be litavimo duonos lenta. Tai labai palengvina ryšius.

Mažas atsuktuvų komplektas

Šie maži atsuktuvai yra būtini dirbant su elektronika. Tačiau neverskite jų per daug - dėl jų dydžio jie tampa trapesni.

Įprastas atsuktuvų komplektas

Visoms dirbtuvėms reikia kelių įrankių arba įrankių rinkinio, į kurį įeina plokščios / „Phillips“ir kitos atsuktuvų galvutės.

Adatos nosies replės

adatinių žnyplių rinkinys yra nepaprastai naudingas dirbant su mažais komponentais ir dalimis ir yra labai nebrangus jūsų įrankių rinkinio priedas. Jie skiriasi nuo įprastų replių, nes jie pasiekia tašką, kuris gali patekti į mažus plotus.

Vielos nuėmikliai/pjaustytuvai

Planuojate nutraukti bet kokius laidus, vielos nuėmiklis sutaupys daug laiko ir pastangų. Tinkamai naudojamas vielos nuėmiklis pašalins tik kabelio izoliaciją ir nesudarys sulenkimų ar nepažeis laidininkų. Kita vielos nuėmiklio alternatyva yra žirklės, nors galutinis rezultatas gali būti nepatogus. Žirklės, liniuotė, rašiklis, pieštukas, peilis „Exacto“(ar kitas rankinis pjovimo įrankis) Tai yra būtini dalykai bet kuriame biure.

4 žingsnis: AVR kodavimo taisyklės

AVR kodavimo sąvokos
AVR kodavimo sąvokos

Garso greičio apskaičiavimas, palyginti su ultragarso jutikliais

Mažai matematikos, bet nebijok. Tai paprasčiau, nei manote.

Garso greitis sausame ore kambario temperatūroje (~ 20 ° C) = 343 metrai per sekundę

Kad garso banga pasiektų ir sugrįžtų į netoliese esantį objektą, yra = 343/2 = 171,5 m/kadangi didžiausias pigaus ultragarso jutiklio nuotolis yra ne didesnis kaip 5 metrai (kelionė pirmyn ir atgal), būtų prasmingiau pakeisti vienetus į centimetrus ir mikrosekundes.

1 skaitiklis = 100 centimetrų 1) = 58.30903790087464 us/cm = 58.31 us/cm (suapvalinama iki dviejų skaitmenų, kad būtų lengviau apskaičiuoti)Todėl laikas, per kurį impulsas nukeliauja į objektą ir atsitraukia 1 centimetru, yra 58,31 mikrosekundė.

mažas AVR laikrodžių ciklų fonas

Norint suprasti AVR laikrodžio ciklus, reikia visiškai kito skyriaus, tačiau trumpai suprasime, kaip tai veikia, kad būtų lengviau apskaičiuoti

Pavyzdžiui, naudosime AVR Draco plokštę, kurioje yra 8 bitų AVR-Atmega328P mikrovaldiklis. Kad viskas būtų paprasta, mes nekeisime mikrovaldiklio nustatymų. Saugiklių antgaliai neliečiami; Nėra išorinio kristalo; Jokio galvos skausmo. Gamykliniuose nustatymuose jis veikia su vidiniu 8MHz osciliatoriumi su a /8 prescaler; Jei viso to nesuprantate, tai tiesiog reiškia, kad mikrovaldiklis veikia 1MHz vidiniu RC osciliatoriumi ir kiekvienas laikrodžio ciklas trunka 1 mikrosekundę.

1 2 1MHz = 1000000 ciklų per sekundę Todėl 1s/1000000 = 1/1000000 = 1us

AVR laikrodžiai ir atstumo konvertavimas

Mes beveik ten! Kai žinome, kaip AVR laikrodžio ciklus paversti garso bangų nuvažiuotu atstumu, logiką programoje įgyvendinti paprasta.

Mes žinome, kad ultragarso garso greitis idealioje aplinkoje yra: 58,31 us/cm

Mes žinome, kad AVR mikrovaldiklio skiriamoji geba yra 1US/laikrodžio ciklas (CLK)

Todėl garso nuvažiuotas atstumas per laikrodžio ciklą (CLK) yra:

1 2 3 = (58,31 us/ cm) x (1us/ clk) = 58,31 laikrodžio ciklas/ cm arba = 1/58,31 cm/ clk

Jei žinomas laikrodžio ciklų skaičius, kurio reikia, kad garsas skleistųsi ir sugrįžtų, mes galime lengvai apskaičiuoti atstumą. Pvz., Jei jutiklis važiuoja ir atšoka 1000 laikrodžio ciklų, atstumas nuo jutiklio iki artimiausio objekto yra = 1000/58,31 = 17,15 cm (apytiksliai)

Ar dabar viskas prasminga? Ne? Perskaitykite dar kartą

Jei suprantate visą aukščiau paminėtą logiką, mes ją įgyvendinsime realaus pasaulio scenarijuje, prijungę nebrangų ultragarsinį jutiklį HC-SR04 prie mūsų AVR „Arduino“plokštės.

5 veiksmas: aparatinės įrangos jungtys:

Techninės įrangos jungtys
Techninės įrangos jungtys
Techninės įrangos jungtys
Techninės įrangos jungtys
Techninės įrangos jungtys
Techninės įrangos jungtys
Techninės įrangos jungtys
Techninės įrangos jungtys

„Arduino Board“leidžia lengvai prijungti bet kokius išorinius jutiklius ir peržiūrėti rezultatus LCD ekrane. Ultragarso diapazono jutimui naudojame nebrangų HC-SR04 modulį. Modulis turi 4 kaiščius, kuriuos galima prijungti prie mikrovaldiklio plokštės: VCC, TRIG, ECHO ir GND.

Prijunkite VCC kaištį prie 5 V ir GND kaiščio prie žemės „Arduino“plokštėje.

TRIG kaištį ir ECHO kaištį galima prijungti prie bet kokių plokštėje esančių kaiščių. Jei siunčiate mažiausiai 10 „aukšto“signalo, kad suaktyvintumėte kaištį, siunčiamos aštuonios 40 kHz garso bangos ir aukštas echo kaištis. Jei garsas atsimuša į netoliese esantį objektą ir grįžta, jis užfiksuojamas priimant keitiklį ir aido kaištis ištraukiamas „žemai“.

Kiti ultragarso jutiklių modulių variantai taip pat galimi tik su 3 kaiščiais. Veikimo principas išlieka tas pats, tačiau trigerio ir aido kaiščių funkcionalumas yra sujungtas į vieną kaištį.

Prijungus „Trigger“ir „Echo Pins“galima konfigūruoti naudojant programinę įrangą. Kad šis pavyzdys būtų paprastas, šiame pavyzdyje nenaudosime jokių pertraukimo kaiščių (arba įvesties fiksavimo kaiščio). Nenaudojant nurodytų pertraukimo kaiščių, taip pat suteikiama laisvė prijungti modulį prie visų prieinamų kaiščių lentoje.

6 žingsnis: kodas

Toliau pateiktame kode yra tik „ultragarsinis“plėtinys nuolatinės srovės variklio valdymui, naudojant ankstesnio straipsnio „H-Bridge“. Kai robotas aptinka priešais esančią kliūtį, jis apsisuka (atsitiktiniu laipsniu) ir toliau juda į priekį. Šią funkciją būtų galima lengvai išplėsti, kad tuo pačiu metu būtų galima apsisukti ir aptikti kliūtis - taigi robotas nesisuktų atsitiktinai, o pradėtų judėti pirmyn tik tada, kai nebus aptiktas objektas.

Norėdami paaiškinti kodą, žiūrėkite „Youtube“vaizdo įrašą, pateiktą kanale.

7 žingsnis: vaizdo įrašas

Žiūrėkite vaizdo įrašą visam procesui.

Rekomenduojamas: