Sadržaj:

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

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

Video: Robot koji prati liniju zasnovanu na PID-u sa nizom senzora POLOLU QTR 8RC: 6 koraka (sa slikama)
Video: Robot koji ostavlja bez daha 2024, Juli
Anonim
Robot koji prati liniju zasnovanu na PID-u sa nizom senzora POLOLU QTR 8RC
Robot koji prati liniju zasnovanu na PID-u sa 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 zasnovanu na PID-u nakon robota pomoću QTR-8RC senzorskog niza.

Prije nego što pređemo na izgradnju robota, moramo razumjeti ono što se naziva PID,

Korak 1: Princip rada

Šta je PID ??

Izraz PID označava proporcionalni, integralni, izveden. Pa jednostavno, ono što radimo s uključivanjem PID -a sa sljedećom linijom je, dajemo naredbu robotu da prati liniju i otkrije zavoje izračunavanjem greške uzimajući u obzir kako daleko se pomerilo sa staze.

ključni pojmovi navedeni u polalu dokumentima

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 zbir svih vrijednosti proporcionalnog pojma koje su zabilježene od početka rada robota

Derivat je stopa promjene proporcionalne vrijednosti

U ovom vodiču govorit ćemo samo o Kp i Kd izrazima, 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, istovremeno, pruža i informacije o tome koliko se robot udaljio od linije.)

Sada moramo razmotriti pojam greške, ovo je razlika dvije vrijednosti zadane vrijednosti i trenutne vrijednosti. (Vrijednost zadane vrijednosti je očitanje koje odgovara "savršenom" postavljanju 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 licu mjesta, oko 0 ako ste previše lijevi od linija i oko 7000 ako ste previše u pravu.). Naš cilj je da greška bude nula. Tek tada robot može glatko slijediti liniju.

Zatim slijedi proračunski dio,.

1) izračunajte grešku.

Greška = Vrijednost zadane vrijednosti - Trenutna vrijednost = 3500 - pozicija

Koristim 8 senzora. senzor daje pozicijsko očitanje od 3500 kada je robot savršeno postavljen. Sada kada smo izračunali našu grešku, marginu za koju naš robot prelazi preko kolosijeka, vrijeme je da ispitamo greš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, greška 0 znači da je naš robot lijevo, što znači da naš robot mora ići malo udesno, što zauzvrat znači da se desni motor mora usporiti, a lijevi motor ubrzati. OVO JE PID!

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

Kôd koji sam priložio uključuje i kako provjeriti pozicijske vrijednosti senzora, tako da možete otvoriti serijski monitor i učitati kôd te se linijom uvjeriti kako se motori okreću kada se položaj mijenja.

Ako naiđete na probleme prilikom implementacije 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ši način da to odredim.

  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 pratiti liniju čak i ako je klimava, ako robot pređe 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, podesite vrijednost Kd (vrijednost Kd> vrijednost Kp) počnite od 1 i povećavajte vrijednost sve dok ne vidite glatku vožnju s manjim kolebanjem.
  3. Kada 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 podešavanje PID -a i da ćete ponekad morati ponovno podesiti brzinu vašeg robota.

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

Korak 2: Izgradnja

The Build
The Build
The Build
The Build
The Build
The Build

Arduino atmega 2560 sa USB kablom - ovo je glavni mikrokontroler koji se koristi.

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

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

Mikrometalni zupčasti motori- robotu su bili potrebni brzo rotirajući motori kako bi se nosio s PID rutinom, za to sam koristio motore snage 6V 400rpm 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 biblioteka 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 se signal PWM-a smanji.

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 koji je potreban 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 konverter 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 treba uspostaviti veze.

Korak 4: Dizajnirajte svoju linijsku stazu

Dizajnirajte svoju linijsku stazu
Dizajnirajte svoju linijsku stazu

Čini se da je vaš projekt skoro završen. Jer za posljednju fazu morate imati malu arenu za testiranje svog robota. Koristio sam slučajnu liniju širine 3 cm bijele linije na crnoj podlozi. Uvjerite se da ste sve dobro zalijepili. I za sada izbjegavajte kutne presjeke i presjeke od 90 stepeni, jer je to komplikovan 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 biblioteke.

·

· 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čuje se: