Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Slediti liniji na tleh je preveč dolgočasno!
Sledilce linij smo poskušali pogledati z drugega zornega kota in jih pripeljati na drugo ravnino - na šolsko tablo.
Poglejte, kaj je iz tega nastalo!
1. korak: Kaj potrebujete?
Za enega dirkalnega robota:
Mehanika:
1 x 2WD miniQ robotsko ohišje; Je večnamenska platforma za ustvarjanje preprostih dvokolesnih robotov
2 x 6V mikro gonilni motor z redukcijskim razmerjem 1: 150; Zobniški motorji, vključeni v platformo robota miniQ, imajo prestavno razmerje 1:50 in so prehitri. Zamenjati jih je treba z močnejšimi motorji, na primer z prestavnim razmerjem 1: 150 ali višjim. Višje kot je prestavno razmerje, počasneje se robot vozi po tabli, manjša pa je možnost zdrsa koles
4 x neodimijski magnet; Potrebujete majhne magnete debeline 3 mm s premerom 12 mm (za tiste z okroglo obliko) ali s stranico 12 mm (za tiste s kvadratno obliko). Tudi magneti morajo imeti luknjo za strojni vijak s potopljeno glavo, običajno za eno M3. Včasih proizvajalci določijo moč magnetne sklopke. Mora biti v razponu od 2 kg do 2,4 kg
Elektronika:
1 x Arduino UNO; Vgrajen računalnik. Najbolj priljubljena platforma za izdelavo prototipov
1 x modul oktoliner; Oči in žarometi vašega dirkaškega bota. Octoliner je senzor hladne linije, sestavljen iz 8 ločenih infrardečih senzorjev, ki se upravljajo prek vmesnika I2C
1 x ščit motorja; Skoraj vsak modul vam ustreza. Ta analogni sem uporabil na osnovi čipa L298p
1 x 2-celična 7,4V LiPo baterija; Lahko daje velik tok, ki ga morajo motorji premagati privlačnost magnetov. Dvocelična baterija ima napetost v razponu od 7,4 do 8,4 V. Dovolj je za motorje 6V in vgrajen regulator napetosti na plošči Arduino. Izberete lahko katero koli zmogljivost. Če je baterija prostorna, dlje robot vozi, vendar upoštevajte, da je lahko preveč velika baterija težka. Kapaciteta v razponu od 800mAh do 1300mAh je optimalna
Razno:
4 x moško-ženska žica;
4 x distančnik M3 ali moški-samica z dolžino 10 mm;
3 x distančnik M3 ali moški-samica z dolžino 25 mm ali več;
4 x vijak z ravno glavo M3x8;
1 x najlonski vijak M3;
1 x M3 najlonska šestroba matica;
Morebitni vijaki M3 in šestkotne matice
Za učilnico:
Magnetna tabla, ki visi na steni;
Debele črne magnetne označevalne plošče;
Poseben polnilnik baterij LiPo ali več polnilnikov, če želite izdelati veliko robotov in jih polniti ločeno
2. korak: Kako sestaviti? Sestavite ohišje
Najprej morate sestaviti platformo podvozja miniQ, ki bo iz kompleta zamenjala motorje z močnejšimi z prestavnim razmerjem 1: 150. Ne pozabite spajkati žic na stike motorja!
3. korak: Kako sestaviti? Namestite magnete
Magnete namestite na platformo miniQ. Uporabljajte stojala M3x10, vijake s ploščatimi vtiči M3x8 ali M3x6 in matice M3. Potrebne luknje za namestitev so prikazane na sliki.
To je pomembno!
Dolžina razdalj mora biti natančno 10 mm. Po namestitvi magnetov preizkusite platformo na tabli. Vsi štirje magneti bi morali biti v bližini magnetne plošče, gumijaste pnevmatike na kolesih platforme miniQ pa morajo biti vnaprej naložene in zagotavljati nekaj trenja s površino plošče.
Robota premaknite po deski. Med vožnjo magneti ne smejo odlepati s plošče. Če se kateri magnet odlepi, to pomeni, da se gumijaste pnevmatike na kolesih obremenijo maksimalno. V tem primeru povečajte razdaljo 10 mm za vsa odstopanja za 1 ali 2 mm, tako da dodate par podložk M3 in poskusite znova.
4. korak: Kako sestaviti? Dodajte elektroniko
Ploščo Arduino UNO namestite na ploščad s pomočjo opornikov M3x25, vijakov M3 in matic M3. Ne uporabljajte kratkih izklopov, pustite nekaj prostora pod ploščo Arduino za žice in baterijo.
Namestite ščit motorja na ploščo Arduino UNO.
Namestite modul Octoliner. Pritisnite ga na ploščad z najlonskim vijakom in matico M3.
To je pomembno!
Za pritrditev oktolinerja ne uporabljajte kovinskih pritrdilnih elementov. Nekatere montažne luknje na odklopni plošči so spajkane in uporabljene kot IO zatiči. Za preprečitev kratkega stika uporabite plastične sponke, na primer najlon.
5. korak: Kako sestaviti? Ožičenje
Povežite vse elektronske komponente, kot je prikazano na diagramu. Modul Octoliner je povezan s 4 žicami (GND, 5V, SDA, SCL) na Arduino UNO. Motorje priključite na ščit motorja. LiPo baterija je povezana s kontaktnimi ploščicami zunanjega napajalnika na ščitniku motorja, pa tudi z VIN zatičem na plošči Arduino. Namesto vtiča VIN lahko na plošči uporabite vtič 5,5 mm x 2,1 mm.
To je pomembno!
Pri uporabi zaščite motorja žice niso potrebne. Dva kanala motorja nadzirata 4 zatiča. Za hitrost vrtenja sta odgovorna 2 zatiča PWM, za smer vrtenja pa 2 DIR zatiča. Običajno so že povezani z določenimi zatiči Arduino Board in njihove indeksne številke se lahko razlikujejo glede na proizvajalca ščita. Za moj motorni ščit so na primer številke D4 D5 (DIR in PWM za prvi kanal) in D7 D6 (DIR in PWM za drugi kanal). Za prvotni ščit Arduino Motor številke zatičev ustrezajo D12 D3 (DIR in PWM za prvi kanal) in D13 D11 (DIR in PWM za drugi kanal).
To je pomembno!
Hobby LiPo baterije nimajo plošče za zaščito pred obratno polariteto! Nenamerno stik pozitivnih in negativnih kontaktov povzroči trajno okvaro baterije ali požar.
6. korak: Kako programirati? XOD
Izdelati program za takega dirkaškega robota je še lažje kot ga sestaviti.
V vseh svojih projektih uporabljam okolje za vizualno programiranje XOD, ki mi omogoča grafično ustvarjanje programov Arduino brez pisanja kode. To okolje je idealno za hitro izdelavo prototipov naprav ali učenje algoritmov za programiranje. Če želite prebrati več, sledite spletni strani dokumentacije XOD.
Če želite programirati tega robota, morate v delovni prostor XOD dodati samo eno knjižnico amperka/oktoliner. To je potrebno za delo z osemkanalnim linijskim senzorjem.
7. korak: Kako programirati? Obliž
Program temelji na principu delovanja PID-regulatorja. Če želite izvedeti, kaj je PID-krmilnik in kako deluje, lahko preberete še en članek na to temo.
Oglejte si obliž z robotskim programom. Poglejmo, katera vozlišča so na njem in kako vse deluje.
oktolinerska linija
To je vozlišče za hiter zagon iz knjižnice amperka/oktoliner XOD, ki predstavlja modul Octoliner, ki sledi liniji. Oddaja "vrednost sledenja liniji", ki je v razponu od -1 do 1. Vrednost 0 kaže, da je linija v sredinskem položaju glede na infrardeče senzorje na plošči Octoliner (med CH3 in CH4). Vrednost -1 ustreza skrajnemu levemu položaju (CH0), 1 pa skrajno desnemu (CH1). V zagonskem vozlišču inicializira senzorje optičnega sklopnika in nastavi njihove privzete parametre svetlosti in občutljivosti. Vhodi za to vozlišče so naslov I2C naprave (ADDR za ploščo Octoliner je 0x1A) in hitrost posodabljanja vrednosti sledenja liniji (UPD), nastavil sem jo neprekinjeno.
Vrednosti za sledenje linij se dovajajo neposredno v vozlišče pid-regulatorja.
pid-regulator
To vozlišče izvaja delo krmilnika PID v XOD. Ciljna vrednost (TARG) zanj je 0. To je stanje, ko je črta točno v središču pod robotom. Če je vrednost sledenja liniji 0, se krmilnik PID ponastavi prek zatiča RST. Če je vrednost sledenja vrstice drugačna od 0, jo krmilnik PID pretvori s koeficienti Kp, Ki, Kd v vrednosti hitrosti motorja. Vrednosti koeficientov so bile izbrane eksperimentalno in enake 1, 0,2 oziroma 0,5. Hitrost posodabljanja (UPD) PID-regulatorja je nastavljena na neprekinjeno.
Obdelana vrednost regulatorja PID se odšteje od 1 in se doda številki 1. To se naredi za desinhronizacijo motorjev, da se vrtijo v nasprotnih smereh, ko se linija izgubi. Vrednost 1 v teh vozliščih predstavlja največjo hitrost motorjev. Hitrost lahko zmanjšate z vnosom nižje vrednosti.
h-bridge-dc-motor
Nekaj teh vozlišč je odgovornih za krmiljenje levega in desnega motorja robota. Tu nastavite vrednosti pin PWM in DIR, prek katerih deluje vaš ščit motorja.
Obližite obliž in preizkusite svojega dirkalnega bota. Če natančno upoštevate navodila za montažo, vam ni treba spreminjati popravka ali prilagajati PID-krmilnika. Navedene nastavitve so povsem optimalne.
Končan program najdete v knjižnici gabbapeople/whiteboard-races