Self Balancing ondersteboven slinger (6 / 9 stap)

Stap 6: De vaste bedragen!


Dus hoe het evenwicht? Negatieve feedback wordt gebruikt door het creëren van een fout tussen de gewenste hoek van de helling en de gemeten waarde van het gyro. Als de twee verschillen wordt een stuurspanning toegepast op beide motoren tegelijk wilt rijden de kar naar voren of achteruit wilt corrigeren van deze hoek. Een dergelijke aanpak staat bekend als proportionele controle en lijdt aan het feit dat dit een grote fout die is gemaakt kan worden. Theorie vertelt ons dat door het verhogen van het bedrag van de winst naar het pad van de fout dat deze fout vermindert. Helaas maken de fout kleine genoeg vergt dergelijke een grote winst dat de lus instabiel wordt en de kar omvalt. We zaken kunnen verbeteren door de toevoeging van een tweede termijn, die evenredig is aan het differentieel van de fout signaal tijd krijgen een tweede termijn. Dit staat bekend als differentiële controle en wanneer toegevoegd aan de proportionele term staat bekend als PD of evenredige plus afgeleide controle. De D-termijn stabiliseert het systeem en vermindert de instabiliteit. Dat zou het antwoord zijn, behalve dat de fout niet altijd gaan naar nul en er een eindige verschil overblijft is. De kar zal flop terug en vooruit en niet blijven rechtop. We kunnen een derde termijn die is een integrator die de fout wegneemt toevoegen. Helaas leidt dit derde zogenaamde dat ik termijn indien in te grote hoeveelheden gegeven tot verdere instabiliteit. Daarom moet een compromis tussen de drie termen in wat bekend als een PID-regelaar staat worden voldaan. Afstemmen van PID controllers is een beetje een kunst en er zijn tuning regels, maar ze zijn niet zo goed als er een inherent onstabiel systeem zoals we doen. Echter, PID werkt en andere instructibles hebben het gebruikt.

De aanpak die we hier gebruiken is de benadering die veel voor de Segway gebruikt en houdt geen zeggenschap in PID. PID is vaak bekend als klassieke regeltheorie overwegende dat wat we hier gebruiken is bekend als moderne regeltechniek. In feite is de klassieke aanpak niet die oude en de moderne benadering niet dat moderne! De moderne benadering die we gebruiken is bekend als de Pole-positie staat-Feedback. In het we feedback verhoudingen van hoekige positie, snelheid en versnelling. De Segway indestructibles gebruiken alleen positie en snelheid terugkoppeling naar het beste van mijn kennis. Ik voegde een derde staat van versnelling en een vierde staat die integratie of integraal actie. Dit soort dingen is goed ingeburgerd in de studieboeken in feite maar zelden gezien in de demonstraties. Wij zouden doorgaans alleen een wiskundig model dwz de differentiaalvergelijkingen met een beschrijving van het volledige dynamische systeem. Hier gebruik ik een eenvoudiger aanpak en afstemmen van het als een PID. Er is een gelijkenis tussen de PD-controle en staat feedback die alleen feedback van de positie en snelheid gebruikt. De snelheid-feedback is bekend als tarief feedback en is gewoon een differentiële beschermingstermijn die is gelezen uit een sensor in plaats van wezen expliciet berekend. Het verschil hier is dat differentiatie in het Feedback-pad in plaats van de voorwaartse pad zoals het geval met PID. Dit geeft een beetje meer demping ten koste van een beetje langzamer systeem - maar kan gemakkelijk worden gecompenseerd door verhoging van de totale winst. Dus hier meten we direct hoekige fout met de Gyro en de hoeksnelheid van de versnellingsmeter.

Het derde land is versnelling die we berekenen (er zijn betere manieren maar voor nu ik deze methode gebruiken) rechtstreeks door te differentiëren van de snelheid. Door het beheersen van versnelling te kunnen bepalen van de huidige getrokken van de motoren en verbeteren van verstoring afwijzing. Als u niet kunt versnelling met een transducer meten (dat is meestal het geval) moet dan u het door differentiatie of met behulp van een staat-waarnemer of Kalman-filter.

Dus de controle-signaal is

u (k) =-K * [Kp * y (k) + Kd * y (k) _dot + Ka * y (k) _double_dot]

waar K is totale winst van de potentiometer aangepast en Kp, Kd en Ka de proportionele winst zijn, krijgen afgeleide winst en versnelling respectievelijk. Hier y(k) vertegenwoordigt de huidige lezing van de Gyro-sensor (hoek) en y (k) _dot is de huidige lezing van hoeksnelheid y (k) _double_dot is de huidige lezing van versnelling allemaal op instant k van de tijd. In het diagram is Ki integraal winst.

Digitaal onderscheiden kunnen we gebruik maken van een eenvoudige benadering van Euler. Een bemonstering interval dT seconden (hier is dT = 0,01 voor een sampling-frequentie van 100 Hz) Wij kunnen differentiëren snelheid omega versnelling accel als het geven

angular versnelling van de hoeksnelheid berekenen

omega_old = omega; opslaan van de laatste waarde van de versnelling

Omega =.. .Lees snelheid van versnellingsmeter hier

differentiëren

accel =(omega-omega_old) /dT;

Meestal weglaten van dT (dwz instellen dT = 1) wordt het als een winst-term die we afzonderlijk kunt aanpassen.

Dit is vrij een ruw differentiator en in feite elke vorm van pure differentiator is een slecht idee voor een besturingselement lus omdat het hoogfrequent geluid versterkt en structurele resonantie opwekt. Dus wij low-pass filter de gedifferentieerde output. We gebruiken een eerste orde-laagdoorlaatfilter - zou duren om alle van de theorie hier te leggen. Dit filter wordt niet in het bovenstaande diagram weergegeven. (alleen het ideale geval).

Te integreren we gebruiken een eenvoudige integratie van Euler. bijvoorbeeld aan het integreren van een fout

Integratie van fout

Setpoint = 0 voor nul graden verticaal

fout = setpoint-output_value;

y_out_past = y_out; / winkel/voorbij de waarde van de productie van de integrator

y-out = y_out_past + dT * fout;

Ja u kunt de y += type notatie in code maar het verbergt wat er gebeurt en het begrip

y_out is waar de geïntegreerde output. meestal we dT weglaten en schalen later dwz dT = 1. In principe kunt u een opsomming te maken van integratie, maar bovenstaand werkwijze zit een betere - recursieve methode monster door monster en alleen vereist minimale opslag. Sommatie zou verplichten ons om een aantal afgelopen waarden te slaan. U kunt ook integratie via z-transformaties uitvoeren en krijgen een iets meer nauwkeurige versie een trapeziumvormige Integrator genoemd. Geen behoefte aan dat complicatie hier, maar ik heb het gebruik van z-transformaties voor onze eenvoudige low-pass filter.

De bemonsteringsfrequentie: ik bovenstaande code van Segway gewend de samplingfrequentie ingesteld op 100Hz en kon niet krijgen om te gaan sneller. Ik controleerde met een oscilloscoop dat dit het ware sampling-frequentie was door het spiegelen van een vlag van de logica op en neer - true en false zeer uitvoering van de lus. Ik stuur dit naar een digital out en kreeg een vierkante manier. Ik heb de helft-periode gemeten en het was ter plaatse op 0.01secs = dT. Het blokdiagram wordt weergegeven met de volledige staat-feedback en integraal actie.

Ik gebruikte ook de speciale zogenaamde aanvullende filters te combineren van de versnellingsmeter en de gyro lezing. Dit is omdat de versnellingsmeter goed bij lage frequenties, is terwijl de gyro goed bij hoge frequenties, is terwijl het tegenovergestelde het geval voor slechte prestaties is. Dit geprobeerd te verminderen van het effect van gyro drift. Een andere benadering is een Kalman-filter te gebruiken maar dit is hier niet getoond. Gegevens over aanvullende filter wordt weergegeven in de onderstaande link.

http://www.chrismarion.net/index.php?option=com_co...

Het belangrijkste idee wordt weergegeven in het diagram (zie hieronder het diagram staat-feedback) ontleend aan deze link.

Gerelateerde Artikelen

B-robot EVO. De self balancing robot

B-robot EVO. De self balancing robot

Hoe werkt het?B-ROBOT is een op afstand bestuurbaar self balancing arduino robot gemaakt met 3D gedrukte delen. Met slechts twee wielen vermag B-ROBOT haar evenwicht hele tijd door met behulp van zijn interne sensoren en rijden de motoren. Kunt u uw
Domo Kun WobblyBot, eenvoudige Self Balancing Robot

Domo Kun WobblyBot, eenvoudige Self Balancing Robot

Een self balancing robot van de twee wielen die wiebelt, vandaar de naam WobblyBot.Misschien wel de eenvoudigste ontwerp voor een robot die zelf (soort van) op twee wielen, zonder het gebruik van de gyroscoop, versnellingsmeter en microcontroller eve
Self Balancing Scooter Ver 2.0

Self Balancing Scooter Ver 2.0

11/01/2013******************************************************************************************************************Helaas de IDG500/ADXL335 chips gebruikte op de accelometer is End of Life.Dus zullen ze niet langer worden fabricage die chips
Self Balancing Segway-Instructabot

Self Balancing Segway-Instructabot

Benodigdheden:1. Arduino: Ik gebruikte een Uno2. 7.2V accu3. Stel van motoren: Parralax van 7, 2V motor instellen http://www.robotshop.com/parallax-7-2v-motor-bracket-wheel-kit-pair.html4. analoge versnellingsmeter http://www.robotshop.com/sfe-3g-tri
Gemakkelijk bouwen self balancing elektrische skateboard

Gemakkelijk bouwen self balancing elektrische skateboard

Wat is het?Dubbele wielen skateboard dat als een Segway werkt. Elektrische skateboards bestaan al met aangedreven achterwielen. Plan hier was om iets te bouwen als een Segway, maar in de vorm van een skateboard. Het weet welke kant is "up" via e
Self Balancing PT (huisgemaakte Segway)

Self Balancing PT (huisgemaakte Segway)

Dit Instructable is bedoeld om te delen mijn hobbyist-project: een Self-Balancing persoonlijke vervoer (SBPT), ook bekend als "huisgemaakte Segway". Het is een interessant project vereist een minimale kennis van elektronica en sommige handwerk v
Self balancing one wheeled electric skateboard

Self balancing one wheeled electric skateboard

NOTE:Mei 2011: Dit instructable is nu vrij oud (relatief) en ik kan nu bouwen dit project eenvoudiger met een Arduino als de controller.Ik ben momenteel bezig met een eenwieler met dezelfde OSMC motor controller en een Arduino. Wanneer ik dat aan het
2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050.Arduino als de controller en de sensor MPU6050 gebruiken om te bepalen van het evenwicht. Gewoon een eenvoudige seriële Bluetooth module toevoegen en een Bluetooth seriële Controller AP
Self balancing skateboard/segw * y project Arduino Shield

Self balancing skateboard/segw * y project Arduino Shield

Ga lgemene doel Arduino schild voor self balancing machines.Waarom ik het maken?Eerder maakte ik een Instructable in 2010 over het bouwen van een zelfbalancerende skateboard.Er zijn > 500 opmerkingen hierover en veel express verwarring instellen van
Self Balancing Unicycle

Self Balancing Unicycle

na de populariteit van onze zelf in evenwicht brengen van de scooter en de SciChair hebben we besloten om te proberen iets een beetje meer edgier, de Self Balancing Unicycle.Dit project hergebruikt alot van spullen van onze eerdere projecten, met beh
Arduino Self Balancing Robot

Arduino Self Balancing Robot

In dit project die zal ik beschrijven de bouw van robots in evenwicht met Arduino.We staan uitgelegd in onze vorige versie van het android gecontroleerde project. In dit project gaan we tot onze controle. Laten we laten we krijgen op onze bouwproject
Rollbars voor Self Balancing Robot en op trappen

Rollbars voor Self Balancing Robot en op trappen

Toegevoegd sommige rollbars maakte van badminton rackets naar mijn eenvoudige self balancing robot die vrij een beetje omvalt. Nu kunt ten minste het terughalen omhoog het grootste deel van de tijd.Het spijt me dat ik ben niet het creëren van een ech
Mijn eerste Self Balancing Robot Diy gemakkelijk onder 25S

Mijn eerste Self Balancing Robot Diy gemakkelijk onder 25S

Dit is mijn eerste self balancing robot en ik zoeken op internet naar andere zelf in evenwicht brengen van projecten en ontwerp ik mijn mijn robot om eenvoudig en goedkoop.In deze instructabile ik whill vertellen u stap voor stap hoe om uw robot in d
Make a Halloween Pumpkin wandelen door de self balancing Robot

Make a Halloween Pumpkin wandelen door de self balancing Robot

Pompoen is een typische symbool van Halloween. Je heb ooit wilde een wandelende pompoen maken.Hier zal ik u tonen mijn werk van het gebruik van een Self-balancing Robot een lichtend pompoen om rond te bewegen.Stap 1: voorbereiding Belangrijkste stukl