Sadržaj:

Robot koji prati liniju temeljenu na PID-u s nizom senzora POLOLU QTR 8RC: 6 koraka (sa slikama)
Robot koji prati liniju temeljenu na PID-u s nizom senzora POLOLU QTR 8RC: 6 koraka (sa slikama)

Video: Robot koji prati liniju temeljenu na PID-u s nizom senzora POLOLU QTR 8RC: 6 koraka (sa slikama)

Video: Robot koji prati liniju temeljenu na PID-u s nizom senzora POLOLU QTR 8RC: 6 koraka (sa slikama)
Video: Asuro robot prati liniju.avi 2024, Studeni
Anonim
Robot koji slijedi PID liniju s nizom senzora POLOLU QTR 8RC
Robot koji slijedi PID liniju s nizom senzora POLOLU QTR 8RC

Zdravo!

ovo je moje prvo pisanje o instrukcijama, a danas ću vas odvesti na put i objasniti vam kako ojačati liniju temeljenu na PID-u nakon robota pomoću niza senzora QTR-8RC.

Prije nego krenemo u izgradnju robota, moramo razumjeti ono što se naziva PID,

Korak 1: Princip rada

Što je PID ??

Izraz PID označava proporcionalni, integralni, izvedenicu. Pa jednostavno, ono što radimo s uključivanjem PID -a sa sljedećom linijom je, dajemo naredbu robotu da prati liniju i detektira zavoje izračunavajući pogrešku uzimajući u obzir kako daleko se pomaknuo s kolosijeka.

ključni pojmovi navedeni u dokumentima polalu

Proporcionalna vrijednost približno je proporcionalna položaju vašeg robota u odnosu na liniju. Odnosno, ako je vaš robot točno centriran na liniji, očekujemo proporcionalnu vrijednost točno 0

Integralna vrijednost bilježi povijest kretanja vašeg robota: to je zbroj svih vrijednosti proporcionalnog pojma koje su zabilježene od početka rada robota

Derivat je stopa promjene proporcionalne vrijednosti

U ovom ćemo vodiču govoriti samo o Kp i pojmovima Kd, međutim, rezultati se mogu postići i pomoću izraza Ki. očitanja koja dobivamo sa senzora nisu samo analogna očitanja, već i pozicijska očitanja robota..tako u osnovi Senzor daje vrijednosti od 0 do 2500 u rasponu od maksimalne refleksije do minimalne refleksije, ali, u isto vrijeme, također pruža informacije o tome koliko se robot udaljio od linije.)

Sada moramo razmotriti pojam pogreške, ovo je razlika dvije vrijednosti zadane vrijednosti i trenutne vrijednosti. (Vrijednost zadane vrijednosti je očitanje koje odgovara "savršenom" položaju senzora na vrhu redaka. I vrijednost je trenutno očitanje senzora. Na primjer: Ako koristite ovaj senzor niza i koristite 8 senzora, primit ćete pozicijsko očitanje od 3500 ako ste na mjestu, oko 0 ako ste previše lijevo od linija i oko 7000 ako ste previše u pravu.). Naš cilj je pogreška biti nula. Tek tada robot može glatko slijediti liniju.

Zatim dolazi dio izračuna,.

1) izračunati pogrešku.

Pogreška = Vrijednost zadane vrijednosti - Trenutna vrijednost = 3500 - položaj

Koristim 8 senzora. senzor daje pozicijsko očitanje od 3500 kada je robot savršeno postavljen. Sada kada smo izračunali svoju pogrešku, granicu za koju naš robot prelazi preko kolosijeka, vrijeme je da ispitamo pogrešku i prilagodimo brzine motora u skladu s tim

2) odrediti prilagođene brzine motora.

MotorSpeed = Kp * Greška + Kd * (Greška - LastError);

LastError = Greška;

RightMotorSpeed = RightBaseSpeed + MotorSpeed;

LeftMotorSpeed = LeftBaseSpeed - MotorSpeed;

Logično govoreći, pogreška 0 znači da je naš robot lijevo, što znači da naš robot mora ići malo udesno, što opet znači da se desni motor mora usporiti, a lijevi ubrzati. OVO JE PID!

MotorSpeed vrijednost određuje se iz same jednadžbe. RightBaseSpeed i LeftBaseSpeed su brzine (bilo koje vrijednosti PWM 0-255) pri kojima robot radi kad je pogreška nula.

Kôd koji sam priložio također uključuje način provjere položaja položaja senzora, tako da možete otvoriti serijski monitor i učitati kôd te se linijom uvjeriti kako se motori okreću kad se položaj mijenja.

Ako naiđete na probleme pri implementaciji svog robota, samo provjerite da li i vidite promjenom znakova jednadžbi !!!

A sada najteži dio PRONAĐENJA Kp I Kd, morao sam potrošiti više od 1 sata da savršeno prilagodim svog robota. Umjesto stavljanja slučajnih vrijednosti, našao sam lakšu metodu za to.

  1. Počnite s kp i Kd jednakim 0, a počnite s Kp, prvo pokušajte postaviti Kp na 1 i promatrajte robota, naš cilj je slijediti liniju čak i ako je klimava, ako robot pretekne i izgubi liniju, smanjite vrijednost kp.ako robot ne može navigirati skretanjem i ako je spor, povećava vrijednost Kp.
  2. Kad se čini da robot pomalo slijedi liniju, prilagodite vrijednost Kd (vrijednost Kd> vrijednost Kp) počnite od 1 i povećavajte vrijednost dok ne vidite glatki pogon s manjim titranjem.
  3. Nakon što robot počne pratiti liniju, povećajte brzinu i provjerite može li zadržati i slijediti liniju.

Imajte na umu da brzina ima izravan utjecaj na PID ugađanje i ponekad ćete se morati ponovno prilagoditi brzini vašeg robota.

Sada možemo prijeći na izgradnju našeg robota.

Korak 2: Izgradnja

Izgradnja
Izgradnja
Izgradnja
Izgradnja
Izgradnja
Izgradnja

Arduino atmega 2560 s USB kabelom - ovo je glavni korišteni mikrokontroler.

Šasija- za šasiju robota koristio sam 2 kružne akrilne ploče koje se koriste za drugi projekt koji je savršen za ovo. Pomoću matica i vijaka izgradio sam dvokatnu šasiju, tako da mogu pričvrstiti druge module na gornju ploču.ili možete koristiti gotove šasije dostupne.

www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…

Motori s mikrometalnim zupčanicima- robotu su bili potrebni brzo rotirajući motori kako bi se nosio s rutinom PID-a, za to sam koristio motore snage 6V 400 o / min i odgovarajuće grip kotače.

www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…

www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…

QTR 8Rc senzorski niz - ovo se može koristiti za praćenje linija, kao što je ranije spomenuto. Mislim da ste sada jasno razumjeli kako upravljati nizom senzora s PID -om. Kôd je vrlo jednostavan i pomoću postojećih arduino knjižnica moći ćete za izgradnju brzog sljedbenika linija.

www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…

TB6612FNG Vozač motora-htio sam upotrijebiti upravljački program motora koji u trenu može upravljati zavojima i mijenjati smjer, koji je sposoban učinkovito kočiti motore kada je signal PWM oslabio.

www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…

Lipo baterija- Lipo baterija od 11,1 V koristi se za napajanje robota. Iako sam koristio lipo bateriju od 11,1 V, ovaj kapacitet je veći od onog što je potrebno za arduino i motore. Ako možete pronaći lagane 7,4 V lipo baterija ili 6V Ni-MH baterija bit će savršena. Zbog toga moram koristiti pretvarač u dolarima za pretvaranje napona u 6V.

11.1V-

7.4 V-

Modul pretvarača dolara-https://www.ebay.com/itm/1PCS-DC-DC-LM2596-power-…

Osim toga, potrebne su vam kratkospojne žice, matice i vijci, odvijači i električne trake, a također i patentni zatvarači kako biste bili sigurni da je sve na svom mjestu.

Korak 3: Sklapanje

Sklapanje
Sklapanje
Sklapanje
Sklapanje
Sklapanje
Sklapanje
Sklapanje
Sklapanje

pričvrstite motore i mali kotač u ploču pomoću matica i vijaka, a zatim montirajte QTR senzor, upravljački program motora, arduino ploču i na kraju bateriju na šasiju.

Evo savršenog dijagrama koji sam pronašao na internetu, koji vam govori kako bi se veze trebale uspostaviti.

Korak 4: Dizajnirajte svoju linijsku stazu

Dizajnirajte svoju linijsku prugu
Dizajnirajte svoju linijsku prugu

Čini se da je vaš projekt gotovo gotov. Jer za posljednju fazu morate imati malu arenu za testiranje svog robota. Koristio sam slučajnu liniju širine 3 cm bijele crte na crnoj podlozi. Pobrinite se da sve dobro zalijepite i zasad izbjegavajte kutne presjeke i presjeke od 90 stupnjeva, jer je to kompliciran slučaj u smislu kodiranja.

Korak 5: Programirajte svoj kôd

1. Preuzmite i instalirajte Arduino

Desktop IDE

· Prozori -

· Mac OS X -

· Linux -

2. Preuzmite i zalijepite datoteku niza QTR 8 RC senzora u mapu Arduino knjižnice.

·

· Zalijepite datoteke na putanju - C: / Arduino / libraries

3. Preuzmite i otvoriteLINEFOLLOWING.ino

4. Prenesite kôd na arduino ploču putem USB kabela

Korak 6: GOTOVO

Image
Image

sada imate robota koji prati liniju koji ste sami napravili.

Nadam se da vam je ovaj vodič bio od pomoći. Ne ustručavajte se kontaktirati me putem [email protected] ako imate bilo kakvih problema.

vidimo se uskoro s još jednim novim projektom.

Uživajte u izgradnji !!

Preporučeni: