Satura rādītājs:

Līniju sekotāju robots vadības algoritmu mācīšanai: 3 soļi
Līniju sekotāju robots vadības algoritmu mācīšanai: 3 soļi

Video: Līniju sekotāju robots vadības algoritmu mācīšanai: 3 soļi

Video: Līniju sekotāju robots vadības algoritmu mācīšanai: 3 soļi
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Novembris
Anonim
Image
Image
Līnijas sekotāju robots vadības algoritmu mācīšanai
Līnijas sekotāju robots vadības algoritmu mācīšanai
Līnijas sekotāju robots vadības algoritmu mācīšanai
Līnijas sekotāju robots vadības algoritmu mācīšanai

Šo līnijas sekotāju robotu es projektēju pirms dažiem gadiem, kad biju robotikas skolotājs. Šī projekta mērķis bija iemācīt saviem skolēniem, kā kodēt līniju sekojošo robotu sacensībām, kā arī salīdzināt If/Else un PID kontroli. Un ne mazāk svarīgi, kā robota mehānika un garums ietekmē šos vadības algoritmus. Mērķis bija padarīt to ātrāku un uzticamāku.

Es to ieprogrammēju ar Arduino IDE, bet ir iespējams izmantot arī vēlamo izstrādes IDE. Tam ir jaudīgs PIC32 ar USB sāknēšanas ielādētāju, tāpēc jums nav nepieciešams programmētājs. Tam ir arī ON/OFF slēdzis, atiestatīšana un startēšanas/programmas poga. Gaismas diodes ir savienotas ar motora PWM signālu, lai jūs varētu viegli redzēt jaudu.

Robots ir pilnībā modulārs eksperimentiem un viegli salabojams, ja ar to noticis negadījums. Tas padara šo robotu par ideālu rīku programmēšanas mācīšanai ļoti jautrā veidā. Mani skolēni to bija izmantojuši ilgu laiku un katru reizi iemācījās kaut ko jaunu, pat PID kontroli. Nemaz nerunājot par to, ka sensora josla izmanto algoritmu, lai atgrieztu veselu skaitli, negatīvā vērtība robots atrodas kreisajā pusē, pozitīvais labajā pusē un nulle ir līnijas centrā.

Piegādes

2x 6V mikrometāla pārnesumkārbas ar pagarinātiem atbalsta kronšteiniem (jebkura pārnesumu attiecība ir ok, manējā ir 10: 1)

1x līnijas sensora panelis

1x galvenais vadības bloks

1x 20, izmantojot plakanu vadu, 1 mm atstarpe. Manējais ir 20 cm garš.

1x akrila saite (sagriezta 3 mm caurspīdīgā akrilā)

1x 1/8 ritentiņu bumba (mana ir metāla)

2x gumijas ritenis, 3 cm diametrā.

1x Lipo akumulators. Jūs varat darbināt robotu līdz 10 V, taču paturiet prātā, ka motori ir paredzēti 6 V.

Dažas M2 skrūves un uzgriežņi visu savienošanai.

Ja vēlaties izveidot savus dizaina failus, nākamajā darbībā ir pievienotas shēmas un viss, lai to izveidotu.

1. darbība: aparatūra

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

Kā redzat attēlos, visas sastāvdaļas ir SMD, tā ir lieliska iespēja praktizēt savas lodēšanas prasmes. Šo robotu pielodēja 3 mani studenti, tāpēc jūs varat to izdarīt bez problēmām. Visi dizaina faili ir pievienoti, jūs varat redzēt failus ar EAGLE. Gerbers ir iekļauts arī tad, ja vēlaties, lai dēļi būtu jūsu iecienītākajam PCB ražotājam.

Abi dēļi ir savienoti kopā ar akrila gabalu, iekļauts arī lāzera griezuma raksts. Es izmantoju M2 skrūves un uzgriežņus, lai to noturētu. Šeit ir ievietots arī lodīšu ritentiņš. Un, ja jūs sasitīsit robotu, akrils salūzīs un aizsargās dēļus no bojājumiem, ideāli piemērots testēšanai! Plakano vadu izmanto, lai izveidotu savienojumu starp CPU un sensora paneli. Motori ir viegli savienojami ar vadiem CPU panelī.

Piezīme: PIC izmanto pielāgotu programmaparatūru, tā ir modificēta sākotnējās DP32 programmaparatūras versija. Jūs varat iegūt programmaparatūru šeit. CPU plates apakšā ir iekļauts ICSP savienojums.

2. darbība: programmatūra

Programmatūra
Programmatūra
Programmatūra
Programmatūra

Robota programmēšanai iesaku izmantot Arduino IDE. Kā es jums teicu, šīs līnijas sekotājs ir balstīts uz PIC32MX250, un tas padara to saderīgu ar mikroshēmu DP32. Jums tikai jāinstalē chipKIT pakotne Arduino IDE pakotņu pārvaldniekā, un jūs esat gatavs darbam. Arī jūs varat to ieprogrammēt MPLAB vai IDE, kuru vēlaties, bet jūs varat uzzināt pamatu, izmantojot Arduino.

Pārējais ir kā jebkuras citas Arduino plates programmēšana. Pievienojiet robotu datoram, izmantojot mikro USB kabeli, un tūlīt pēc atiestatīšanas nospiediet programmas pogu. Pēc tam nosūtiet skici ar augšupielādes pogu IDE.

Šajā apmācībā esmu iekļāvis 3 skices. Pirmais pārbauda sensoru masīvu, otrais ir If/Else līnijas sekotājs, bet pēdējais ir PID līnijas sekotājs. Viss jau darbojas, tomēr, mainot dizainu, jums būs jāpielāgo dažas vērtības. Un arī jūtieties brīvi darīt savu! Ir labāki veidi, kā veikt rindas sekotāja algoritmu, eksperimenti ir panākumu atslēga.

3. darbība: eksperimentēšana

Eksperimentējot
Eksperimentējot
Eksperimentējot
Eksperimentējot
Eksperimentējot
Eksperimentējot

Šī patiešām ir vissvarīgākā daļa, jums vajadzētu izmēģināt visas iespējas un atrast sev piemērotāko.

Jūtieties brīvi eksperimentēt ar dažāda diametra riteņiem un materiāliem. Mainiet robota garumu, mainot akrila savienojumu. Izmantojiet citu akumulatoru pat ar citu spriegumu. Tas var būt arī mazāks vai lielāks. Varbūt vēl viens pārnesumskaitlis motoriem.

Pārveidojiet programmatūru, lai izmantotu mazāk sensoru vai pat izmēģinātu citus algoritmus, jūs varat būt pārsteigts, cik ļoti var mainīties veiktspēja. Vai arī kāpēc ne, ja esat pieredzējis lietotājs, dariet to ar MPLAB.

Debesis ir robeža!

Kā papildu padoms… PID pieauguma regulēšana ir aizraujošs ceļojums, kurā jūs varat uzzināt ietekmi uz robotu, sekojot līnijai ar dažādām Kp, Kd un Ki vērtībām. Mācību stundas un stundas garantētas !!! Bērni nepamanīs, ka viņi faktiski izmanto matemātiku, lai veiktu visus nepieciešamos uzdevumus.

Es ceru, ka jums patiks šī pamācība, ja jums kaut kas nepieciešams, jautājiet man komentāros. Paldies, ka izlasījāt:)

Ieteicams: