Inhoudsopgave:

PID-gestuurde balbalancering Stewart-platform - Ajarnpa
PID-gestuurde balbalancering Stewart-platform - Ajarnpa

Video: PID-gestuurde balbalancering Stewart-platform - Ajarnpa

Video: PID-gestuurde balbalancering Stewart-platform - Ajarnpa
Video: Gip 6ET 2024, Juli-
Anonim
Image
Image
Materialen ophalen
Materialen ophalen

Motivatie en algemeen concept:

Als fysicus in opleiding ben ik van nature aangetrokken tot en probeer ik fysieke systemen te begrijpen. Ik ben getraind om complexe problemen op te lossen door ze op te splitsen in hun meest elementaire en essentiële ingrediënten en het probleem van daaruit weer op te bouwen. Hoewel ik mechanica en elektromagnetisme heb geleerd vanaf de eerste principes, moet ik ze nog in een fysieke toepassing gebruiken. Ik zal eindelijk deze kans krijgen door een robot te maken die de theorie van automatische besturing gebruikt om autonoom een bal op een plat, volledig gecontroleerd platform te balanceren, helemaal alleen!

In deze how-to; die bedoeld is voor de technisch onderlegde hacker, programmeur of ingenieur, zullen we een Arduino Uno gebruiken als ons microcontrollerplatform. De gesloten feedbacklus begint als het de positie van een massief metalen kogellager detecteert dat op een plat aanraakbestendig scherm ligt, dat de kogels onmiddellijk terugkoppelt. Deze positie wordt vervolgens ingevoerd in een proportioneel-integraal-derivaat (PID) -controller, die we in de Arduino Uno hebben geprogrammeerd. Ik heb deze code open source gemaakt en in het project gelinkt. De controller is belast met het herstellen van de bal naar elke door de gebruiker gekozen positie op de tafel, zelfs als deze aanzienlijk wordt verstoord. Het structurele ondersteunende platform dat we zullen gebruiken, staat bekend als een 'Stewart-platform' en wordt ondersteund door zes onafhankelijke drijfstangen die worden aangedreven door servomotoren die tot zes vrijheidsgraden bieden; X-, Y- en Z-translaties, rollen, stampen en gieren (rotaties om respectievelijk de X-, Y- en Z-assen). Het bouwen en programmeren van zo'n zeer mobiel platform brengt zijn eigen uitdagingen met zich mee, dus voor dit project zullen we alleen een beroep doen op de vrijheidsgraden van pitch and roll, terwijl we de anderen overlaten als optionele upgrades van functionaliteit, als de gebruiker dat wenst. Samen met het platform dat de bal naar een van een reeks statische, door de gebruiker gedefinieerde posities verplaatst, zullen gevorderde programmeurs het gemakkelijk vinden om het programma te verbeteren en wat panache toe te voegen door onze statische, door de gebruiker gedefinieerde positie te vervangen door een semi-continu spoor van een gebruiker gedefinieerd pad, zoals een cijfer acht, cirkelvormig traject, uw naam in cursief, of mijn favoriet een livestream van iemands stylus of vinger op hun eigen mobiele apparaat! Veel plezier met hacken!

Stap 1: Verkrijg materialen

Materialen ophalen
Materialen ophalen
Materialen ophalen
Materialen ophalen
Materialen ophalen
Materialen ophalen

Benodigde materialen:

1. Een paar vellen 1/4" en 1/8" acryl

2. 6 - Servomotoren (we gebruikten HS5485HB servo's)

3. 6 - (verstelbare) drijfstangen met schroefdraad

4. 6 - CNC-gefreesde servo-armen met meerdere gaten voor verstelbaarheid

5. 12 - Heim Gezamenlijke Stanguiteinden

6. 6 - Staven (verstelbaar)

7. 1- 17” USB-kit met vijfdraads resistief touchscreenpaneel (detectiepositie van kogellager)

Stap 2: Materialen voorbereiden

Materialen voorbereiden
Materialen voorbereiden
Materialen voorbereiden
Materialen voorbereiden
Materialen voorbereiden
Materialen voorbereiden

De beste manier om de acrylsnede te krijgen, is door een lasercamera te gebruiken. Toegang tot een kan moeilijk zijn, dus het acryl kan ook gemakkelijk worden gesneden met behulp van alle snijgereedschappen waarmee u bekend bent, goed bent opgeleid en veilig kunt werken. Als ik dit bijvoorbeeld thuis zou doen, zou ik een handzaag gebruiken. De algehele vorm van het Stewart-platform hoeft niet precies overeen te komen met het model dat ik heb gebouwd. Wel wil ik wijzen op enkele vereenvoudigende mogelijkheden. Ten eerste is het veel gemakkelijker om de vrijheidsgraden van pitch en roll in kaart te brengen door drie basis te gebruiken in plaats van de standaard twee. dit wordt gedaan door de bevestiging van de drijfstangen aan het eigenlijke platform een gelijkzijdige driehoek te maken. Hierdoor kunt u alle complicaties van het vinden van de pitch-and-roll-vrijheidsgraden (DOF) vanaf het begin negeren, in plaats daarvan gebruiken we 3 niet-lineair onafhankelijke "basis" die eenvoudigweg de kaart is van die hoek van de driehoek die omhoog gaat. Dit zou een uitdaging zijn voor jou of mij om coördinaten in deze basis uit te schrijven, maar de onderlinge afhankelijkheid van deze basis wordt gemakkelijk afgehandeld door de code. Deze vereenvoudigende aanname is de sleutel tot het negeren van alle fijne kneepjes van de geometrie. Zie de afbeelding MS Paint graphic en whiteboard afbeelding voor details.

Zodra de stukken zijn gesneden, moet u alle gaten boren, waar uw drijfstangen en kogelgewrichten op aansluiten. Zorg ervoor dat de grootte van het gat overeenkomt met de juiste hardware die u gebruikt. Dit is van vitaal belang om de door u gekozen bevestigingsmiddelen te laten werken. De gatmaten zijn gebaseerd op de maat kraan die u nodig heeft voor uw sluiting. Zoek hiervoor een online referentie voor de specifieke tapmaat, spoed en schroefdraadtype (fijn vs natuurlijk). Ik raad natuurlijk garen aan voor acryl, maar als je fijne draad moet gebruiken, zou het moeten lukken, want dat hebben we toch gebruikt. Nu is het tijd om verder te gaan met de montage.

Stap 3: monteer materialen

Materialen monteren
Materialen monteren
Materialen monteren
Materialen monteren
Materialen monteren
Materialen monteren
Materialen monteren
Materialen monteren

Monteer de materialen zorgvuldig volgens de specificaties. Wees vooral voorzichtig om geen schroeven te strippen. Zodra dit is gebeurd, moet u de hardware wijzigen door grotere gaten op maat te maken en grotere gaten te boren en erop te tikken, of u moet een geheel nieuw stuk acryl snijden. Let ook op met het aanraakgevoelige scherm. Het is kwetsbaar!!! Het is tenslotte een dun laagje glas. Merk op dat we zelf een ongeluk hebben gehad.

Stap 4: Programmeren

Programmeren
Programmeren

Het programmeren kan enige tijd duren. Dit is waar je programmeervaardigheden echt hun vruchten kunnen afwerpen. U hoeft de code niet helemaal opnieuw te kunnen schrijven, maar als u een goed becommentarieerde en georganiseerde broncode kunt vinden om aan te passen, dan maakt dat het leven een stuk eenvoudiger. Hier is de link naar onze broncode: https://github.com/a6guerre/Ball-balanced-on-Stew…, help jezelf! Het is zeker niet geoptimaliseerd, maar de klus is geklaard! Onthoud dat we drie afzonderlijke niet-orthoganale, niet-lineair onafhankelijke basis gebruiken voor de controlekaart. We lezen gewoon alles in x, y en brengen A, B en C in kaart. Dit antwoord wordt dan globaal afgestemd om aan te passen hoeveel meer of minder we willen dat het systeem reageert.

Stap 5: Testen

Hier testen we de vrijheidsgraden. Merk nu op hoe onze drie basis vruchten afwerpen! Om bijvoorbeeld de rol-DOF te krijgen, gaan we gewoon één eenheid naar links, terwijl we één eenheid naar rechts gaan, en vice versa voor de andere richting. Het is ook belangrijk dat u de ruis van uw aanraakscherm voldoende goed hebt gefilterd. Dit is essentieel om goede gegevens in uw PID te kunnen invoeren.

Stap 6: Fijn afstemmen en genieten

De testfase was eigenlijk alleen maar om de bugs eruit te krijgen. Hier richten we ons op het verfijnen van het besturingssysteem. dit kan het beste met een vooraf ingesteld algoritme. Mijn favoriet is om het te benaderen als een kritisch dempingsprobleem, Ahem! Ik ben een fysicus! Dus je zet de dempende term uit! Dat wil zeggen de afgeleide term, die werkt als een sleepterm. Nu zal de bal wild oscilleren! Het doel is echter om de oscillaties zo dicht mogelijk bij de harmonische te krijgen, niet groeiend of vervallend, zo goed als je kunt. Zodra dat is gebeurd, schakelt u de afgeleide term in en past u deze aan totdat deze zo snel mogelijk weer in evenwicht is. Dit is wanneer kritische demping wordt bereikt. Als dit echter niet werkt, zijn er veel andere beproefde afstemmingsschema's voor PID-gestuurde systemen. Ik vond dit op wikipedia, onder PID-controller. Heel erg bedankt voor het bekijken van mijn project, en neem contact op met eventuele vragen, ik zal blij zijn om al uw vragen te beantwoorden. Speciale opmerking: ik wil erop wijzen dat dit project van begin tot eind werd gedaan door de Miracle Max Guerrro en mezelf in iets minder dan vier weken, inclusief twee weken wachten op een nieuw scherm dat vastzat bij de douane, na onze eerste kapot gegaan. Dus excuseer, het is verre van perfecte prestaties. Veel plezier met hacken!

Aanbevolen: