Turinys:

Linijos sekimo robotas, skirtas mokymo algoritmams mokyti: 3 žingsniai
Linijos sekimo robotas, skirtas mokymo algoritmams mokyti: 3 žingsniai

Video: Linijos sekimo robotas, skirtas mokymo algoritmams mokyti: 3 žingsniai

Video: Linijos sekimo robotas, skirtas mokymo algoritmams mokyti: 3 žingsniai
Video: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, Liepa
Anonim
Image
Image
Eilutės sekimo robotas, skirtas mokymo algoritmams mokyti
Eilutės sekimo robotas, skirtas mokymo algoritmams mokyti
Eilutės sekimo robotas, skirtas mokymo algoritmams mokyti
Eilutės sekimo robotas, skirtas mokymo algoritmams mokyti

Šį linijos sekimo robotą sukūriau prieš keletą metų, kai buvau robotikos mokytojas. Šio projekto tikslas buvo išmokyti savo mokinius, kaip koduoti liniją, sekančią robotą varžyboms, taip pat palyginti If/Else ir PID valdymą. Ir ne mažiau svarbu, kaip roboto mechanika ir ilgis veikia šiuos valdymo algoritmus. Tikslas buvo padaryti jį greitesnį ir patikimesnį.

Aš padariau, kad jis būtų užprogramuotas naudojant „Arduino IDE“, tačiau taip pat galima naudoti pageidaujamą kūrimo IDE. Jame yra galingas PIC32 su USB įkrovos įkrovikliu, todėl jums nereikia programuotojo. Jame taip pat yra įjungimo/išjungimo jungiklis, atstatymas ir paleidimo/programos mygtukas. Šviesos diodai yra prijungti prie variklio PWM signalo, todėl galite lengvai matyti naudojamą galią.

Robotas yra visiškai modulinis eksperimentams ir lengvai pataisomas avarijos atveju. Dėl to šis robotas yra puiki priemonė mokytis programuoti labai smagiai. Mano mokiniai jį naudojo ilgą laiką ir kiekvieną kartą išmoko kažką naujo, net PID kontrolės. Jau nekalbant apie tai, kad jutiklio juosta naudoja algoritmą, kad grąžintų sveiką skaičių, neigiama vertė robotas yra kairėje, teigiama dešinėje, o nulis yra linijos centre.

Prekės

2x 6V mikro metaliniai pavarų varikliai su išplėstais atraminiais laikikliais (bet koks pavarų santykis yra tinkamas, mano yra 10: 1)

1x linijos jutiklio plokštė

1x pagrindinis valdymo blokas

1x 20 per plokščią vielą, 1 mm atstumu. Mano ilgis 20 cm.

1x akrilo jungiklis (supjaustytas 3 mm skaidraus akrilo)

1x 1/8 ratuko rutulys (mano metalinis)

2x guminis ratas, 3 cm skersmens.

1x Lipo baterija. Galite maitinti robotą iki 10 V įtampos, tačiau atminkite, kad varikliai yra skirti 6 V įtampai.

Kai kurie M2 varžtai ir veržlės, skirtos viskam pritvirtinti.

Jei norite patys sukurti dizaino failus, schemos ir viskas, ką reikia sukurti, pridedami kitame žingsnyje.

1 žingsnis: Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Kaip matote paveikslėliuose, visi komponentai yra SMD, tai puiki proga praktikuoti litavimo įgūdžius. Šį robotą litavo 3 mano mokiniai, todėl galite tai padaryti be problemų. Visi dizaino failai pridedami, failus galite matyti naudodami EAGLE. Gerberiai taip pat įtraukiami, jei norite, kad plokštės būtų jūsų mėgstamiausio PCB gamintojo.

Abi plokštės yra sujungtos akrilo gabalu, taip pat pridedamas lazeriu pjaustytas modelis. Aš naudoju M2 varžtus ir veržles, kad išlaikyčiau. Čia taip pat yra rutulinis ratukas. Ir jei sudaužysite robotą, akrilas sulaužys ir apsaugos plokštes nuo pažeidimų, idealiai tinka bandymams! Plokščias laidas naudojamas jungčiai tarp procesoriaus ir jutiklio plokštės. Varikliai lengvai prijungiami laidais prie procesoriaus plokštės.

Pastaba: PIC naudoja pasirinktinę programinę įrangą, yra modifikuota originalios DP32 programinės įrangos versija. Firmware galite gauti čia. ICSP jungtis yra CPU plokštės apačioje.

2 žingsnis: programinė įranga

Programinė įranga
Programinė įranga
Programinė įranga
Programinė įranga

Robotui programuoti rekomenduoju naudoti „Arduino IDE“. Kaip jau sakiau anksčiau, šios eilutės sekėjas yra pagrįstas PIC32MX250 ir daro jį suderinamą su „chipKIT DP32“. Jums tereikia įdiegti „chipKIT“paketą „Arduino IDE“paketų tvarkytuvėje ir esate pasiruošę pradėti. Taip pat galite jį užprogramuoti MPLAB arba norimame IDE, tačiau pagrindo galite išmokti naudodami „Arduino“.

Likusi dalis yra kaip bet kurios kitos „Arduino“plokštės programavimas. Prijunkite robotą prie kompiuterio naudodami mikro USB kabelį ir iškart paspaudę programos mygtuką paspauskite „reset“. Tada nusiųskite eskizą naudodami įkėlimo mygtuką IDE.

Į šią pamoką įtraukiau 3 eskizus. Pirmasis išbando jutiklių masyvą, antrasis yra „If/Else“linijos sekėjas, o paskutinis - PID linijos sekėjas. Viskas jau veikia, tačiau jei pakeisite dizainą, turėsite pakoreguoti kai kurias vertes. Ir taip pat nesivaržykite padaryti savo! Yra geresnių būdų, kaip atlikti eilučių sekimo algoritmą, eksperimentai yra sėkmės raktas.

3 žingsnis: eksperimentuokite

Eksperimentuoja
Eksperimentuoja
Eksperimentuoja
Eksperimentuoja
Eksperimentuoja
Eksperimentuoja

Tai tikrai svarbiausia dalis, turėtumėte išbandyti visas galimybes ir rasti tą, kuri jums tinka.

Nesivaržykite eksperimentuoti su skirtingo skersmens ratais ir medžiagomis. Pakeiskite roboto ilgį, pakeisdami akrilo jungtį. Naudokite kitą akumuliatorių, net ir esant kitai įtampai. Jis taip pat gali būti mažesnis arba didesnis. Galbūt kitas variklių pavarų santykis.

Pakeiskite programinę įrangą, kad būtų naudojama mažiau jutiklių, arba net išbandykite kitus algoritmus, galite nustebti, kiek gali pasikeisti našumas. Arba kodėl ne, jei esate patyręs vartotojas, tai darykite naudodami MPLAB.

Dangus yra limitas!

Kaip papildomas patarimas… PID padidinimo derinimas yra įdomi kelionė, kurios metu galite sužinoti apie poveikį robotui, kai sekate liniją su skirtingomis Kp, Kd ir Ki reikšmėmis. Valandos ir valandos mokymosi garantuotos !!! Vaikai nepastebės, kad jie iš tikrųjų naudoja matematiką, kad atliktų visas reikalingas užduotis.

Tikiuosi, kad jums patiks šis pamokomas dalykas, jei jums ko nors reikia, paklauskite manęs komentaruose. Dėkojame, kad perskaitėte:)

Rekomenduojamas: