Tartalomjegyzék:
Videó: Önkiegyenlítő robot - PID vezérlő algoritmus: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ezt a projektet azért hozták létre, mert többet akartam megtudni a vezérlőalgoritmusokról és a funkcionális PID hurkok hatékony megvalósításáról. A projekt még fejlesztési fázisban van, mivel még nem kell hozzáadni egy Bluetooth modult, amely lehetővé teszi a robot irányítását Bluetooth -képes okostelefonról.
Az N20 egyenáramú motorok viszonylag olcsók voltak, és ezért jelentős játékteret biztosítanak. Ez kis rángatózáshoz vezet, mivel a motorok leküzdik a „lazaságot”, mivel nyomatékot alkalmaznak a kerekekre. Ezért szinte lehetetlen tökéletesen sima mozgást elérni. Az általam írt kód meglehetősen egyszerű, de hatékonyan bemutatja a PID algoritmus képességeit.
Projekt összefoglaló:
A robot alvázát 3D-ben nyomtatják Ender 3 nyomtatóval, és úgy tervezték, hogy egymáshoz illeszkedjen.
A robotot egy Arduino Uno vezérli, amely érzékelő adatokat vesz az MPU6050 -ből, és külső motorvezérlőn keresztül vezérli az egyenáramú motorokat. 7,4 V, 1500 mAh akkumulátorral működik. A motorvezérlő ezt 5 V -ra szabályozza az Arduino táplálásához, és 7,4 V -ot táplál a motorokhoz.
A szoftvert a nulláról írták a gitHub „Arduino-KalmanFilter-master” és „Arduino-MPU6050-master” könyvtárai segítségével.
Kellékek:
- 3D nyomtatott alkatrészek
- Arduino UNO
- MPU6050 6 tengelyes érzékelő
- DC motoros meghajtó
- N20 DC motorok (x2)
- 9V -os akkumulátor
1. lépés: Robotépítés
Nyomtatás és összeszerelés
A teljes felépítésnek préseltnek kell lennie, de szuperragasztóval rögzítettem az alkatrészeket, hogy a robot teljesen merev legyen egyensúlyozáskor.
Az alkatrészeket a Fusion 360 -ban terveztem, és minden részt alátámasztás nélkül optimalizáltam, hogy lehetővé tegyem a szigorúbb tűréseket és tisztább felületet.
Az Ender 3 nyomtató beállításai a következők voltak: 0,16 mm -es rétegmagasság, 40% -os kitöltés minden résznél.
2. lépés: 3D nyomtatási robot
Alváz (x1)
Bal kerék (x2)
Bal motorház (x2)
Arduino tok (x1)
3. lépés: PID vezérlő algoritmus
A nulláról írtam egy PID vezérlő algoritmust a gitHub 'Arduino-KalmanFilter-master' és 'Arduino-MPU6050-master' könyvtáraival.
Az algoritmus feltevése a következő:
- Nyers adatok olvasása az MPU6050 -ből
- A Kalman -szűrő segítségével elemezheti a giroszkópból és a gyorsulásmérőből származó adatokat, hogy megszüntesse a giroszkóp leolvasásának pontatlanságát az érzékelő gyorsulása miatt. Ez viszonylag kisimított értéket ad vissza az érzékelő dőlésszögének fokában két tizedesjegyig.
- Számítsa ki az E rror értékét a szögben, azaz: Az érzékelő és az alapjel közötti szög.
- Számítsa ki az arányos hibát: (Arányossági konstans x hiba).
- Számítsa ki az integrál hibát az (Integrációs állandó x hiba) futóösszegeként.
- A származtatási hiba kiszámítása konstansként [Differenciálási állandó] x (Hiba változása / Idő változása)]
- Összeadja az összes hibát, hogy megadja a motoroknak küldendő fordulatszám -kimenetet.
- A hibaszög jele alapján számítsa ki, hogy melyik irányba kell forgatni a motorokat.
- A ciklus korlátlan ideig fog futni, és a kimenetre épít, mivel a bemenet változik. Ez egy visszacsatolási hurok, amely a kimeneti értékeket használja a következő iteráció új bemeneti értékeiként.
Az utolsó lépés a Pp ciklus Kp, Ki & Kd paramétereinek hangolása.
- Jó kiindulópont, hogy lassan növeljük a Kp -t, amíg a robot az egyensúlyi pont körül ingadozik, és elesést nem tud elérni.
- Ezután indítsa el a Kd -t a Kp érték 1% -ánál, és lassan növelje, amíg az oszcillációk eltűnnek, és a robot simítás nélkül csúszik.
- Végül kezdje Ki -vel a Kp 20% -a körül, és addig változtasson, amíg a robot "túllépi" az alapértéket, hogy aktívan elfogja az esést és visszatérjen a függőleges helyzetbe.
Ajánlott:
Önkiegyenlítő robot a Magicbit -től: 6 lépés
Önkiegyenlítő robot a Magicbit -ről: Ez az oktatóanyag bemutatja, hogyan lehet egyensúlyozó robotot készíteni a Magicbit dev tábla használatával. Ebben a projektben, amely az ESP32 -en alapul, fejlesztési táblaként a magicbit -et használjuk. Ezért bármilyen ESP32 fejlesztői kártya használható ebben a projektben
Kétkerekű önkiegyenlítő robot: 7 lépés
Kétkerekű önkiegyenlítő robot: Ez az utasítás végigvezeti az önkiegyenlítő robot tervezési és gyártási folyamatát. Megjegyzésként csak annyit szeretnék mondani, hogy az önkiegyenlítő robotok nem új koncepció, és mások készítették és dokumentálták őket. Szeretném élni ezzel a lehetőséggel
HeadBot-önkiegyenlítő robot a STEM tanuláshoz és ismeretterjesztéshez: 7 lépés (képekkel)
A HeadBot-egy önkiegyenlítő robot a STEM tanuláshoz és ismeretterjesztéshez: A Headbot-egy két láb magas, önkiegyenlítő robot-a South Eugene Robotics Team (SERT, FRC 2521), a versenyképes középiskolai robotika csapata, az ELSŐ ötlete. Robotika Verseny, Eugene, Oregon. Ez a népszerű ismeretterjesztő robot újra
2 kerekes önkiegyenlítő robot: 4 lépés
2 kerekes önkiegyenlítő robot: Szerény véleményem szerint nem vagy igazi alkotó, hacsak nem építesz saját kétkerekű önbálázó robotot. :-) Szóval, itt van … és ami a legfontosabb, működik !!! Ez a projekt nagyon egyszerűnek tűnik. Ehelyett jó szintű tudást igényel
Távirányítású Arduino önkiegyenlítő robot létrehozása: B-robot EVO: 8 lépés
Távirányítású Arduino önkiegyenlítő robot létrehozása: B-robot EVO: ------------------------------------ -------------- UPDATE: ennek a robotnak van egy új és továbbfejlesztett változata: a B-robot EVO, új funkciókkal! ------------ -------------------------------------- Hogyan működik? A B-ROBOT EVO távolról ellenőrzés