Niedawno kupiłem tę płytkę zabezpieczającą MPU6050 GY-521 . Próbowałem z moim Arduino Mega, korzystając z tego szkicu Arduino dostarczonego przez oficjalny arduino.cc .
( Karta katalogowa MPU-6050 , strona InvenSence (producent) )
Człowieku, daje to dziwną moc !!!
InvenSense MPU-6050
June 2012
WHO_AM_I : 68, error = 0
PWR_MGMT_2 : 0, error = 0
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1944, 368, 15608
temperature: 30.576 degrees Celsius
gyro x,y,z : -34, -204, -247,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1952, 364, 15304
temperature: 30.435 degrees Celsius
gyro x,y,z : -38, -216, -274,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1864, 388, 15356
temperature: 30.482 degrees Celsius
gyro x,y,z : -34, -233, -278,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1888, 324, 15260
temperature: 30.576 degrees Celsius
gyro x,y,z : -14, -220, -261,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1904, 392, 15316
temperature: 30.624 degrees Celsius
gyro x,y,z : -34, -241, -238,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1856, 308, 15604
temperature: 30.435 degrees Celsius
gyro x,y,z : -33, -252, -235,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1892, 444, 15528
temperature: 30.624 degrees Celsius
gyro x,y,z : 20, -236, -251,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1924, 356, 15520
temperature: 30.576 degrees Celsius
gyro x,y,z : -19, -224, -251,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1844, 280, 15732
temperature: 30.529 degrees Celsius
gyro x,y,z : -1, -240, -249,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 2004, 372, 15396
temperature: 30.671 degrees Celsius
gyro x,y,z : -20, -252, -255,
(To tylko część tego, daje to królowi ciągłej wydajności). Wiem na pewno, tylko odczyt temperatury ma znaczenie. Ale jakie są te wartości dla przyspieszenia i odczytów żyroskopu?
OK, mówi, że są to wartości surowe. Jeśli tak, to w jaki sposób mogę je przekształcić w wartościowe wartości. Mając nadzieję, że może to być pomocne (jak wielu sugerowało), lubię też wiedzieć, jak korzystać z tak zwanej Jeff Rowberg
biblioteki.
Mam nadzieję, że będzie ktoś doświadczony z modułem MPU-6050. Po prostu daj mi punkt, aby zacząć. Nie mam pojęcia, jak korzystać z modułu ... :(
Każda pomoc jest znacznie ceniona. Dzięki !
źródło
Odpowiedzi:
Akcelerometr „s odczyt wydaje się mieć sens. Datasheet , strona 13 wskazuje, 4 różne wrażliwości:
z resp. współczynniki skali wrażliwości:
Z odczytu Z zakładam, że masz wybraną skalę 2 g, a następnie 15 608 wynosi 0,95 g, czego można oczekiwać od odczytu osi Z, gdy trzymasz czujnik mniej więcej w pozycji poziomej. Odczyt X i Y prawdopodobnie wynika również z grawitacji, gdy nie trzymasz części idealnie poziomo. I będziesz miał błąd w czytaniu.
Podobne dla żyroskopu . Przy 131 zliczeniach na stopień / s możesz mieć tego rodzaju czytanie, jeśli trzymasz tę część w rękach.
źródło
1g/16384
(przy użyciu skali 2 g), aby uzyskać rzeczywisty odczyt przyspieszenia (dla wszystkich osi ciebie)? Jak zatem radzić sobie z odczytami żyroskopów?LSB
tego urządzeniaLSB/g
?Żyroskop podaje wartości prędkości kątowej (stopnie / s) w trzech odpowiednich osiach (odpowiednio osie odchylenia, pochylenia i przechyłu).
Ale jakakolwiek surowa wartość podana najpierw przez te czujniki powinna zostać przeliczona na skalowalne wartości przyspieszenia lub prędkości kątowej.
Arkusz danych InvenSense MPU-6050 mówi, że musimy stosować różne współczynniki skalowania dla różnych zakresów wartości żyroskopu. Na końcu wyjaśnię, jak wykorzystać te czynniki skalowania.
Współczynniki skalowania dla wartości akcelerometru:
Konwertowanie nieprzetworzonych danych:
Na przykład masz pierwsze dane
Wydaje się, że przyspieszenie wynosi 2 g. Zatem współczynnik skalowania = 16384
Gyro wydaje się być w granicy . Współczynnik skalowania lub czułość = 131250 ºs
implikujewartość żyroskopowa = - 34131ree gR e e es e c
Mam nadzieję, że to pomaga. :)
źródło