Bir jiroskop / ivmeölçer nasıl okunur


10

Yakın zamanda bu MPU6050 GY-521 kesme kartını satın aldım . Benim ile çalıştı Mega Arduino kullanarak bu Arduino kroki resmi sağladığı arduino.cc .
( MPU-6050 Veri Sayfası , InvenSence (yapımcı) Sayfa )

Dostum, bu garip çıktıyı veriyor !!!

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, 

(Bu sadece bir parçası, bu çıkış kralı sürekli verir). Kesinlikle biliyorum, sadece sıcaklık okuması anlamlı. Fakat ivme ve cayro okumaları için verilen değerler nelerdir?

Tamam, bunların ham değerler olduğunu söylüyor. Öyleyse, onları nasıl anlamlı değerlere dönüştürebilirim. (Birçok önerildiği gibi) yararlı olabilir umut, ben de sözde Jeff Rowbergkütüphane kullanmayı bilmek istiyorum .

MPU-6050 modülü ile deneyimli biri olacağını umuyoruz. Sadece başlamam için bir puan ver. Modülün nasıl kullanılacağı hakkında hiçbir fikrim yok ... :(

Herhangi bir yardım büyük beğeni topluyor. Teşekkürler !


1
Bu sorunun
çözümünde

Vay be-- bu şık küçük bir IMU!
Scott Seidman

Yanıtlar:


6

İvmeölçer adlı kişinin okuma mantıklı görünmektedir. Veri sayfası , sayfa 13 4 farklı hassasiyeti göstermektedir:

2 g  
4 g  
8 g  
16 g  

resp. duyarlılık ölçeği faktörleri:

16 384 counts/g  
8 192 counts/g  
4 096 counts/g  
2 048 counts/g  

Z-okumasından, 2 g ölçeğinin seçildiğini varsayıyorum, o zaman 15 608, 0,95 g'dır; bu, sensörü az ya da çok yatay tuttuğunuzda bir Z ekseni okumasından bekleyebileceğiniz şeydir. X ve Y okumaları, parçayı mükemmel şekilde yatay tutmadığınızda muhtemelen yerçekiminden kaynaklanmaktadır. Ve okumada da bir hata olacak.



Cayro için de benzer . Derece / sn başına 131 sayımda, parçayı elinizde tutuyorsanız bu tür bir okumaya sahip olabilirsiniz.


Teşekkürler! Tüm varsayımlarınız doğru. O 1g/16384zaman gerçek hızlanma okumasını (tüm eksenler için) elde etmek için ham çıkışın üstünde (2g ölçeği kullanırken) ile çarpmamı mı öneriyorsunuz ? Peki, jiroskop okumalarıyla nasıl başa çıkılır?
Anubis

Ve LSBbirimdeki anlamı LSB/gnedir?
Anubis

Cayro çok hassas görünüyor, bu yüzden ellerinizde tutmanız elleriniz biraz sallandığında (çok fazla kahve? :-)) bir rotasyon okuması verebilir. LSB = "Sayım" olarak çevirdiğim En Az Önemli Bit. Minimum değişikliği gösterir.
stevenvh

Genel olarak, bu tip cihazlardan gelen "ham" okumalar ofset (sapma) ve ölçek faktörü hatalarını içerecektir. Sonunda, ofset değerini çıkararak ve her eksen için bir ölçek faktörü ayar değeri ile çarparak bu hataları kalibre etmek isteyeceksiniz.
Dave Tweed

Veri sayfasına bağlantı koptu. Belgenin yeni yerini biliyor musunuz?
Sağ bacak

11

Bir Jiroskop, ilgili üç eksendeki (sırasıyla Yaw, Pitch ve Roll eksenleri) Açısal Hız (derece / saniye) değerlerini verir.

Ancak bu sensörler tarafından ilk verilen ham değer, ölçeklenerek mantıklı ivme veya açısal hız değerlerine dönüştürülmelidir.

MPU-6050'nin InvenSense Veri Sayfası, farklı jiroskop değerleri aralıkları için farklı ölçeklendirme faktörleri kullanmamız gerektiğini söylüyor. Sonunda bu ölçeklendirme faktörlerinin nasıl kullanılacağını açıklayacağım.

Angular Velocity Limit  |   Sensitivity
----------------------------------------
250º/s                  |    131
500º/s                  |    65.5 
1000º/s                 |    32.8 
2000º/s                 |    16.4

9.81ms2

İvmeölçer değerleri için ölçeklendirme faktörleri:

Acceleration Limit  |   Sensitivity
----------------------------------------
2g                  |    16,384
4g                  |    8,192  
8g                  |    4,096 
16g                 |    2,048 

Ham verilerin dönüştürülmesi:

required_value=RAW_VALUEproper_sensitivity

Örneğin, ilk verilerde,

accel x,y,z: 1944, 368, 15608
gyro x,y,z : -34, -204, -247

Hızlanma 2g sınırında gibi görünüyor. Yani ölçeklendirme faktörü = 16384

birx=194416384g

250ºs

anlamına gelirgyro_value=-34131degreessec

Umarım yardımcı olur. :)


1
Bu cevabın, kabul edilene kıyasla çok daha iyi bir açıklama sağladığını hissediyorum.
chutsu

@ajmal Algıladığınız noktaya kadar sensör değerlerini anlıyorum. Gyro'nun varsayılan olarak hafif bir sapması olduğunu da anlıyorum. Fakat gerçek dünyadaki konumlandırmada verilerin nasıl görselleştirileceğini anlamıyorum. Euler açıları, kavgalar hakkında çok şey okudum, ama temsiller ve arkasındaki matematik arasındaki dengesizlikleri anlamıyorum. Nereden başlayacağınıza dair herhangi bir öneri.
seetharaman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.