Stap 9: Twee sensoren, één hoek.
Antwoord: beide.
De reden voor het gebruik van twee sensoren, hoewel er slechts één relevante fysieke variabele (hoek is) is omdat elk type sensor voor- en nadelen zelf heeft. Door het mengen van de beste delen van elk samen, wordt een betere globale raming op van de hoek bereikt. Ik schreef dit allemaal in dit Witboek, maar hier zal ik een korte samenvatting.
De versnellingsmeter.
Het meet de versnelling, recht? Nou, niet echt. Het meten van kracht per eenheid massa. Zo zal het de kracht als gevolg van zwaartekracht meten, alsof het een werkelijke versnelling. De gevoeligheid voor de Sparkfun Razor IMU wordt gegeven als 300mV/g, wat betekent dat de output zal veranderen door 0.3V per 9,8 m/s ^ 2 versnelling.
Hoe wordt dit omgezet in een hoek? Goed veronderstellen gebruikend de versnellingsmeter as die is aangegeven in de rijrichting van het voertuig. De standplaatsen voertuig vooruit, ziet de as positieve kracht als gevolg van de zwaartekracht. Als het voertuig achterwaarts standplaatsen, ziet het negatieve kracht. Het is verleidelijk om te zeggen dat de winst 300mV/90 º, moeten aangezien pitching 90º komt met 1g overeen. Het is echter de helling van de output in de buurt van 0 ° dat telt, en dankzij de trigonometrie deze helling toevallig 300mV/rad of 300mV / 57.3º. Zie de afbeelding hieronder voor een voorbeeld van dit.
Aangezien de Arduino van ADC een 10-bits waarde op basis van een 5V-referentie geeft, kunt u de winst op de ruwe waarde van ADC door berekenen:
(57.3º/0.3V)*(5V/1024LSB) = 0.932º / LSB
LSB (minst significante bit) is gewoon een manier om te zeggen een beetje. Dit is de waarde door die om te vermenigvuldigen de ruwe analoge waarde om de hoek in graden. Merk op dat u ook wilt aftrekken van de nul hoek offset vanaf het analoge signaal. Dit is experimenteel, beste gevonden door houdt het platform op nul hoek en de waarde af te lezen.
Dus waarom niet gewoon de versnellingsmeter gebruiken voor het meten van de hoek en worden gedaan? Het probleem is dat de versnellingsmeter niet het verschil tussen zwaartekracht en werkelijke versnelling vertellen. Dus, als het platform perfect niveau is maar het voertuig vooruit versnelt, het registreert hetzelfde als naar achteren kantelen. Het nemen van een lange-termijn gemiddelde, wel de enige "versnelling", dat blijft zwaartekracht. Helaas is het niet bevorderlijk voor snappy feedback controle op lange termijn gemiddelde. Voer...
De gyroscoop.
Nauwkeuriger moet het worden genoemd een hoekige rate sensor, omdat zij weinig heeft te maken met een werkelijke vliegwiel gebaseerde gyroscoop. Het rapporteert terug een signaal evenredig met de snelheid van de rotatie. Op een balancing platform zou de gevoelige as evenwijdig aan de aslijn van de rotatie van de wielen. De gyros Sparkfun IMU hebben een gevoeligheid van 3.33mV/º/s op de 4 x kanalen, wat betekent dat de uitgang wijzigingen 3.33mV voor elke º / s van rotatie.
Aangezien de Arduino van ADC een 10-bits waarde op basis van een 5V-referentie geeft, kunt u de winst op de ruwe waarde van ADC door berekenen:
[(1º/s)/0.00333V]*(5V/1024LSB) = 1.466(º/s)/LSB
Dit is de waarde door die om te vermenigvuldigen de ruwe analoge ingang om een hoeksnelheid in graden per seconde. Zoals de versnellingsmeter, moet de nul verschuiving voor de gyro eerst worden afgetrokken. Het kan worden gevonden door het platform holding stationaire en de analoge waarde af te lezen.
Om van graden per seconde naar graden, kan de gyro-signaal worden geïntegreerd. Voor elke stap in de tijd geeft het signaal van de gyro vermenigvuldigd met de duur van tijd tussen stappen een incrementele veranderen in hoek. De totale hoek is het lopende totaal van deze stappen. Dit veroorzaakt een probleem, hoewel: als de gyro-signaal niet precies nul wordt wanneer het platform is niet draaien (en nooit zal zij) de integratie zal drijven. Met geen absolute verwijzing is er geen manier om te corrigeren voor deze drift met de gyro signaal alleen. Voor korte duur biedt de gyro echter een zeer gevoelige hoek schatten dat is immuun voor lawaai van horizontale versnelling van het voertuig
Dus een sensor is zeer geschikt voor korte, snelle-reactie hoek schattingen. De andere is geweldig voor lange termijn, het gemiddelde van de absolute drift-vrije hoek. Bent u begint om te zien waar dit gaat?...