Sadržaj:
Video: Samobalansirajući robot - PID kontrolni algoritam: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Ovaj projekt je zamišljen jer sam bio zainteresiran za saznanje više o kontrolnim algoritmima i kako učinkovito implementirati funkcionalne PID petlje. Projekt je još uvijek u fazi razvoja jer Bluetooth modul tek treba biti dodat, što će omogućiti kontrolu nad robotom sa pametnog telefona s omogućenim Bluetooth -om.
Korišteni istosmjerni motori N20 bili su relativno jeftini i stoga imaju znatnu količinu igre. To dovodi do male količine trzanja jer motori prevladavaju „labavost“jer primjenjuje okretni moment na kotače. Stoga je gotovo nemoguće postići savršeno glatko kretanje. Kod koji sam napisao je prilično jednostavan, ali efikasno demonstrira mogućnosti PID algoritma.
Sažetak projekta:
Šasija robota je 3D štampana pomoću štampača Ender 3 i dizajnirana je za međusobno prešanje.
Robotom upravlja Arduino Uno koji uzima podatke senzora iz MPU6050 i kontrolira istosmjerne motore putem vanjskog upravljačkog programa motora. Radi na 7,4V, 1500mAh bateriji. Vozač motora regulira ovo na 5V za napajanje Arduina i napaja 7.4V motore.
Softver je napisan od nule uz pomoć biblioteka 'Arduino-KalmanFilter-master' i 'Arduino-MPU6050-master' iz gitHub-a.
Potrošni materijal:
- 3D štampani delovi
- Arduino UNO
- MPU6050 6-osni osjetnik
- DC vozač motora
- N20 DC motori (x2)
- 9V baterija
Korak 1: Izrada robota
Štampanje i montaža
Cijela konstrukcija bi trebala biti uklopljena pritiskom, ali koristio sam super ljepilo za pričvršćivanje komponenti kako bi robot bio potpuno čvrst pri balansiranju.
Dizajnirao sam dijelove u Fusion 360 i optimizirao svaki dio za štampanje bez nosača kako bi se omogućila stroža odstupanja i čistija površina.
Postavke korištene na pisaču Ender 3 bile su: 0,16 mm visine slojeva @ 40% ispune za sve dijelove.
Korak 2: Robot za 3D štampanje
Šasija (x1)
Lijevi kotač (x2)
Lijevo kućište motora (x2)
Arduino kućište (x1)
Korak 3: Algoritam PID kontrole
Napisao sam PID kontrolni algoritam od nule koristeći biblioteke 'Arduino-KalmanFilter-master' i 'Arduino-MPU6050-master' sa gitHub-a.
Pretpostavka Algoritma je sljedeća:
- Pročitajte neobrađene podatke sa MPU6050
- Upotrijebite Kalmanov filter za analizu podataka i sa žiroskopa i sa akcelerometra kako biste poništili netočnosti u očitanjima žiroskopa zbog ubrzanja senzora. Ovo vraća relativno uglađenu vrijednost visine senzora u stupnjevima na dvije decimale.
- Izračunajte grešku u kutu, to jest: kut između senzora i zadane vrijednosti.
- Izračunajte proporcionalnu grešku kao (Konstanta proporcionalnosti x greška).
- Izračunajte integralnu grešku kao tekući zbir (konstanta integracije x greška).
- Izračunaj grešku izvedenice kao konstantu kao [(Diferencijalna konstanta) x (Promjena greške / Promjena vremena)]
- Zbrojite sve greške kako biste dobili izlaznu brzinu koja se šalje motorima.
- Izračunajte smjer okretanja motora na osnovu predznaka kuta greške.
- Petlja će raditi neograničeno dugo i nadograđivat će se na izlazu kako ulaz varira. To je povratna sprega, koja koristi izlazne vrijednosti kao nove ulazne vrijednosti za sljedeću iteraciju.
Posljednji korak je podešavanje parametara Kp, Ki & Kd PID petlje.
- Dobro polazište je polako povećavati Kp sve dok robot ne oscilira oko točke ravnoteže i ne uhvati pad.
- Zatim pokrenite Kd na oko 1% vrijednosti Kp i polako povećavajte dok oscilacije ne nestanu i robot glatko klizi kada se pritisne.
- Konačno, počnite s Ki oko 20% Kp i mijenjajte se sve dok robot "ne prekorači" zadanu vrijednost kako bi aktivno uhvatio pad i vratio se u vertikalu.
Preporučuje se:
Samobalansirajući robot iz Magicbita: 6 koraka
Samobalansirajući robot iz Magicbita: Ovaj vodič prikazuje kako napraviti samobalansirajućeg robota koristeći Magicbit dev ploču. Koristimo magicbit kao razvojnu ploču u ovom projektu koji se temelji na ESP32. Stoga se u ovom projektu može koristiti bilo koja razvojna ploča ESP32
Samobalansirajući robot na dva kotača: 7 koraka
Samobalansirajući robot s dva kotača: Ovaj instruktor će proći proces projektiranja i izgradnje samobalansirajućeg robota. Kao napomenu, samo želim reći da samobalansirajući roboti nisu novi koncept i da su ih drugi izgradili i dokumentirali. Želim iskoristiti ovu priliku
HeadBot-samobalansirajući robot za STEM učenje i Outreach: 7 koraka (sa slikama)
HeadBot-samobalansirajući robot za učenje i informiranje o STEM-u: Headbot-robot sa samo balansom visok dva metra-zamisao je tima South Eugene Robotics Team (SERT, FRC 2521), takmičarskog tima za robotiku u srednjim školama Robotics Competition, iz Eugene, Oregon. Ovaj popularni terenski robot čini
Samobalansirajući robot sa 2 kotača: 4 koraka
Robot za samo balansiranje na 2 kotača: Po mom skromnom mišljenju niste pravi tvorac, osim ako ne izgradite svog vlastitog robota za uravnoteženje na 2 kotača. :-) Dakle, evo ga … i, što je najvažnije, radi !!! Ovaj projekt izgleda vrlo jednostavno. Umjesto toga, potreban je dobar nivo znanja o
Samobalansirajući robot: 6 koraka (sa slikama)
Samobalansirajući robot: U ovom Instructable-u pokazat ćemo vam kako izgraditi samobalansirajućeg robota koji smo napravili kao školski projekt. Zasnovan je na nekim drugim robotima, poput nBot -a i drugog Instructable -a. Robotom se može upravljati sa Android pametnog telefona