Imu là gì

Các bạn thực hiện điện thoại thông minh đã từng nghịch qua phần đa game như đua xe, lắc banh … Thường lúc thi đấu hầu hết game kia các bạn buộc phải nghiêng, chuyển phiên điện thoại đúng chứ. Vậy thì làm sao một dế yêu lại biết các bạn nghiêng hay xoay? Hôm ni, nội dung bài viết này đã lời giải cho bạn điều này, cảm ứng gia tốc, góc nghiêng là chủ thể của nội dung bài viết lúc này.

Bạn đang xem: Imu là gì

IMU và DOF

Thứ nhất, ta đang kể tới nhị quan niệm IMU và DOF. IMU (Inertial Measurement Unit) là 1 trong nhỏ chip để đo phần đông chuyển động như trên. một module IMU hay gồm có 2 các loại cảm biến: cảm biến vận tốc (accelerometer) cùng cảm biến quay (gyroscope).

Accelerometer (điện thoại tư vấn tắt là accel): như tên gọi của chính nó, accel dễ dàng là một cảm ứng đo tốc độ của phiên bản thân module cùng thường xuyên sẽ có được 3 trục xyz ứng cùng với 3 chiều không khí (một số loại 1 và 2 trục ít dùng). Lưu ý là accel đo cả vận tốc của trọng lực nên giá trị thực lúc đo đang bao gồm cả trọng tải.Gyroscope (Hotline tắt là gyro): là 1 trong các loại cảm biến đo vận tốc tảo của nó quanh một trục. Tương trường đoản cú với accel, gyro cũng thường có 3 trục xyz.

Một ví dụ đơn giản và dễ dàng, khi chúng ta đặt một bé chip IMU thẳng đứng như bên trên cùng để yên ko chuyển động, cực hiếm trả về đang là accel = <0.0, -9.8, 0.0>gyro = <0.0, 0.0, 0.0> do chỉ tất cả trọng lực trái khu đất chức năng lực và không có bất kể chuyển động cù làm sao cả. Lưu ý rằng gyro chỉ đo vận tốc quay chứ không đo trực tiếp góc quay, nên khi chúng ta cù module một góc làm sao kia rồi dừng, quý giá của gyro sẽ tăng lên rồi hạ xuống về 0.

Vậy còn DOF ? Một module IMU vừa đủ sẽ được hotline là6-DOF(6 Degrees Of Freedom) có nghĩa là 6 trục hòa bình (3 của accel cùng 3 của gyro). Dù thế đôi lúc như vậy vẫn chính là không được, phần đa dự án công trình phức tạp hơn như là là điều phối sản phẩm công nghệ bay hoặc robot có thể đã bắt buộc đến9-DOF(thêm một cảm ứng từ trường 3 trục -magnetometer- hoạt động tương tự một la bàn để định hướng), hoặc10-DOF(thêm 1 áp kế -barometer- dùng làm đo độ cao) hoặc thậm chí11-DOF(thêm module GPS để xác xác định trí). Phù, không ít trục cần không? Đừng lo, đa phần những áp dụng có thể làm tại nhà chỉ cần một IMU 6-DOF là đủ.

Với chip IMU này những chúng ta có thể làm được không ít mặt hàng "chơi" như:

Robot 2 bánh từ cân bằngMáy cất cánh điều khiển tự xa (drone)Chuột laptop bên trên khôngTay cầm cố chơi gameHệ thống giữ thăng bằng đến camera/sản phẩm ảnh.Các ứng dụng: đếm số bước chân, cảm ứng rơi, cảm biến rung/lắc...

*

Các vấn đề thường xuyên gặp

IMU - cũng như các cảm biến khác - cần phải hiệu chỉnh trước lúc áp dụng nếu như muôn tất cả một hiệu quả an toàn. Sau đây là rất nhiều vụ việc nên lưu chổ chính giữa lúc áp dụng một module IMU:

Accelerometer:accel luôn tất cả offphối bên trên mỗi trục tạo nên quý hiếm đo được thường xuyên lệch đi đối với thực tiễn một chút ít. Bên cạnh đó, quý giá đó được theo accel thường xuyên tương đối nhiễu để cho câu hỏi đọc trsinh hoạt buộc phải trở ngại.Gyroscope:tương tự như accel, gyro cũng có offset (hay nói một cách khác là bias) làm lệch những giá trị đo. Một sự việc không giống nữa hoàn toàn có thể gặp gỡ đề nghị của gyro là drift, có nghĩa là bias thế cũng biến đổi chậm chạp theo thời gian. Tuy vậy, điểm cùng là gyro lại không nhiều bị nhiễu rộng accel.

Xem thêm: Game Thủ "Kêu Trời" Vì Các Vật Phẩm Trong Rương Kho Báu Bns, Rương Kho Báu

Vậy thì làm chũm như thế nào đối phó với đầy đủ vấn đề này? Với offset là hằng số thì đơn giản dễ dàng chỉ nên đo lại quý hiếm kia và trừ vào giá trị đo. Với câu hỏi tín hiệu bị nhiễu thì hoàn toàn có thể dùng một cỗ lọc năng lượng điện tử tần số phải chăng (digital low-pass filter), các chúng ta cũng có thể tìm hiểu thêm library Filters trên diễn đàn Arduino (http://playground.arduino.cc/Code/Fi...). Vấn đề drift của gyro thì hoàn toàn có thể cần sử dụng bộ thanh lọc cao tần (digital high-pass filter) do gyro drift khá trễ.

Một cách chuyên nghiệp hóa rộng, giả dụ những bạn có nhu cầu đo một giải pháp chính xác góc tảo thì bao gồm một trong những thuật tân oán dùng để làm tính toán như:

Complementary filterKalman filterMahony filterMadgwiông xã filter

Tất cả hầu hết filter bên trên bây giờ số đông đã có viết dưới dạng library đến Arduino đề nghị các chúng ta cũng có thể update thẳng bằng IDE Arduino.

Cảm biến đổi MPU6050 cùng thư viện

MPU-6050 là cảm biến của hãng sản xuất InvenSense tích vừa lòng 6 trục cảm biến bao gồm:

Con tảo hồi đưa 3 trục (Gyroscope).Cảm phát triển thành vận tốc 3D (Accelerometer).

*

MPU6050 tất cả kèm sensor fusion sẵn trên chip (Hotline là DMPhường - Digital Motion Processor), breakout board có thể search thấy: GY-521 breakout board (ko rõ xuất xứ, nhưng mà rẻ), breakout board của Sparkfun (giá thành cao hơn kha khá). MPU6050 áp dụng giao thức I2C. Các bạn cũng có thể đọc thêm cùng rất thư viện Wire (gồm sẵn vào Arduino IDE)

khi mày mò về MPU-6050, những bạn sẽ chạm mặt nên thuật ngữ QUATERNION, YAW, PITCH, ROLL. Và theo bản thân, đấy là giải pháp giải thích đơn giản và dễ dàng và dể đọc nhất:

Yaw, Pitch, Roll:https://kienthuccất cánh.wordpress.com/tag/ailerons/

Tlỗi viện MPU6050:https://realchampionshipwrestling.com/source/library/MPU6050.rar

Thỏng viện I2Cdev:https://realchampionshipwrestling.com/source/library/I2Cdev.rar

Chuẩn bị

Arduino UnoDây cắm testboardMPU6050

Lắp mạch

*

Lập trình (Simple code)

Code này sẽ giúp đỡ bạn đọc tài liệu từ bỏ MPU6050 giải pháp thô cùng đơn giản và dễ dàng tốt nhất.

Lập trình (TeaPOT)

Các chúng ta cũng có thể mày mò phần này cùng với ứng dụng Processing ở nội dung bài viết này: Processing Bài 1: Arduino bliên kết với hình ảnh cơ bản. TeaPOT là 1 chương trình nhằm calibrate dùng làm hiệu chỉnh sensor. Các chúng ta thiết lập processing và nạp code này vào.

CODE ARDUINO:

CODE PROCESSING:

Code rất có thể tìm thấy trong thỏng viện C:Users...DocumentsArduinolibrariesMPU6050examplesMPU6050_DMP6 có file .pde là file của processing cùng tệp tin .ino là của arduino.

Sau đó bỏ phần "https://" vào code arduino(uncomment) loại 117 nhằm hoàn toàn có thể chạy TEAPOT nhé.

Xem thêm: Chi Phí Để Dịch Chuyển Đến 1 Thành Viên Bất Kì Trong Bang Hội Là Gì?

*

Còn vào Processing thì chỉnh cổng COM lại đến tương xứng với COM của arduino tại mẫu 71.


Chuyên mục: ĐỊNH NGHĨA