Բովանդակություն:
Video: Self Balancing Robot - PID Control Algorithm: 3 Steps
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս նախագիծը ստեղծվել է, քանի որ ինձ հետաքրքրում էր ավելի շատ ծանոթանալ Control Algorithms- ին և ինչպես արդյունավետորեն կիրառել PID օղակները: Նախագիծը դեռ մշակման փուլում է, քանի որ դեռ պետք է ավելացվի Bluetooth մոդուլ, որը թույլ կտա վերահսկել ռոբոտը Bluetooth- ով աշխատող սմարթֆոնից:
Օգտագործված N20 DC շարժիչները համեմատաբար էժան էին, և, հետևաբար, դրանցում զգալի խաղ է ցուցադրվում: Սա հանգեցնում է մի փոքր ցնցման, քանի որ շարժիչները հաղթահարում են «թուլությունը», քանի որ այն ոլորող մոմենտ է կիրառում անիվների վրա: Հետևաբար, անհնար է հասնել կատարյալ հարթ շարժման: Իմ գրած կոդը ողջամտորեն պարզ է, բայց արդյունավետորեն ցուցադրում է PID ալգորիթմի հնարավորությունները:
Նախագծի ամփոփում
Ռոբոտի շասսին 3D տպագրությամբ օգտագործվում է Ender 3 տպիչով և նախատեսված է իրար սեղմելու համար:
Ռոբոտը կառավարվում է Arduino Uno- ի կողմից, որը վերցնում է սենսորային տվյալները MPU6050- ից և վերահսկում է DC շարժիչները արտաքին շարժիչի միջոցով: Այն աշխատում է 7.4V, 1500mAh մարտկոցով: Շարժիչի վարորդը դա կարգավորում է 5 Վ -ի ՝ Arduino- ն սնուցելու համար և 7.4 Վ է մատակարարում շարժիչներին:
Theրագիրը զրոյից գրվել է gitHub- ի «Arduino-KalmanFilter-master» և «Arduino-MPU6050-master» գրադարանների օգնությամբ:
Պարագաներ:
- 3D տպագիր մասեր
- Arduino UNO
- MPU6050 6 առանցքի ցուցիչ
- D. C շարժիչ
- N20 DC շարժիչներ (x2)
- 9 Վ մարտկոց
Քայլ 1: Ռոբոտների կառուցում
Տպել և հավաքել
Ամբողջ կառուցվածքը պետք է սեղմված լինի, բայց ես սոսնձման սոսինձ եմ օգտագործել ՝ բաղադրիչներն ապահովելու համար, որպեսզի ռոբոտը հավասարակշռելիս ամբողջովին կոշտ լինի:
Ես նախագծել եմ Fusion 360- ի մասերը և օպտիմալացրել եմ յուրաքանչյուր մասի `առանց հենարանների տպագրության, որպեսզի թույլ տամ ավելի ամուր հանդուրժողականություն և մակերևույթի ավելի մաքուր ավարտ:
Ender 3 տպիչի վրա օգտագործված պարամետրերն էին `0.16 մմ շերտի բարձրություն @ 40% լցնում բոլոր մասերի համար:
Քայլ 2. 3D տպման ռոբոտ
Շասսի (x1)
Ձախ անիվ (x2)
Ձախ շարժիչային բնակարան (x2)
Arduino պատյան (x1)
Քայլ 3. PID վերահսկման ալգորիթմ
Ես զրոյից գրել եմ PID վերահսկման ալգորիթմ ՝ օգտագործելով gitHub- ի «Arduino-KalmanFilter-master» և «Arduino-MPU6050-master» գրադարանները:
Ալգորիթմի նախադրյալը հետևյալն է.
- Կարդացեք MPU6050- ի հում տվյալները
- Օգտագործեք Kalman զտիչը ՝ վերլուծելու ինչպես գիրոսկոպի, այնպես էլ արագացուցիչի տվյալները ՝ սենսորի արագացման պատճառով գիրոսկոպի ընթերցումների անճշտությունները վերացնելու համար: Սա վերադարձնում է համեմատաբար հարթեցված արժեքը սենսորի աստիճանի աստիճանների վրա `երկու տասնորդական նիշ:
- Հաշվիր E rror- ը անկյան մեջ, այսինքն. Սենսորի և սահմանման կետի միջև ընկած անկյունը:
- Հաշվիր համաչափ սխալը որպես (Համաչափության հաստատուն x սխալ):
- Հաշվիր ինտեգրալ սխալը որպես (Ինտեգրման հաստատուն x սխալ) վազող գումար:
- Հաշվիր ածանցյալ սխալը որպես հաստատուն [տարբերակման հաստատուն] x (սխալի փոփոխություն / ժամանակի փոփոխություն]
- Գումարեք բոլոր սխալները `շարժիչներին ուղարկվող արագությունը տալու համար:
- Սխալների անկյունի նշանի հիման վրա հաշվարկեք, թե որ ուղղությամբ շարժել շարժիչները:
- Օղակը գործելու է անորոշ ժամանակով և հիմնվելու է ելքի վրա, քանի որ մուտքը տատանվում է: Դա հետադարձ կապ է, որն օգտագործում է ելքային արժեքները որպես հաջորդ մուտքի նոր մուտքային արժեքներ:
Վերջնական քայլը PID հանգույցի Kp, Ki & Kd պարամետրերի կարգավորումն է:
- Լավ ելակետ է դանդաղ բարձրացնել Kp- ն, մինչև ռոբոտը տատանվի հավասարակշռության կետի շուրջը և կարողանա ընկնել:
- Հաջորդը, սկսեք Kd- ն Kp- ի արժեքից մոտ 1% -ով և դանդաղ ավելացեք, մինչև տատանումներն անհետանան, և ռոբոտը սահուն սահում է սղվելիս:
- Ի վերջո, Ki- ով սկսեք Kp- ի մոտ 20% -ը և տարբերվեք մինչև ռոբոտը «գերազանցի» սահմանված կետը `ակտիվորեն ընկնելու և ուղղահայաց վերադառնալու համար:
Խորհուրդ ենք տալիս:
Tower Climb Helping Robot V1 - Two Legged, RF, BT Control With App: 22 Steps (with Pictures)
Tower Climb Helping Robot V1 - Two Legged, RF, BT Control With App: Երբ երբևէ պատերին տեսնելով մողեսներ, ես պլանավորում եմ պատրաստել նրա նման ռոբոտ: Դա երկարաժամկետ գաղափար է, ես շատ հոդվածներ եմ փնտրում էլեկտրասոսնձող նյութերի համար և ինչ-որ կերպ ստուգում եմ, և չհաջողվեց պահել դրա հնարավորությունները: Հենց հիմա ես պլանավորում եմ այն դարձնել էլեկտրամագնիս օգտագործելով
AutoWaterFlora: Self Watering Plant: 3 Steps
AutoWaterFlora: Self Watering Plant: Սա ինքնուրույն ջրող գործարանային սարք է, որը միացնելու է պոմպը որոշակի ժամանակ և որոշակի ընդմիջումներով: Աշխատանք. Նախագիծն աշխատում է Arduino Uno տախտակի պարզ ժամաչափի վրա և կսկսի պոմպը որոշակի ժամանակ աշխատել: կոնկրետ միջակայքում
Կառուցեք ձեր սեփականը "" Banksy's Self-Destruct Artwork Frame ": 4 Steps
Կառուցեք ձեր սեփականը "" Banksy's Self-Destruct Artwork Frame ": շեղբերն ամրացված էին շրջանակի հիմքի և երկու անիվների վրա
Self Walking Robot: 7 քայլ
Ինքնուրույն քայլող ռոբոտ. Բոտը պատկերում է 4 «առանց ծնկի» ոտքերով մի պարզ արարած, որը պայքարում է առաջ շարժվելու համար: Նա գիտի, որ կարող է յուրաքանչյուր ոտքը կողմնորոշել միայն 3 հնարավոր եղանակներով: Հիմա
DIY Self-Balancing One Wheel Vehicle: 8 քայլ (նկարներով)
DIY Self-Balancing One Wheel Vehicle. Հետաքրքրված եք ինքնահավասարակշռող ապրանքների միտումով, ինչպիսիք են segway- ը և solowheel- ը: այո, առանց որևէ հոգնելու կարող եք ցանկացած վայր գնալ: բայց հիանալի է, եթե կարող ես ինքդ ունենալ: Դե եկեք կառուցենք