Innehållsförteckning:

PID -kontrollerad bollbalansering Stewart -plattform: 6 steg
PID -kontrollerad bollbalansering Stewart -plattform: 6 steg

Video: PID -kontrollerad bollbalansering Stewart -plattform: 6 steg

Video: PID -kontrollerad bollbalansering Stewart -plattform: 6 steg
Video: Уроки Ардуино. ПИД регулятор 2024, Juli
Anonim
Image
Image
Skaffa material
Skaffa material

Motivation och övergripande koncept:

Som fysiker i utbildning är jag naturligt lockad till och försöker förstå fysiska system. Jag har utbildats för att lösa komplexa problem genom att bryta ner dem i deras mest grundläggande och väsentliga ingredienser och sedan bygga upp problemet därifrån. Även om jag har lärt mig mekanik och elektromagnetism från de första principerna, har jag ännu inte använt dem i någon fysisk tillämpning. Jag kommer äntligen att få denna möjlighet genom att skapa en robot som använder teorin för automatisk kontroll för att autonomt balansera en boll på en platt, helt kontrollerad plattform, helt på egen hand!

I denna instruktion; som är avsedd för den tekniskt kunniga hackaren, programmeraren eller ingenjören, kommer vi att använda en Arduino Uno som vår mikrokontrollerplattform. Den slutna återkopplingsslingan börjar först när den känner av positionen för ett massivt metallkullager som ligger på en platt beröringsresistiv skärm, som matar tillbaka bollarna omedelbar position. Denna position matas sedan in i en proportionell-integral-derivat (PID) controller, som vi har programmerat in i Arduino Uno. Jag har gjort denna kod öppen källkod och länkad till projektet. Controllern har till uppgift att återställa bollen till valfri position som användaren valt på bordet, även om den är väsentligt störd. Den strukturella stödplattform vi kommer att använda är känd som en "Stewart -plattform" och stöds av sex oberoende vevstakar som drivs av servomotorer som ger upp till sex frihetsgrader; X-, Y- och Z -översättningar, roll, pitch och yaw (rotationer om X-, Y- och Z -axlarna). Att bygga och programmera en så mycket mobil plattform presenterar sina egna utmaningar, så för detta projekt kommer vi bara att kräva pitch and roll frihetsgrader, och lämna de andra som valfria uppgraderingar av funktionalitet, om användaren så önskar. Tillsammans med att plattformen flyttar bollen till någon av en uppsättning statiska användardefinierade positioner, kommer avancerade programmerare att ha lätt för att förbättra programmet och lägga till lite panache genom att ersätta vår statiska, användardefinierade position, med ett halvkontinuerligt spår av en användare definierad väg, till exempel en siffra åtta, cirkulär bana, ditt namn i kursiv eller min favorit en livestream av någons penna eller finger på sin egen mobila enhet! Glad hackning!

Steg 1: Skaffa material

Skaffa material
Skaffa material
Skaffa material
Skaffa material
Skaffa material
Skaffa material

Material behövs:

1. Några ark med 1/4 "och 1/8" akryl

2. 6 - Servomotorer (Vi använde HS5485HB Servo’s)

3. 6 - Gängade (justerbara) vevstänger

4. 6 - CNC -bearbetade servoarmar med flera hål för justerbarhet

5. 12 - Heim Joint Rod Ends

6. 6 - Stavar (justerbara)

7. 1- 17”USB-kit med fem trådresistiva pekskärmspaneler (avkänningsposition för kullager)

Steg 2: Förbered material

Förbered material
Förbered material
Förbered material
Förbered material
Förbered material
Förbered material

Det bästa sättet att få akrylskärningen är med en laserkamera. Tillgång till en kan vara svår, så akrylen kan också enkelt skäras med de skärverktyg du är bekant med, ordentligt utbildad på och kan fungera säkert. Om jag till exempel gjorde det här hemma skulle jag använda en handsåg. Stewart -plattformens övergripande form behöver inte matcha exakt den modell jag byggde. Jag vill dock påpeka några förenklade möjligheter. För det första är det mycket lättare att kartlägga pitch och roll frihetsgrader genom att använda tre baser, istället för standard två. detta görs genom att göra fästet av vevstängerna till själva plattformen till en liksidig triangel. Detta gör att du kan försumma alla komplikationer av att hitta pitch and roll frihetsgrader (DOF) från grunden, istället använder vi 3 olinjärt oberoende "bas" som helt enkelt är kartan över det hörnet av triangeln som går upp. Detta skulle vara en utmaning för dig eller jag att skriva ut koordinater på den här grunden, men ömsesidigt beroende av denna grund hanteras enkelt av koden. Detta förenklande antagande är nyckeln till att försumma alla geometrins invecklingar. Se bilden MS Paint -grafik och whiteboardbild för detaljer.

När bitarna har skurits måste du borra ut alla hål, det är där dina vevstänger och kulleder ansluter till. Var noga med att matcha hålstorleken till rätt hårdvara du använder. Detta är viktigt för att dina valda fästelement ska fungera. Hålstorlekarna baseras på vilken storlekskran du behöver för ditt fästelement. För att göra detta, hitta en online -referens för den specifika kranstorleken, tonhöjden och trådtypen (fin vs kurs). Jag rekommenderar kurstrådar för akryl, men om du måste använda fin tråd bör det lösa sig, eftersom det vi använde ändå. Nu är det dags att gå vidare till monteringen.

Steg 3: Montera material

Montera ihop material
Montera ihop material
Montera ihop material
Montera ihop material
Montera ihop material
Montera ihop material
Montera ihop material
Montera ihop material

Montera försiktigt materialen till spec. Var särskilt försiktig så att inga skruvar lossas. När detta är gjort måste du antingen byta hårdvara genom att dimensionera och borra större hål och knacka på dem, eller så måste du klippa en helt ny bit akryl. Observera att du också ska vara försiktig med den pekskyddande skärmen. Det är skört !!! Det är trots allt ett tunt lager av glas. Observera att vi själv hade en olycka.

Steg 4: Programmering

Programmering
Programmering

Programmeringen kan ta lite tid. Det är här dina programmeringskunskaper verkligen kan löna sig. Du behöver inte kunna skriva koden från grunden, men om du kan hitta en välkommenterad och organiserad källkod att ändra, så gör det livet så mycket enklare. Här är länken till vår källkod: https://github.com/a6guerre/Ball-balanced-on-Stew…, hjälp dig själv! Det är verkligen inte optimerat, men fick jobbet gjort! Kom ihåg att vi använder tre separata icke-ortoganska, icke-linjärt oberoende grund för kontrollkartan. Vi läser helt enkelt allt i x, y och kartlägger till A, B och C. Det här svaret ställs sedan in globalt för att justera hur mycket mer eller mindre vi vill att systemet ska svara.

Steg 5: Testa

Här testar vi frihetsgraderna. Notera nu hur våra tre baser lönar sig! Till exempel, för att få rullen DOF, går vi helt enkelt ner en enhet till vänster, medan vi går upp en enhet till höger, och vice versa för den andra riktningen. Det är också viktigt att ha gjort ett tillräckligt bra jobb med att filtrera brus från din pekskärm. Detta är viktigt för att ha bra data att mata in i din PID.

Steg 6: Finjustera och njut

Testfasen var egentligen bara för att få bort buggarna. Här fokuserar vi på att finjustera kontrollsystemet. detta görs bäst med en förinställd algoritm. Min favorit är att närma mig det som ett kritiskt dämpningsproblem, Ahem! Jag är fysiker! Så du stänger av dämpningstiden! Dvs den härledda termen, som fungerar som en dragterm. Nu kommer bollen att svänga vilt! Målet är dock att få svängningarna att vara så nära harmoniska som möjligt, inte växa eller förfalla, så gott du kan. När det är klart aktiverar du den härledda termen och justerar tills den återgår till jämvikt så snabbt som möjligt. Det är då kritisk dämpning uppnås. Men om detta inte fungerar finns det många andra väl beprövade inställningssystem för PID -styrda system. Jag hittade detta på wikipedia, under PID -kontrollen. Tack så mycket för att du tittade på mitt projekt, och kontakta mig om du har några frågor. Jag svarar gärna på alla frågor du har. Särskild anmärkning: Jag vill påpeka att detta projekt från början till slut gjordes av Miracle Max Guerrro och jag själv på knappt fyra veckor, inklusive att vänta i två veckor på en ny skärm som fastnade i tullen, efter vår första pank. Så ursäkta att det är långt ifrån perfekt prestanda. Glad hackning!

Rekommenderad: