Sisukord:
Video: Isetasakaalustav robot - PID -juhtimisalgoritm: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
See projekt loodi, kuna olin huvitatud rohkem juhtimisalgoritmide tundmaõppimisest ja funktsionaalsete PID -ahelate tõhusast rakendamisest. Projekt on alles arendusfaasis, kuna Bluetooth -moodul on veel lisamata, mis võimaldab robotit juhtida Bluetooth -toega nutitelefonist.
Kasutatud N20 alalisvoolumootorid olid suhteliselt odavad ja seetõttu on neil märkimisväärne mäng. See toob kaasa väikese tõmbluse, kuna mootorid ületavad "lõtku", kuna see rakendab ratastele pöördemomenti. Seega on peaaegu võimatu saavutada täiesti sujuvat liikumist. Minu kirjutatud kood on suhteliselt lihtne, kuid demonstreerib tõhusalt PID -algoritmi võimalusi.
Projekti kokkuvõte:
Roboti šassii on 3D-trükitud, kasutades Ender 3 printerit ja see on mõeldud kokku pressimiseks.
Robotit juhib Arduino Uno, mis võtab MPU6050 andurite andmed ja juhib alalisvoolumootoreid välise mootoridraiveri kaudu. See töötab 7,4 V, 1500 mAh akuga. Mootorijuht reguleerib seda Arduino toiteks 5 V -ni ja toidab mootoreid 7,4 V -ga.
Tarkvara kirjutati nullist gitHubi raamatukogude Arduino-KalmanFilter-master ja Arduino-MPU6050-master abil.
Tarvikud:
- 3D trükitud osad
- Arduino UNO
- MPU6050 6-teljeline andur
- DC mootorijuht
- N20 DC mootorid (x2)
- 9V aku
Samm: robotite ehitamine
Trükkimine ja kokkupanek
Kogu konstruktsioon peaks olema pressitud, kuid komponentide kinnitamiseks olen kasutanud superliimi, et robot oleks tasakaalustamisel täiesti jäik.
Olen projekteerinud osad Fusion 360 -s ja optimeerinud iga osa ilma toeta printimiseks, et võimaldada rangemaid tolerantse ja puhtamat pinnaviimistlust.
Ender 3 printeris kasutati järgmisi sätteid: 0,16 mm kihi kõrgused ja kõigi osade täitmine 40%.
Samm: 3D -printimisrobot
Šassii (x1)
Vasak ratas (x2)
Vasak mootorikorpus (x2)
Arduino ümbris (x1)
3. samm: PID -i juhtimisalgoritm
Olen nullist kirjutanud PID-juhtimisalgoritmi, kasutades gitHubi raamatukogusid 'Arduino-KalmanFilter-master' ja 'Arduino-MPU6050-master'.
Algoritmi eeldus on järgmine:
- Lugege lähteandmeid MPU6050 -st
- Kasutage Kalmani filtrit, et analüüsida nii güroskoobi kui ka kiirendusmõõturi andmeid, et kõrvaldada güroskoobi näitude ebatäpsused anduri kiirenduse tõttu. See tagastab anduri sammu suhteliselt silutud väärtuse kraadides kahe kümnendkoha täpsusega.
- Arvutage E rror nurga all, st: nurk anduri ja seadepunkti vahel.
- Arvutage proportsionaalne viga järgmiselt (Proportsionaalsuse konstant x viga).
- Arvutage integraalviga (Integratsiooni konstant x viga) jooksva summana.
- Arvuta tuletusviga konstantsena kui [(diferentseerimiskonstant) x (vea muutus / aja muutus)]
- Summeerige kõik vead, et anda mootoritele saadetav kiiruse väljund.
- Arvutage veanurga märgi põhjal, millises suunas mootoreid pöörata.
- Tsükkel töötab lõputult ja põhineb väljundil, kuna sisend varieerub. See on tagasisideahel, mis kasutab väljundväärtusi uue sisendväärtusena järgmiseks iteratsiooniks.
Viimane samm on häälestada PID -ahela Kp, Ki & Kd parameetrid.
- Hea lähtepunkt on aeglaselt suurendada Kp -d, kuni robot võngub tasakaalupunkti ümber ja suudab kukkuda.
- Seejärel alustage Kd umbes 1% Kp väärtusest ja suurendage aeglaselt, kuni võnkumised kaovad ja robot libiseb tõrgeteta.
- Lõpuks alustage Ki -ga umbes 20% Kp -st ja muutke, kuni robot "ületab" seadepunkti, et aktiivselt kukkumist tabada ja naasta vertikaali.
Soovitan:
Isetasakaalustav robot Magicbitist: 6 sammu
Magicbiti isetasakaalustav robot: see õpetus näitab, kuidas teha Magicbit dev tahvli abil isetasakaalustav robot. Selles projektis, mis põhineb ESP32 -l, kasutame arendusplaadina magicbitit. Seetõttu saab selles projektis kasutada mis tahes ESP32 arendusplaati
Kaherattaline isetasakaalustav robot: 7 sammu
Kaherattaline isetasakaalustav robot: see juhend juhendab isetasakaalustava roboti projekteerimis- ja ehitusprotsessi. Märkusena tahan lihtsalt öelda, et isetasakaalustavad robotid ei ole uus kontseptsioon ning need on ehitatud ja dokumenteeritud teiste poolt. Ma tahan seda võimalust kasutada
HeadBot-isetasakaalustav robot STEM-i õppimiseks ja teavitamiseks: 7 sammu (piltidega)
HeadBot-isetasakaalustav robot STEM-i õppimiseks ja teavitamiseks: Headbot-kahe jala kõrgune isetasakaalustav robot-on ESIMENE konkurentsivõimelise keskkooli robootikameeskonna Lõuna-Eugene'i robootikameeskonna (SERT, FRC 2521) idee. Robootikavõistlus, Eugene, Oregon. See populaarne teavitusrobot muudab
2 ratastega isetasakaalustav robot: 4 sammu
2 ratastega isetasakaalustav robot: minu tagasihoidliku arvamuse kohaselt ei ole te tõeline tegija, kui te ei ehita oma kaherattalist isetasakaalutavat robotit. :-) Niisiis, siin see on … ja mis kõige tähtsam, see töötab !!! See projekt tundub väga lihtne. Selle asemel nõuab see häid teadmisi
Isetasakaalustav robot: 6 sammu (piltidega)
Isetasakaalustav robot: selles juhendis näitame teile, kuidas ehitada kooliprojektina valmistatud isetasakaalustav robot. See põhineb mõnedel muudel robotitel, näiteks nBotil ja teisel Instructable'il. Robotit saab juhtida Androidi nutitelefonist