Talaan ng mga Nilalaman:

PID Kinokontrol na Ball Balancing Stewart Platform: 6 na Hakbang
PID Kinokontrol na Ball Balancing Stewart Platform: 6 na Hakbang

Video: PID Kinokontrol na Ball Balancing Stewart Platform: 6 na Hakbang

Video: PID Kinokontrol na Ball Balancing Stewart Platform: 6 na Hakbang
Video: По следам древней цивилизации? 🗿 Что, если мы ошиблись в своем прошлом? 2024, Hulyo
Anonim
Image
Image
Kumuha ng Mga Materyales
Kumuha ng Mga Materyales

Pagganyak at Pangkalahatang Konsepto:

Bilang isang pisiko sa pagsasanay, natural na naaakit ako, at hinahangad na maunawaan ang mga pisikal na sistema. Sanay na ako upang malutas ang mga kumplikadong problema sa pamamagitan ng paghiwalay sa kanila sa kanilang pinakamahalaga at mahahalagang sangkap, pagkatapos ay buuin ang problema mula roon. Kahit na natututo ako ng mekanika at electromagnetism mula sa mga unang prinsipyo, hindi ko pa rin magagamit ang mga ito sa ilang pisikal na aplikasyon. Sa wakas ay makukuha ko ang opurtunidad na ito sa pamamagitan ng paglikha ng isang robot na gumagamit ng awtomatikong kontrol ng teorya upang awtomatikong balansehin ang isang bola sa isang patag, ganap na kinokontrol na platform, lahat ay sarili nito!

Sa kung paano ito; na kung saan ay inilaan para sa matalinong hacker, programmer, o engineer ng teknikal, gagamit kami ng isang Arduino Uno bilang aming microcontroller platform. Ang saradong loop ng feedback ay nagsisimula muna kapag nararamdaman nito ang posisyon ng isang solidong metal na bolang tindig na nakahiga sa isang patag na touch resistive screen, na nagpapakain pabalik ng mga bola sa agarang posisyon. Ang posisyon na ito ay pagkatapos ay pinakain sa isang proportional-integral-derivative (PID) controller, na na-program namin sa Arduino Uno. Ginawa kong open source ang code na ito at na-link sa proyekto. Ang controller ay may tungkulin sa pagpapanumbalik ng bola sa anumang posisyon na pinili ng gumagamit sa mesa, kahit na makabuluhang magulo. Ang platform na sumusuporta sa istruktura na gagamitin namin ay kilala bilang isang "Stewart platform," at sinusuportahan ng anim na independiyenteng mga rod na hinihimok ng mga motor na servo na magbibigay ng hanggang anim na antas ng kalayaan; Mga pagsasalin ng X, Y at Z, roll, pitch at yaw (pag-ikot tungkol sa X, Y, at Z axes ayon sa pagkakasunod-sunod). Ang pagbuo at pag-program ng naturang isang mataas na mobile platform ay mayroong sariling mga hamon, kaya para sa proyektong ito, tatawag lamang kami sa mga antas ng kalayaan at pag-iilaw, naiwan ang iba bilang mga opsyonal na pag-upgrade ng pag-andar, kung nais ng gumagamit. Kasabay ng platform na paglipat ng bola sa alinman sa isang hanay ng mga static na tinukoy na posisyon ng mga gumagamit, madali itong mapahusay ng mga advanced na programmer upang mapahusay ang programa at magdagdag ng ilang mga panache sa pamamagitan ng pagpapalit ng aming static, tinukoy na posisyon ng gumagamit, na may isang semi-tuloy na bakas ng isang gumagamit tinukoy na landas, tulad ng isang numero walo, pabilog na tilas, ang iyong pangalan sa sumpa, o ang aking paboritong isang live na stream ng estilista o daliri ng isang tao sa kanilang sariling mobile device! Maligayang pag-hack!

Hakbang 1: Kumuha ng Mga Materyales

Kumuha ng Mga Materyales
Kumuha ng Mga Materyales
Kumuha ng Mga Materyales
Kumuha ng Mga Materyales
Kumuha ng Mga Materyales
Kumuha ng Mga Materyales

Mga Materyal na Kailangan:

1. Ilang sheet ng 1/4 "at 1/8" Acrylic

2. 6 - Servo Motors (Gumamit kami ng HS5485HB Servo’s)

3. 6 - Threaded (Adjustable) Mga Koneksyon sa Rod

4. 6 - Ang CNC Machined Servo Arm's na may maraming mga butas para sa kakayahang maiakma

5. 12 - Nagtatapos ang Heim Joint Rod

6. 6 - Rods (Naaayos)

7. 1- 17 Limang Wire Resistive Touch Screen Panel USB kit (posisyon ng pakiramdam ng pagdadala ng bola)

Hakbang 2: Maghanda ng Mga Kagamitan

Maghanda ng Mga Kagamitan
Maghanda ng Mga Kagamitan
Maghanda ng Mga Kagamitan
Maghanda ng Mga Kagamitan
Maghanda ng Mga Kagamitan
Maghanda ng Mga Kagamitan

Ang pinakamahusay na paraan upang makuha ang acrylic cut ay sa pamamagitan ng paggamit ng isang laser cam. Ang pag-access sa isa ay maaaring maging mahirap, kaya't ang acrylic ay maaari ring madaling i-cut gamit ang anumang mga tool sa paggupit na pamilyar sa iyo, maayos na sanay, at maaaring gumana nang ligtas. Kung ginagawa ko ito sa bahay halimbawa, gagamitin ko ang isang hand coping saw. Ang pangkalahatang hugis ng Stewart platform ay hindi kailangang tumugma nang eksakto sa modelo na aking itinayo. Gayunpaman, nais kong ituro ang ilang pagpapadali ng mga pagkakataon. Una, mas madaling i-map ang pitch at i-roll degree ng kalayaan sa pamamagitan ng paggamit ng tatlong batayan, sa halip na ang pamantayan ng dalawa. ginagawa ito sa pamamagitan ng paggawa ng pagkakabit ng mga nag-uugnay na baras sa aktwal na platform na isang equilateral triangle. Pinapayagan kang mapabayaan ang lahat ng mga komplikasyon ng paghanap ng pitch at roll degree of freedom (DOF) mula sa simula, sa halip ay gumagamit kami ng 3 hindi independiyenteng "malayang batayan" na simpleng mapa ng sulok na iyon ng tatsulok na papataas. Ito ay magiging hamon para sa iyo o sa aking isulat ang mga coordinate sa batayan na ito, ngunit ang pagtutulungan ng batayan na ito ay madaling hawakan ng code. Ang pinapasimple na palagay ay susi sa pagpapabaya sa lahat ng mga intricacies ng geometry. Tingnan ang larawang MS Paint graphic at whiteboard na larawan para sa mga detalye.

Kapag ang mga piraso ay pinutol, kakailanganin mong i-drill ang lahat ng mga butas, na kung saan kumonekta ang iyong mga nag-uugnay na tungkod at ball joint. Mag-ingat na itugma ang laki ng butas sa wastong hardware na iyong ginagamit. Mahalaga ito upang gumana ang iyong napiling mga fastener. Ang mga laki ng butas ay batay sa kung anong laki ng pag-tap ang kakailanganin mo para sa iyong pangkabit. Upang magawa ito, maghanap ng isang sanggunian sa online para sa tukoy na laki ng pag-tap, uri ng pitch at thread (pagmultahin kumpara sa kurso). Inirerekumenda ko ang mga thread ng kurso para sa acrylic, ngunit kung kailangan mong gumamit ng pinong thread, dapat itong umepekto, dahil iyon pa rin ang ginamit namin. Oras na nito upang magpatuloy sa pagpupulong.

Hakbang 3: Magtipon ng Mga Materyales

Magtipon ng Mga Materyales
Magtipon ng Mga Materyales
Magtipon ng Mga Materyales
Magtipon ng Mga Materyales
Magtipon ng Mga Materyales
Magtipon ng Mga Materyales
Magtipon ng Mga Materyales
Magtipon ng Mga Materyales

Maingat na tipunin ang mga materyales upang mabatid. Maging maingat lalo na huwag maalis ang anumang mga turnilyo. Kapag tapos na ito, kakailanganin mong baguhin ang hardware sa pamamagitan ng pag-sukit at pagbabarena ng mas malaking mga butas at pag-tap sa kanila, o kakailanganin mong i-cut ang isang buong bagong piraso ng acrylic. Tandaan na mag-ingat din sa touch resistive screen. Marupok ito !!! Ito ay isang manipis na layer ng baso pagkatapos ng lahat. Tandaan na naaksidente tayo mismo.

Hakbang 4: Programming

Programming
Programming

Ang programa ay maaaring tumagal ng ilang oras. Dito talaga maaaring magbabayad ang iyong mga kasanayan sa programa. Hindi mo kailangang maisulat ang code mula sa simula, ngunit kung makakahanap ka ng mahusay na nagkomento at naayos na source code upang mabago, kung gayon ay ginagawang mas madali ang buhay. Narito ang link sa aming source code: https://github.com/a6guerre/Ball-balanced-on-Stew…, tulungan ang iyong sarili! Tiyak na hindi ito na-optimize, ngunit natapos ang trabaho! Tandaan na gumagamit kami ng tatlong magkakahiwalay na di-orthoganal, hindi linear na independiyenteng batayan para sa mga map na kontrol. Binabasa lamang namin ang lahat sa x, y at pagmamapa sa A, B, at C. Ang tugon na ito ay pagkatapos ay na-tune sa buong mundo upang ayusin kung magkano o mas kaunti ang nais naming tumugon ang system.

Hakbang 5: Pagsubok

Narito namin sinusubukan ang antas ng kalayaan. Tandaan ngayon kung paano magbabayad ang aming tatlong batayan! Halimbawa, upang makuha ang roll DOF, bababa lamang kami sa isang yunit sa kaliwa, habang paakyat ng isang yunit sa kanan, at kabaligtaran para sa iba pang direksyon. Mahalaga rin na gumawa ng sapat na mahusay na pag-filter ng ingay sa trabaho mula sa iyong touch screen. Ito ay mahalaga sa pagkakaroon ng mahusay na data upang feed sa iyong PID.

Hakbang 6: Fine Tune and Enjoy

Ang yugto ng pagsubok ay talagang upang mailabas ang mga bug. Dito, nakatuon kami sa masarap na pag-tune ng system ng mga kontrol. pinakamahusay itong ginagawa sa isang preset na algorithm. Ang paborito ko ay lapitan ito tulad ng isang kritikal na pamamasa ng problema, Ahem! Physicist ako! Kaya't patayin mo ang nakakababang termino! Ibig sabihin ang terminong nagmula, na gumaganap tulad ng isang termino para sa pag-drag. Ngayon ang bola ay mag-oscillate nang ligaw! Gayunpaman, ang layunin ay upang makuha ang mga oscillation na maging malapit sa maharmonya hangga't maaari, hindi lumalaki o nabubulok, hangga't makakaya mo. Kapag tapos na iyon, binuksan mo ang term na nagmula, at ayusin hanggang sa bumalik ito sa balanse nang mabilis hangga't maaari. Ito ay kapag nakakamit ang kritikal na pamamasa. Gayunpaman, kung hindi ito gumana maraming iba pang mahusay na napatunayan na mga scheme ng pag-tune para sa mga sistemang kinokontrol ng PID. Natagpuan ko ito sa wikipedia, sa ilalim ng PID controller. Maraming salamat sa pagtingin sa aking proyekto, at mangyaring makipag-ugnay sa anumang mga katanungan, Masisiyahan akong sagutin ang anumang mga katanungan na mayroon ka. Espesyal na tala: Nais kong ipahiwatig na ang proyektong ito mula simula hanggang katapusan ay ginawa ng Miracle Max Guerrro, at ang aking sarili sa ilalim lamang ng apat na linggo, kasama na ang paghihintay ng dalawang linggo para sa isang bagong screen na natigil sa customs, pagkatapos ng aming una sinira Kaya't mangyaring patawarin na malayo ito sa perpektong pagganap. Maligayang pag-hack!

Inirerekumendang: