Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Motivacija i ukupni koncept:
Kao fizičar na treningu, prirodno sam privučen i nastojim razumjeti fizičke sisteme. Obučen sam da rješavam složene probleme razlažući ih na njihove najosnovnije i najosnovnije sastojke, a zatim odatle nadograđujem 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 ekranu otpornom na dodir, koji vraća njihov trenutni položaj. Ova pozicija se zatim unosi u kontroler proporcionalno-integralno-derivativne (PID), koji smo programirali u Arduino Uno. Ovaj kod sam napravio otvorenim kodom i povezao u projektu. 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 nezavisnih klipnjača koje pokreću servo motori, što će omogućiti do šest stupnjeva slobode; X, Y i Z prijevodi, kotrljanje, korak i zakretanje (rotacije oko osi X, Y i Z respektivno). Konstruiranje i programiranje takve visoko mobilne platforme predstavlja vlastite izazove, pa ćemo za ovaj projekt pozvati samo stepene slobode, a ostale ostavljamo 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 definirana putanja, kao što je osma, kružna putanja, vaše ime kurzivom ili moj omiljeni prijenos uživo nečije olovke ili prsta na njihovom mobilnom uređaju! Sretno hakiranje!
Korak 1: 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 ruke s više rupa za prilagodbu
5. 12 - Heim zglobna šipka završava
6. 6 - Šipke (podesive)
7. USB komplet sa pet žičanih otpornih panela osjetljivih na dodir osjetljivim na dodir od 17”(osjetni položaj kugličnog ležaja)
Korak 2: Pripremite materijale
Najbolji način za rezanje akrila je upotreba laserske kamere. Pristup jednoj od njih može biti težak, pa se akril 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 potpuno podudarati s modelom koji sam napravio. Međutim, želim istaknuti nekoliko pojednostavljenih mogućnosti. Prvo, mnogo je lakše mapirati stepen slobode visina i tona pomoću tri osnove, umjesto standardne dvije. to se postiže tako da pričvršćivanje klipnjača na stvarnu platformu bude jednakostraničan trokut. Ovo vam omogućava da zanemarite sve komplikacije pronalaženja stepena slobode visine i visine nagiba (DOF) od nule, umjesto toga koristimo 3 nelinearno nezavisne "osnove" koje su jednostavno mapa tog ugla trokuta koji ide prema gore. Za vas ili mene bi ovo bio izazov za ispisivanje koordinata u ovoj osnovi, ali međuzavisnost ove baze lako se rješava kodom. Ova pojednostavljujuća pretpostavka ključna je za zanemarivanje svih zamršenosti geometrije. Pogledajte sliku MS Paint grafičke slike i slike na bijeloj ploči za detalje.
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 da bi odabrani zatvarači radili. Veličine rupa se temelje na veličini slavine koja će vam trebati za pričvršćivač. Da biste to učinili, pronađite mrežnu referencu za određenu veličinu slavine, visinu koraka i vrstu niti (fino u odnosu na kurs). 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
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đe budite oprezni sa ekranom otpornim na dodir. Krhko je !!! To je ipak tanak sloj stakla. Imajte na umu da smo i sami imali nesreću.
Korak 4: 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 do našeg izvornog koda: https://github.com/a6guerre/Ball-balanced-on-Stew…, poslužite se! Sigurno nije optimiziran, ali posao je obavljen! Upamtite da koristimo tri zasebne neortoganalne, linearno nezavisne osnove za mapu kontrola. Jednostavno čitamo sve u x, y i preslikavamo na A, B i C. Ovaj odgovor se zatim globalno prilagođava kako bi prilagodio koliko više ili manje želimo da sistem reagira.
Korak 5: Testiranje
Ovdje testiramo stepene slobode. Zapazite sada kako se naše tri osnove isplaćuju! Na primjer, da bismo dobili DOF kotrljanja, jednostavno se spuštamo jednu jedinicu s lijeve strane, dok idemo uz jednu jedinicu gore s desne strane, i obrnuto u drugom smjeru. Takođe je važno da ste uradili dovoljno dobar posao filtrirajući buku sa ekrana osetljivog na dodir. Ovo je od vitalnog značaja za dobre podatke za unos u vaš PID.
Korak 6: Fino podesite i uživajte
Faza testiranja je zapravo bila samo uklanjanje grešaka. Ovdje se fokusiramo na fino podešavanje upravljačkog sistema. ovo se najbolje radi s 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 termin! Odnosno izvedenica koja se ponaša 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. Kada to učinite, uključujete derivativni pojam i prilagođavate ga sve dok se što je brže moguće ne vrati u ravnotežu. Tada se postiže kritično prigušivanje. Međutim, ako ovo ne uspije, postoje mnoge druge dobro provjerene sheme ugađanja za PID upravljane sisteme. Ovo sam pronašao na wikipediji, pod PID kontrolerom. Hvala vam puno što ste pogledali moj projekat 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 sedmice, uključujući čekanje dvije sedmice na novi ekran koji je zaglavljen u carini, nakon našeg prvog slomio. Zato se izvinite što je daleko od savršenih performansi. Sretno hakiranje!