Sadržaj:
- Korak 1: Princip rada
- Korak 2: Izgradnja
- Korak 3: Sklapanje
- Korak 4: Dizajnirajte svoju linijsku stazu
- Korak 5: Programirajte svoj kôd
- Korak 6: GOTOVO
Video: Robot koji prati liniju temeljenu na PID-u s nizom senzora POLOLU QTR 8RC: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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.
- 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.
- 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.
- 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
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
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
Č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
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:
Arduino - Robot za rješavanje labirinta (mikro miš) Robot koji prati zid: 6 koraka (sa slikama)
Arduino | Robot za rješavanje labirinta (MicroMouse) Zidni robot: Dobro došli, ja sam Isaac i ovo je moj prvi robot "Striker v1.0". Ovaj je robot dizajniran za rješavanje jednostavnog labirinta. Na natjecanju smo imali dva labirinta i robota uspio ih je identificirati. Sve druge promjene u labirintu mogu zahtijevati promjenu
Kid's Quad hakiranje u vozilo koje se samostalno vozi, prati liniju i otkriva prepreke: 4 koraka
Kid's Quad hakiranje u vozilo koje se samostalno vozi, prati liniju i otkriva prepreke. U današnjem Instructableu pretvorit ćemo električni dječji quad od 1000 W (da, znam da je puno!) U vozilo koje se samostalno vozi, prati liniju i izbjegava prepreke! Demo video: https: //youtu.be/bVIsolkEP1kZa ovaj projekt trebat će nam sljedeći materijali
Napredni robot koji prati liniju: 22 koraka (sa slikama)
Robot za praćenje naprednih linija: Ovo je napredni robot koji prati liniju temeljen na Teensy 3.6 i QTRX linijskom senzoru koji sam izgradio i na kojem radim već duže vrijeme. Postoje neka velika poboljšanja u dizajnu i performansama od mojih ranijih robota koji slijede. T
Kako napraviti kućnu automatizaciju temeljenu na IoT -u s upravljačkim relejem senzora NodeMCU: 14 koraka (sa slikama)
Kako napraviti kućnu automatizaciju temeljenu na IoT-u s upravljačkim relejem NodeMCU senzora: U ovom projektu temeljenom na IoT-u napravio sam kućnu automatizaciju s modulom upravljačkog releja Blynk i NodeMCU s povratnom informacijom u stvarnom vremenu. U ručnom načinu rada, ovim relejnim modulom može se upravljati s mobitela ili pametnog telefona i, ručnim prekidačem. U automatskom načinu rada ovaj pametniji
Robot koji prati liniju pomoću TIVA mikrokontrolera TM4C1233H6PM: 3 koraka
Robot za praćenje linija pomoću TIVA mikrokontrolera TM4C1233H6PM: Robot za praćenje linija svestran je stroj koji se koristi za otkrivanje i uklanjanje tamnih linija koje su iscrtane na bijeloj površini. Budući da se ovaj robot proizvodi pomoću matične ploče, bit će ga iznimno lako izgraditi. Ovaj sustav se može spojiti unutar