Làm thế nào để đọc một con quay hồi chuyển / gia tốc kế


10

Gần đây tôi đã mua bảng đột phá MPU6050 GY-521 này . Tôi đã thử nó với Arduino Mega của tôi bằng cách sử dụng bản phác thảo Arduino này được cung cấp bởi arduino.cc chính thức .
(Trang dữ liệu MPU-6050 , Trang InvenSence (nhà sản xuất) )

Man, nó cho đầu ra kỳ lạ này !!!

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, 

(Đây chỉ là một phần của nó, nó mang lại cho vua sản lượng này liên tục). Tôi biết chắc chắn, chỉ đọc nhiệt độ là có ý nghĩa. Nhưng những giá trị được đưa ra để tăng tốc và đọc con quay hồi chuyển là gì ??

OK, nó nói đó là những giá trị thô. Nếu nó là như vậy, làm thế nào tôi có thể chuyển đổi chúng thành các giá trị có ý nghĩa. Hy vọng nó có thể hữu ích (như nhiều gợi ý), tôi cũng muốn biết cách sử dụng cái gọi là Jeff Rowbergthư viện.

Hy vọng sẽ có người có kinh nghiệm với mô-đun MPU-6050. Chỉ cần cho tôi một điểm để bắt đầu. Tôi không biết cách sử dụng mô-đun ... :(

Bất kỳ trợ giúp được đánh giá rất cao. Cảm ơn !


1
Tôi đã có một vấn đề tương tự đã giải quyết trong câu hỏi này Electronics.stackexchange.com/questions/39024/NH
JDD

Wow-- đó là một IMU nhỏ tiện lợi!
Scott Seidman

Câu trả lời:


6

Việc đọc gia tốc dường như có ý nghĩa. Bảng dữ liệu , trang 13 chỉ ra 4 độ nhạy khác nhau:

2 g  
4 g  
8 g  
16 g  

với sự tôn trọng yếu tố thang độ nhạy:

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

Từ đọc Z, tôi giả sử bạn có thang đo 2 g được chọn, sau đó 15 608 là 0,95 g, đó là những gì bạn có thể mong đợi từ đọc trục Z khi bạn giữ cảm biến theo chiều ngang nhiều hay ít. Việc đọc X và Y có lẽ cũng là do trọng lực khi bạn không giữ phần hoàn toàn nằm ngang. Và bạn cũng sẽ gặp lỗi khi đọc.



Tương tự cho con quay hồi chuyển . Với tốc độ 131 trên mỗi độ / s, bạn có thể có loại đọc này nếu bạn đang cầm phần trên tay.


Cảm ơn! Tất cả các giả định của bạn là chính xác. Sau đó, bạn có gợi ý cho tôi nhân số đầu ra thô trên 1g/16384(khi sử dụng thang đo 2g) để có được số đọc gia tốc thực (cho tất cả các trục) không? Sau đó, làm thế nào để đối phó với bài đọc con quay hồi chuyển?
Anubis

Và ý nghĩa của LSBđơn vị là LSB/ggì?
Anubis

Con quay hồi chuyển dường như rất nhạy cảm, do đó, việc cầm nó trên tay có thể giúp bạn đọc khi xoay tay một chút (quá nhiều cà phê? :-)). LSB = Least Bit đáng kể, mà tôi dịch là "đếm". Nó chỉ ra sự thay đổi tối thiểu.
stevenvh

Nói chung, các bài đọc "thô" từ loại thiết bị này sẽ bao gồm các lỗi bù (sai lệch) và sai số tỷ lệ. Cuối cùng, bạn sẽ muốn hiệu chỉnh các lỗi này bằng cách trừ đi giá trị bù và nhân với giá trị điều chỉnh hệ số tỷ lệ cho mỗi trục.
Dave Tweed

Liên kết đến biểu dữ liệu đã bị hỏng. Bạn có tình cờ biết vị trí mới của tài liệu đó không?
Chân phải

11

Một con quay hồi chuyển đưa ra các giá trị của Vận tốc góc (độ / giây) trong ba trục tương ứng (trục Yaw, sân và trục tương ứng).

Nhưng bất kỳ giá trị thô nào được đưa ra đầu tiên bởi các cảm biến này đều phải được chuyển đổi thành gia tốc hợp lý hoặc giá trị vận tốc góc bằng cách chia tỷ lệ.

Bảng dữ liệu InvenSense của MPU-6050 nói rằng chúng ta phải sử dụng các hệ số tỷ lệ khác nhau cho các phạm vi giá trị con quay khác nhau. Tôi sẽ giải thích làm thế nào để sử dụng các yếu tố tỷ lệ cuối cùng.

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

9,81mS2

Các hệ số tỷ lệ cho các giá trị gia tốc:

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

Chuyển đổi dữ liệu thô:

required_value= =raw_valuethích hợp

Ví dụ: trong dữ liệu đầu tiên, bạn có

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

Gia tốc dường như trong giới hạn 2g. Vậy, hệ số tỷ lệ = 16384

mộtx= =194416384g

250ºS

gyro_value= =-34131degreeSSec

Mong rằng sẽ giúp. :)


1
Tôi cảm thấy câu trả lời này cung cấp một lời giải thích tốt hơn nhiều so với câu trả lời được chấp nhận.
chutsu

@ajmal Tôi hiểu các giá trị cảm biến cho đến điểm bạn mô tả. Tôi cũng hiểu rằng con quay hồi chuyển theo mặc định có một chút trôi. Nhưng tôi không hiểu làm thế nào để trực quan hóa dữ liệu trong định vị thế giới thực. Tôi đã đọc rất nhiều về các góc euler, quarternions, nhưng tôi không hiểu sự đánh đổi giữa các biểu diễn và toán học đằng sau nó. Bất kỳ đề nghị bắt đầu từ đâu.
seetharaman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.