Accelerometer & Gyro handledning (2 / 3 steg)
Steg 2: gyroskop
Varje kanal gyroskop mäter rotation runt en av axlarna. Till exempel en 2-axlig gyroskop mäter rotation runt (eller man kan säga "om") X och Y-axlarna. Att uttrycka denna rotation i antal låt oss göra några noteringar. Första låt oss definiera:
Rxz - är projektionen av tröghetsbaserad kraft vektorn R på XZ-planet
Ryz - är projektionen av tröghetsbaserad kraft vektorn R på YZ planet
Från den rätvinkliga triangeln bildas av Rxz och Rz, med hjälp av Pythagoras sats vi får:
Rxz ^ 2 = Rx ^ 2 + Rz ^ 2, och på samma sätt:
Ryz ^ 2 = Ry ^ 2 + Rz ^ 2
Observera också att:
R ^ 2 = Rxz ^ 2 + Ry ^ 2, detta kan härledas från Eq.1 och ovan ekvationer, eller det kan härledas från rätvinklig triangel som bildas av R och Ryz
R ^ 2 = Ryz ^ 2 + Rx ^ 2
Vi kommer inte att använda dessa formler i den här artikeln men det är värt att notera förhållandet mellan alla värden i vår modell.
Vi kommer istället att definiera vinkeln mellan Z-axeln och Rxz, Ryz vektorer enligt följande:
Axz - är vinkeln mellan Rxz (projektion av R på XZ plan) och Z-axeln
Ayz - är vinkeln mellan Ryz (projektion av R på YZ planet) och Z-axeln
Nu får vi närmare till vad gyroskop åtgärder. Gyroskop mäter graden av förändringar av de vinklar som definieras ovan. Med andra ord kommer det ut ett värde som är linjärt relaterad till graden av förändring av dessa vinklar. Förklara detta låt oss anta att vi har mätt rotationsvinkeln runt Y-axeln (som skulle vara Axz vinkel) på tiden t0, och vi definierar det som Axz0, nästa vi mätt denna vinkel vid en senare tid t1 och det var Axz1. Förändringstakten kommer att beräknas enligt följande:
RateAxz = (Axz1 - Axz0) / (t1 - t0).
Om vi uttrycker Axz i grader och tid i sekunder, kommer sedan detta värde att uttryckas i deg/s. Detta är vad ett gyroskop mäter.
I praktiken ett gyroskop (om det inte är en särskild digital gyroskop) sällan ger dig ett värde uttryckt i grader/s. samma som för accelerometer får du en ADC-värde som måste du konvertera till deg/s med en formel som liknar ekv 2 som vi har definierat för accelerometer. Låt oss presentera ADC för deg/s konverteringsformeln för gyroskop (vi antar att vi använder en 10 bitars ADC modul, för 8-bitars ADC ersätta 1023 med 255, för 12 bitars ADC ersätta 1023 med 4095).
RateAxz = (AdcGyroXZ * Vref / 1023 - VzeroRate) / känslighet Eq.3
RateAyz = (AdcGyroYZ * Vref / 1023 - VzeroRate) / känslighet
AdcGyroXZ, AdcGyroYZ - erhålls från våra adc modul och de representerar kanalerna som mäter rotation av projektionen av R vektor i XZ respektive i YZ-plan, vilket motsvarar att säga rotation gjordes runt Y- och X-axlarna respektive.
VREF - är den ADC referensspänningen vi använder 3.3V i exemplet nedan
VzeroRate - är den nollskattesatsen spänning, dvs spänningen att gyroskopet utgångar när det inte är föremål för någon rotation, Acc_Gyro styrelsen det är for example 1.23V (du kan hitta detta värden i specifikationer)
Känslighet - är känsligheten för din gyroskop som det uttrycks i mV / (deg / s) skrivs ofta som mV/deg/s, den i princip talar om hur många mV gyroskop produktionen ökar, om du ökar rusade rotationen av en deg/s. Känsligheten av Acc_Gyro styrelsen är till exempel 2mV/deg/s eller 0.002V/deg/s
Låt oss ta ett exempel, anta att våra ADC modul returneras följande värden:
AdcGyroXZ = 571
AdcGyroXZ = 323
Formeln ovan, samt använder parametrarna specifikationer av Acc_Gyro ombord får vi:
RateAxz = (571 * 3.3V / 1023 - 1.23V) / (0.002V/deg/s) = ~ 306 deg/s
RateAyz = (323 * 3.3V / 1023 - 1.23V) / (0.002V/deg/s) = ~-94 deg/s
Med andra ord enheten roterar kring Y-axeln (eller vi kan säga att den roterar i XZ-planet) med en hastighet av 306 deg/s och runt X-axeln (eller vi kan säga att den roterar i YZ planet) med en hastighet av-94 deg/s. Observera att minustecknet betyder att enheten roterar i motsatt riktning från den konventionella positiv riktningen. Genom konventionen är en rotationsriktning positivt. En bra gyroskop produktblad kommer att visa dig vilken riktning är positiva, annars har du hitta den genom att experimentera med enheten och kontrollera vilken riktning av rotation leder till ökande spänning på produktionen stift. Det är bäst gjort med ett oscilloskop eftersom så fort du stoppa rotationen spänningen kommer att sjunka tillbaka till den nollskattesatsen nivå. Om du använder en multimeter som du måste hålla en konstant rotation takt för åtminstone några sekunder och anteckna spänningen under denna rotation, sedan jämföra den med den nollskattesatsen spänning. Om det är större än den nollskattesatsen spänning betyder det att rotationsriktningen är positiva.