Kazalo:

Samoizravnalni robot z uporabo algoritma PID (STM MC): 9 korakov
Samoizravnalni robot z uporabo algoritma PID (STM MC): 9 korakov

Video: Samoizravnalni robot z uporabo algoritma PID (STM MC): 9 korakov

Video: Samoizravnalni robot z uporabo algoritma PID (STM MC): 9 korakov
Video: Prikaz izvedbe samorazlivnega estriha Baumit Alpha 2000 2024, Julij
Anonim
Samoizravnalni robot z algoritmom PID (STM MC)
Samoizravnalni robot z algoritmom PID (STM MC)

V zadnjem času je bilo veliko dela opravljenega pri samo uravnoteženju predmetov. Koncept samo uravnoteženja se je začel z uravnoteženjem obrnjenega nihala. Ta koncept se je razširil tudi na oblikovanje letal. V tem projektu smo zasnovali majhen model samo uravnoteženega robota z uporabo PID (proporcionalnega, integralnega, izpeljanega) algoritma. Od takrat je ta metoda nov obraz sistemov za nadzor industrijskih procesov. To poročilo obravnava metode, ki se uporabljajo pri samo uravnoteženju predmetov. Ta projekt je bil izveden kot semestrski projekt za razumevanje povezave PID z učinkovitostjo različnih industrijskih procesov. Tu se osredotočamo le na kratek pregled učinkovitosti in uporabe nadzora PID. Ta dokument je bil razvit tako, da vsebuje kratek uvod v nadzorne sisteme in s tem povezano terminologijo, skupaj z motivacijo za projekt. Poskusi in opažanja so bili opravljeni, prednosti in slabosti so bile opisane in se končajo pri prihodnjih izboljšavah. Za razumevanje učinkovitosti PID v svetu nadzornega sistema je bil razvit model samo uravnoteženega robota. Skozi nekaj strogih testov in poskusov so odkrili prednosti in slabosti krmilnega sistema PID. Ugotovljeno je bilo, da kljub številnim prednostim nadzora PID pred preteklimi metodami še vedno zahteva veliko izboljšav. Upamo, da bo bralec dobro razumel pomen samo uravnoteženja, učinkovitost in pomanjkljivosti nadzora PID

1. korak: Uvod

S prihodom računalnikov in industrializacijo procesov je skozi zgodovino človeštva vedno potekalo raziskovanje, da bi razvili načine za izboljšanje procesov in, kar je še pomembneje, za njihovo avtonomno upravljanje. Namen je zmanjšati človekovo vključenost v te procese in s tem zmanjšati napake v teh procesih. Tako je bilo razvito področje "Inženiring krmilnih sistemov". Inženiring nadzornega sistema je mogoče opredeliti kot uporabo različnih metod za nadzor delovanja procesa ali vzdrževanje stalnega in prednostnega okolja, pa naj bo to ročno ali avtomatsko.

Preprost primer je lahko nadzor temperature v prostoru. Ročni nadzor pomeni prisotnost osebe na lokaciji, ki preveri trenutne razmere (senzor), jih primerja z želeno vrednostjo (obdelava) in ustrezno ukrepa, da dobi želeno vrednost (aktuator). Težava te metode je, da ni zelo zanesljiva, saj je oseba nagnjena k napakam ali malomarnosti pri svojem delu. Druga težava je tudi v tem, da hitrost postopka, ki ga sproži aktuator, ni vedno enotna, kar pomeni, da se včasih lahko pojavi hitreje, kot je zahtevano, včasih pa počasi. Rešitev tega problema je bila uporaba mikrokrmilnika za nadzor sistema. Mikro krmilnik je

programirano za krmiljenje procesa, v skladu z danimi specifikacijami, povezano v vezje (o tem bomo razpravljali kasneje), napaja želeno vrednost ali pogoje in s tem nadzira postopek za vzdrževanje želene vrednosti. Prednost tega procesa je, da v tem procesu ni potreben človeški poseg. Hitrost procesa je tudi enotna

Osnovni nadzorni sistem

Prejšnji diagram prikazuje zelo poenostavljeno različico nadzornega sistema. Mikrokrmilnik je v središču vsakega nadzornega sistema. Je zelo pomemben sestavni del, zato je treba njegovo izbiro izbrati previdno glede na zahteve sistema. Mikrokrmilnik sprejme vhod od uporabnika. Ta vnos določa želeno stanje sistema. Mikrokrmilnik od senzorja prejme tudi povratne informacije. Ta senzor je priključen na izhod sistema, katerega podatki se pošiljajo nazaj na vhod. Mikroprocesor na podlagi svojega programiranja izvaja različne izračune in daje izhod pogonu. Pogon na podlagi izhodne moči nadzoruje obrat, da bi poskušal ohraniti te pogoje. Primer je lahko voznik motorja, ki poganja motor, kjer je pogon pogon, motor pa obrat. Motor se tako vrti z določeno hitrostjo. Priključeni senzor bere stanje naprave v tem trenutku in ga pošlje nazaj v mikrokrmilnik. Mikrokrmilnik spet primerja, izračuna in tako se cikel ponovi. Ta postopek se ponavlja in je neskončen, pri čemer mikrokrmilnik vzdržuje želene pogoje

Korak: Nadzorni sistem na osnovi PID

Nadzorni sistem na osnovi PID
Nadzorni sistem na osnovi PID
Nadzorni sistem na osnovi PID
Nadzorni sistem na osnovi PID

Algoritem PID je učinkovita metoda oblikovanja nadzornega sistema.

Opredelitev

PID pomeni sorazmerno, integralno in izpeljano. V tem algoritmu je prejeti signal napake vhod. Na signal napake je uporabljena naslednja enačba

U (t) = Kp ∗ e (t) + Kd ∗ d/dt (e (t)) + Ki ∗ integral (e (t)) (1.1)

Kratka razlaga

Kot je razvidno iz zgornje enačbe, se integral in izpeljanka signalov napak izračuna, pomnoži z ustreznimi konstantami in sešteje skupaj s konstanto Kp, pomnoženo z e (t). Izhod se nato napaja na aktuator, zaradi česar se sistem zažene. Zdaj pa poglejmo vsak del funkcije po vrsti. Ta funkcija neposredno vpliva na čas vzpona, padca, vrha nad poganjkom, čas poravnave in napako v stanju dinamičnega ravnovesja.

• Sorazmerni del: sorazmerni del skrajša čas vzpona in zmanjša napako v stanju dinamičnega ravnovesja. To pomeni, da bo sistem potreboval manj časa, da doseže svojo najvišjo vrednost, in ko bo dosegel ravnovesje, bo napaka v stanju dinamičnega ravnovesja majhna. Vendar pa povečanje vrha preseže.

• Izpeljani del: Izpeljani del zmanjšuje prekoračitev in čas poravnave. To pomeni, da bo prehodno stanje sistema bolj dušeno. Poleg tega bo sistem v krajšem času dosegel stanje stabilnosti. Vendar pa nima vpliva na čas porasta ali napako v stanju dinamičnega ravnovesja.

• Sestavni del: Sestavni del skrajša čas vzpona in popolnoma odpravi napako v stanju dinamičnega ravnovesja. Vendar pa poveča največje preseganje in čas poravnave.

• Uglaševanje: Dober nadzorni sistem bo imel nizek čas vzpona, čas poravnave, največji preseg in napako v stanju dinamičnega ravnovesja. Zato je treba Kp, Kd, Ki dokončno prilagoditi, da se prilagodi prispevek zgoraj navedenih dejavnikov, da se pridobi dober nadzorni sistem.

Priložena je slika, ki prikazuje učinek spreminjanja različnih parametrov v PID algoritmu.

3. korak: Rob za samo uravnoteženje

Samoizravnalni robot
Samoizravnalni robot

Samoizravnalni robot je večplastni dvokolesni robot.

Robot se bo poskušal uravnovesiti pri uporabi kakršnih koli neenakih sil. Uravnovesil se bo z uporabo sile, ki nasprotuje rezultatu sil na robotu.

Metode samo uravnoteženja

Obstajajo štiri metode samo uravnoteženja robotov. Te so naslednje:

Self -Balancing with Two IR Tilt Sensor

To je eden najbolj surovih načinov za uravnoteženje robota, saj zahteva zelo malo strojne opreme in razmeroma enostaven algoritem. Pri tem pristopu se za merjenje razdalje med zemljo in robotom uporabljata dva nagnjena IR senzorja. Na podlagi izračunane razdalje lahko PID uporabite za pogon motorjev za ustrezno uravnoteženje robota. Ena pomanjkljivost te metode je, da lahko IR senzor zgreši nekaj odčitkov. Druga težava je, da sta za izračun razdalje potrebna prekinitev in zanke, kar poveča časovno zapletenost algoritma. Zato ta način uravnoteženja robota ni veliko učinkovit.

Samoizravnava s pomočjo merilnika pospeška

Merilnik pospeška nam daje pospešek telesa v 3 osi. Pospešek, usmerjen v osi y (navzgor) in osi x (naprej), nam daje mero za izračun smeri gravitacije in s tem izračun nagibnega kota. Kot se izračuna na naslednji način:

θ = arktan (Ay/Ax) (1.2)

Pomanjkljivost uporabe te metode je, da se med gibanjem robota odčitkom doda tudi horizontalni pospešek, kar je visokofrekvenčni hrup. Zato bo kot nagiba netočen.

Samo uravnoteženje z žiroskopom

Za izračun angluarnih hitrosti vzdolž treh osi se uporablja žiroskop. Kot nagiba dobimo z naslednjo enačbo.

θp (i) = θp (i − 1) + 1/6 (vali − 3 + 2vali − 2 + 2vali − 1 + vali) (1.3)

Ena velika pomanjkljivost uporabe žiroskopa je, da ima majhen enosmerni pristranskost, ki je nizkofrekvenčni šum in so v nekaj časa vrnjene vrednosti popolnoma napačne. To bo po integraciji povzročilo odmik ničelne točke. Zaradi tega bo robot nekaj časa ostal v svojem navpičnem položaju in bo padel, ko bo prišel premik.

Samoizravnava z merilnikom pospeška in žiroskopom

Kot smo že omenili, nam uporaba samo merilnika pospeška ali žiroskopa ne bo dala pravilnega kota nagiba. V ta namen se uporabljata merilnik pospeška in žiroskop. Oba sta vgrajena v MPU6050. Pri tem dobimo podatke od obeh in jih nato združimo z uporabo Kalmanovega filtra ali dopolnilnega filtra.

• Kalmanov filter: Kalmanov filter izračuna najboljšo oceno stanja dinamičnega sistema na podlagi hrupnih meritev, kar zmanjša srednjo napako ocene na kvadrat. Deluje v dveh stopnjah, predvidevanju in popravljanju, glede na diskretne stohastične enačbe, ki opisujejo dinamiko sistema. Vendar pa je zelo zapleten algoritem za izvedbo, zlasti na omejeni strojni opremi mikrokrmilnika.

• Dopolnilni filter: Ta algoritem uporablja predvsem podatke, pridobljene z žiroskopom, in jih sčasoma integrira, da dobi kot nagiba. Uporablja tudi majhen delež merilnikov pospeška. Dopolnilni filter v resnici zmanjša visokofrekvenčni hrup merilnika pospeška in nizkofrekvenčni šum žiroskopa, nato pa jih zlije, da bi zagotovil najboljši natančen kot nagiba.

4. korak: Oblikovanje robota

Oblikovanje robota
Oblikovanje robota

Z robotom za proporcionalno izpeljavo, ki ga izvaja komplementarni filter za MPU6050, smo zasnovali samo uravnoteženega robota. Ta majhen model samo uravnoteženega robota nam bo ponazoril uporabnost krmilnih sistemov pri samo uravnoteženju robotov.

Izvajanje sistema:

Sistem je samo uravnoteževalni robot. Izvaja se s PID krmilnikom, ki je sorazmeren integralni izpeljani krmilnik. Robota uravnotežimo tako, da kolesa poganjamo v smeri njegovega padca. Pri tem poskušamo ohraniti težišče robota nad točko vrtenja. Za vožnjo koles v smeri njegovega padca bi morali vedeti, kam pade robot in s kakšno hitrostjo pade. Ti podatki so pridobljeni z uporabo MPU6050, ki ima merilnik pospeška in žiroskop. MPU6050 meri kot nagiba in odda svoj izhod mikrokrmilniku. MPU6050 je povezan s ploščo STM prek I2C. V I2C je ena žica za uro, ki se imenuje SCL. Druga je za prenos podatkov, ki je SDA. Pri tem se uporablja komunikacija master slave. Začetni in končni naslov je določen tako, da ve, od kod se podatki začenjajo in kje se končajo. Tu smo implementirali dopolnilni filter za MPU6050, ki je matematični filter za združevanje izhodov merilnika pospeška in žiroskopa. Po pridobitvi podatkov iz MPU6050 bo mikrokrmilnik izvedel izračune, da bo vedel, kam pade. Na podlagi izračunov bo mikrokrmilnik STM vozniku motorja ukazal, naj vozi v smeri padca, kar bo uravnotežilo robota.

5. korak: Sestavine projekta

Sestavine projekta
Sestavine projekta
Sestavine projekta
Sestavine projekta
Sestavine projekta
Sestavine projekta

V projektu samoravnotežnega robota so bile uporabljene naslednje komponente:

STM32F407

Mikro krmilnik, ki ga je zasnoval ST Microelectronics. Deluje na arhitekturi ARM Cortex-M.

Gonilnik motorja L298N

Ta IC se uporablja za zagon motorja. Ima dva zunanja vhoda. Eden od mikrokrmilnika, ki mu posreduje PWM signal. S prilagoditvijo širine impulza lahko prilagodite hitrost motorja. Njegov drugi vhod je vir napetosti, potreben za pogon motorja, ki je v našem primeru 12V baterija.

DC motor

DC motor deluje na enosmernem napajanju. V tem poskusu enosmerni motor deluje z optičnimi sklopkami, povezanimi z gonilnikom motorja. Za pogon motorja smo uporabili motorni pogon L298N.

MPU6050

MPU6050 se uporablja za pridobivanje informacij o tem, kje robot pade. Meri kot nagiba glede na ničelno nagibno točko, ki je položaj MPU6050, ko se program začne izvajati.

MPU6050 ima 3-osni merilnik pospeška in 3-osni žiroskop. Merilnik pospeška meri pospešek vzdolž treh osi, žiroskop pa kotno hitrost okoli treh osi. Če želimo združiti izhod, moramo izločiti šum obeh. Za filtriranje šumov imamo Kalmanov in Dopolnilni filter. V naš projekt smo vnesli komplementarni filter.

Opto par 4N35

Optoelement je naprava za izolacijo nizkonapetostnega in visokonapetostnega dela vezja. Kot že ime pove, deluje na osnovi svetlobe. Ko nizkonapetostni del dobi signal, v visokonapetostnem delu teče tok

6. korak: Struktura robota

Struktura robota je razložena na naslednji način:

Fizična struktura

Samo uravnoteževalni robot je sestavljen iz dveh plasti, sestavljenih iz prozornega plastičnega stekla. Podrobnosti dveh slojev so navedene spodaj:

Prva plast

V spodnji del prvega sloja smo postavili celico za napajanje plošče STM. Na vsaki strani sta postavljena tudi dva motorja po 4 volta s pnevmatikami, ki so povezane za premikanje robota. V zgornji del prvega sloja sta za delovanje motorja postavljeni dve bateriji po 4 volti (skupaj 8 voltov) in gonilnik motorja IC (L298N).

Drugi sloj

V zgornji sloj robota smo ploščo STM postavili na ploščo Perf. Na zgornjo plast je nameščena še ena perf plošča s 4 opto spojniki. Žiroskop je nameščen tudi na zgornjo plast robota s spodnje strani. Obe komponenti sta postavljeni v srednji del, tako da je težišče čim nižje.

Robotovo središče gravitacije

Težišče je čim nižje. V ta namen smo na spodnjo plast postavili težke baterije, na zgornjo plast pa lahke komponente, kot sta plošča STM in optični sklopniki.

7. korak: Koda

Koda je bila sestavljena na Atollic TrueStudio. STM studio je bil uporabljen za namene odpravljanja napak.

8. korak: Zaključek

Po dolgem eksperimentiranju in opazovanju končno pridemo do točke, kjer povzamemo svoje rezultate in razpravljamo o tem, kako daleč nam je uspelo implementirati in razviti učinkovitost sistema.

Splošni pregled

Med poskusom je bila hitrost motorja uspešno nadzorovana z algoritmom PID. Krivulja pa ni ravno gladka ravna črta. Razlogov za to je veliko:

• Čeprav je senzor priključen na nizkoprepustni filter, še vedno zagotavlja določene odklope; ti so posledica nelinearnih uporov in nekaterih neizogibnih razlogov analogne elektronike.

• Motor se pri majhni napetosti ali PWM ne vrti gladko. Zagotavlja sunke, ki lahko povzročijo napačne vrednosti v sistemu.

• Zaradi nihanja lahko senzor zgreši nekaj rež, ki zagotavljajo višje vrednosti. • Drug pomemben razlog za napake je lahko frekvenca jedra takta mikrokrmilnika STM. Ta model mikrokrmilnika STM zagotavlja taktno jedro 168 MHz. Čeprav smo v tem projektu obravnavali to težavo, obstaja splošno mnenje o tem modelu, da ne zagotavlja ravno tako visoke frekvence.

Hitrost odprte zanke zagotavlja zelo gladko črto z le nekaj nepričakovanimi vrednostmi. Algoritem PID deluje tudi v redu in zagotavlja zelo nizek čas mirovanja motorja. Algoritem PID motorja je bil preizkušen pri različnih napetostih, pri čemer je bila referenčna hitrost konstantna. Sprememba napetosti ne spremeni hitrosti motorja, kar kaže, da je algoritem PID v redu

Učinkovitost

Tu razpravljamo o učinkovitosti regulatorja PID, ki smo ga opazili med poskusom.

Enostavna izvedba

V razdelku za eksperimentiranje in opazovanje smo videli, da je PID krmilnik zelo enostaven za izvedbo. Za sistem nadzora hitrosti zahteva le tri parametre ali konstante, ki jih je treba nastaviti

Neprimerljiva učinkovitost za linearne sisteme

Linearni PID krmilnik je najučinkovitejši v družini krmilnikov, ker je logika zelo preprosta in je uporaba razširjena v primeru linearnih ali dokaj linearnih aplikacij.

Omejitve

Abstraktno smo razložili omejitve tega sistema. Tukaj razpravljamo o nekaterih od njih, ki smo jih opazili.

Izbor konstant

Videli smo, da čeprav je PID krmilnik enostaven za izvedbo, je še vedno velika pomanjkljivost sistema, da je korak izbire vrednosti konstant naporen; saj je treba narediti težke izračune. Druga pot je metoda hit in trial, vendar tudi ni učinkovita.

Konstante niso vedno konstantne

Poskusni rezultati so pokazali, da je pri različnih vrednostih referenčne hitrosti motorja krmilnik PID deloval pri enakih vrednostih konstant PID. Za različne hitrosti je bilo treba konstante izbirati različno in to eksponentno povečuje računske stroške.

Nelinearno

PID krmilnik, uporabljen v našem primeru, je linearen, zato ga lahko uporabimo samo za linearne sisteme. Za nelinearne sisteme je treba krmilnik izvajati različno. Čeprav so na voljo različne nelinearne metode PID, je za njihovo izbiro potrebno več parametrov. Zaradi tega je sistem zaradi visokih stroškov izračuna nezaželen.

Potreben začetni pritisk

V razdelku za eksperimentiranje smo pokazali, da je pri dokaj majhni referenčni hitrosti, kjer je napaka na začetku precej majhna, PWM, ki ga dobavlja PID, tako majhen, da ne ustvari zahtevanega zagonskega navora za motor. Tako motor v nekaterih poskusih ne deluje ali v drugih poskusih zagotavlja veliko prekoračitev in daljši čas poravnave.

9. korak: Posebna hvala

Posebna zahvala članom moje skupine, ki so mi pomagali pri tem projektu.

Kmalu bom naložil povezavo do videoposnetka.

Upam, da vam bo ta pouk zanimiv.

To je Tahir Ul Haq iz UET, ki se je odjavil. Na zdravje !!!

Priporočena: