Stewart platforma za balansiranje loptice s PID -om: 6 koraka
Stewart platforma za balansiranje loptice s PID -om: 6 koraka
Anonim
Image
Image
Nabavite materijale
Nabavite materijale

Motivacija i cjelokupni koncept:

Kao fizičar na treningu, prirodno sam privučen i nastojim razumjeti fizičke sustave. Obučen sam rješavati složene probleme razlažući ih na njihove najosnovnije i najvažnije sastojke, a zatim odatle nadograditi problem. Iako sam mehaniku i elektromagnetizam učio od prvih principa, još ih nisam morao koristiti u nekoj fizičkoj primjeni. Konačno ću dobiti ovu priliku stvaranjem robota koji koristi teoriju automatskih kontrola za autonomno balansiranje loptice na ravnoj, potpuno kontroliranoj platformi, sve samo od sebe!

U ovom uputstvu; koji je namijenjen tehnički potkovanim hakerima, programerima ili inženjerima, koristit ćemo Arduino Uno kao našu platformu za mikrokontroler. Zatvorena petlja povratne sprege prvi put počinje kada osjeti položaj čvrstog metalnog kugličnog ležaja koji leži na ravnom zaslonu otpornom na dodir, koji vraća loptice u neposredni položaj. Taj se položaj zatim unosi u kontroler proporcionalno-integralno-izvedenice (PID), koji smo programirali u Arduino Uno. Ovaj kod sam učinio otvorenim kodom i povezao u projekt. Kontroler ima zadatak vratiti loptu na bilo koje mjesto koje korisnik izabere na stolu, čak i kada je značajno uznemireno. Konstrukcijska potporna platforma koju ćemo koristiti poznata je kao „Stewart platforma“, a podržava je šest neovisnih klipnjača koje pokreću servo motori, što će omogućiti do šest stupnjeva slobode; Prijevodi X, Y i Z, kotrljanje, pomak i zakretanje (rotacije oko osi X, Y i Z). Konstruiranje i programiranje takve visoko mobilne platforme predstavlja vlastite izazove, pa ćemo za ovaj projekt pozvati samo stupnjeve slobode i visine, ostavljajući ostale kao izborne nadogradnje funkcionalnosti, ako to korisnik želi. Uz platformu koja premješta loptu na bilo koji od skupa statičkih korisnički definiranih položaja, naprednim programerima bit će lako poboljšati program i dodati malo panachea zamjenom našeg statičkog, korisnički definiranog položaja, polukontinuiranim tragom korisnika definirani put, kao što je osma, kružna putanja, vaše ime kurzivom ili meni najdraži prijenos uživo nečije olovke ili prsta na njihovom mobilnom uređaju! Sretno hakiranje!

Korak 1: Nabavite materijale

Nabavite materijale
Nabavite materijale
Nabavite materijale
Nabavite materijale
Nabavite materijale
Nabavite materijale

Potrebni materijali:

1. Nekoliko listova akrila od 1/4 "i 1/8"

2. 6 - Servo motori (koristili smo servomotore HS5485HB)

3. 6 - Navojne (podesive) klipnjače

4. 6 - CNC strojno obrađene servo poluge s više rupa za prilagodbu

5. 12 - Heim zglobna šipka završava

6. 6 - Šipke (podesive)

7. USB komplet s pet žica otpornim na dodir osjetljivim na dodir od 17”(osjetni položaj kugličnog ležaja)

Korak 2: Pripremite materijale

Pripremite materijale
Pripremite materijale
Pripremite materijale
Pripremite materijale
Pripremite materijale
Pripremite materijale

Najbolji način za rezanje akrila je pomoću laserske kamere. Pristup jednom može biti otežan, pa se akril također može lako rezati bilo kojim reznim alatom koji vam je poznat, na kojem ste pravilno obučeni i može sigurno raditi. Da ovo radim na primjer kod kuće, upotrijebio bih ručnu pilu. Ukupni oblik Stewart platforme ne mora se točno podudarati s modelom koji sam izgradio. Međutim, želim istaknuti nekoliko mogućnosti pojednostavljivanja. Prvo, mnogo je lakše mapirati stupnjeve visine visine i zaokreta koristeći tri osnove, umjesto standardne dvije. to se postiže tako da pričvršćivanje klipnjača na stvarnu platformu bude jednakostraničan trokut. To vam omogućuje da zanemarite sve komplikacije pronalaženja stupnjeva slobode koraka i nagiba (DOF) ispočetka, umjesto toga koristimo 3 nelinearno neovisne "osnove" koje su jednostavno karta tog kuta trokuta koji ide prema gore. To bi za vas ili mene predstavljalo izazov za ispisivanje koordinata u ovoj osnovi, ali međuovisnost te baze lako se rješava kodom. Ova pojednostavljujuća pretpostavka ključna je za zanemarivanje svih zamršenosti geometrije. Za detalje pogledajte sliku MS Paint grafike i slike na ploči.

Nakon što ste izrezali komade, morat ćete izbušiti sve rupe, na koje se spajaju vaše klipnjače i kuglični zglobovi. Pazite da veličinu rupe prilagodite odgovarajućem hardveru koji koristite. Ovo je od vitalne važnosti za rad odabranih pričvršćivača. Veličine rupa temelje se na veličini slavine koja će vam trebati za pričvršćivač. Da biste to učinili, pronađite internetsku referencu za određenu veličinu slavine, visinu koraka i vrstu niti (fino u odnosu na tečaj). Preporučujem niti za tečajeve za akril, ali ako morate koristiti fine niti, to bi trebalo uspjeti, jer smo to ionako koristili. Sada je vrijeme za prelazak na montažu.

Korak 3: Sastavite materijale

Sastavite materijale
Sastavite materijale
Sastavite materijale
Sastavite materijale
Sastavite materijale
Sastavite materijale
Sastavite materijale
Sastavite materijale

Pažljivo sastavite materijale prema specifikacijama. Budite posebno oprezni da ne ogolite vijke. Nakon što to učinite, morat ćete ili promijeniti hardver tako da dimenzionirate i izbušite veće rupe te ih udarite, ili ćete morati izrezati potpuno novi komad akrila. Napomena također budite oprezni sa zaslonom otpornim na dodir. Krhka je !!! To je ipak tanak sloj stakla. Imajte na umu da smo i sami imali nesreću.

Korak 4: Programiranje

Programiranje
Programiranje

Programiranje može potrajati. Ovdje se vaše vještine programiranja zaista mogu isplatiti. Ne morate biti u mogućnosti napisati kôd od nule, ali ako možete pronaći dobro komentiran i organiziran izvorni kod za izmjenu, to vam uvelike olakšava život. Evo veze na naš izvorni kod: https://github.com/a6guerre/Ball-balanced-on-Stew…, poslužite se! Sigurno nije optimiziran, ali posao je obavljen! Zapamtite da koristimo tri zasebne neortoganalne, linearno neovisne osnove za mapu kontrola. Jednostavno čitamo sve u x, y i preslikavamo na A, B i C. Taj se odgovor tada globalno prilagođava kako bi se prilagodilo koliko više ili manje želimo da sustav reagira.

Korak 5: Testiranje

Ovdje testiramo stupnjeve slobode. Zapazite sada kako se naše tri osnove isplaćuju! Na primjer, da bismo dobili DOF kotrljanja, jednostavno se spuštamo dolje za jednu jedinicu s lijeve strane, dok idemo gore za jednu jedinicu s desne strane, i obrnuto u drugom smjeru. Također je važno obaviti dovoljno dobar posao filtrirajući buku s vašeg zaslona osjetljivog na dodir. To je od vitalnog značaja za dobivanje dobrih podataka za unos u vaš PID.

Korak 6: Fino se prilagodite i uživajte

Faza testiranja bila je zapravo samo uklanjanje grešaka. Ovdje se fokusiramo na fino podešavanje upravljačkog sustava. to se najbolje postiže unaprijed postavljenim algoritmom. Najdraže mi je pristupiti tome kao kritičnom prigušujućem problemu, Ahem! Ja sam fizičar! Dakle, isključujete prigušujući pojam! Odnosno izvedenica, koja djeluje kao izraz povlačenja. Sada će lopta divlje oscilirati! Međutim, cilj je postići da oscilacije budu što bliže harmoniku, a ne da rastu ili propadaju, što je bolje moguće. Kad to učinite, uključujete izvedenicu i prilagođavate je sve dok se što brže ne vrati u ravnotežu. Tada se postiže kritično prigušivanje. Međutim, ako to ne uspije, postoje mnoge druge dobro provjerene sheme ugađanja za sustave s PID -om. Ovo sam pronašao na wikipediji, pod PID kontrolerom. Hvala vam puno što ste pogledali moj projekt i obratite se sa svim pitanjima, rado ću vam odgovoriti na sva pitanja. Posebna napomena: Želim naglasiti da smo ovaj projekt od početka do kraja radili Miracle Max Guerrro i ja za nešto manje od četiri tjedna, uključujući čekanje dva tjedna na novi ekran koji je zaglavljen u carini, nakon našeg prvog slomio. Oprostite, daleko od savršenih performansi. Sretno hakiranje!