Chủ Nhật, 9 tháng 12, 2018

Giới thiệu cảm biến IMU MPU6050

mpu-6050 Cảm biến IMU MPU6050- Cảm biến gia tốc và hướng dẫn 3D hóa dữ liệu

Cảm biến IMU MPU6050
 Cảm biến IMU MPU6050 có 6-DOF (6 Degrees Of Freedom) tức là 6 trục độc lập (3 của accel và 3 của gyro)
Cảm biến IMU MPU6050 gồm có 2 cảm biến: cảm biến gia tốc và cảm biến quay. Cảm biến IMU MPU6050 được sử dụng để đo 6 thông số: 3 trục Góc quay (Gyro), 3 trục gia tốc hướng (Accelerometer), là loại cảm biến gia tốc phổ biến nhất trên thị trường hiện nay.
  • Accelerometer là một cảm biến đo gia tốc của bản thân module và thường sẽ có 3 trục xyz ứng với 3 chiều không gian. Lưu ý là accel đo cả gia tốc của trọng lực nên giá trị thực khi đo sẽ bao gồm cả trọng lực.
  • Gyroscope là một loại cảm biến đo tốc độ quay của nó quanh một trục. Tương tự với accel, gyro cũng thường có 3 trục xyz.
Các bạn có thể tìm hiều thêm về cảm biến gia tốccảm biến quay.

Sơ đồ mạch nguyên lý

so-do-mach-nguyen-li-cam-bien-IMU Cảm biến IMU MPU6050- Cảm biến gia tốc và hướng dẫn 3D hóa dữ liệu
Sơ đồ mạch nguyên lí cảm biến IMU MPU6050

Thông số kỹ thuật cần lưu ý

  • Điện áp sử dụng: 3~5VDC
  • Điện áp giao tiếp: 3~5VDC
  • Chuẩn giao tiếp: I2C
  • Giá trị Gyroscopes trong khoảng: +/- 250 500 1000 2000 degree/sec
  • Giá trị Acceleration trong khoảng: +/- 2g, +/- 4g, +/- 8g, +/- 16g

Giao tiếp IMU MPU6050 với Arduino

Cảm biến IMU MPU6050 giao tiếp với Arduino thông qua chuẩn giao tiếp I2C.

Kiểm tra MPU6050 với Arduino

Sơ đồ nối chân với Arduino

MPU 6050Arduino
VCC5V
GNDGND
SCLA5
SDAA4
INTD2

Sơ đồ kết nối dây với Arduino

So-do-ket-noi-day-cam-bien-IMU-voi-Arduino Cảm biến IMU MPU6050- Cảm biến gia tốc và hướng dẫn 3D hóa dữ liệu
Sơ đồ nối dây MPU6050 với Arduino Uno
Sau khi kết nối dây xong, các bạn upload code xuống kiểm tra hoạt động của MPU. Trước hết chúng ta cần tải thư viện MPU6050 và thư viện I2Cdev.
Các bạn có thể xem bài viết hướng dẫn cách add thư viện Arduino tại đây.
Sau khi hoàn thành add thư viện. Các bạn mở phần mềm IDE lên và thấy “MPU6050” trong File –> Examples. Tiếp đến bạn mở chương trình ở File –> Examples –> MPU6050 –> Examples –> MPU6050_DMP6.
mo-file-MPU6050 Cảm biến IMU MPU6050- Cảm biến gia tốc và hướng dẫn 3D hóa dữ liệu
Mở ví dụ chương trình MPU6050
Tiếp đến các bạn upload đoạn code này lên Arduino, mở màn hình Serial và set baud rate ở 115200.
Các bạn đợi khoảng 10 giây để nhận được kết quả chính xác từ MPU, sau đó các giá trị dần ổn đinh.

Mô hình hóa các giá trị nhận được từ MPU 6050 dùng 3D Using Processing

Để biểu diễn 3D các giá trị nhận được từ cảm biến, chúng ta cần cài đặt phần mềm processing.
Sau khi cài processing, chúng ta cần tải thư viện gọi là “Toxi”. Tiếp đến bạn giải nén file “toxiclibs-complete-0020” đến thư mục thư viện của processing.
Hoặc bạn có thể cài thư viện toxiclibs trực truyến trên processing như sau:
Mở phần mềm processing lên, Chọn Sketch –> Import library –> Add library….
Tại tab library, gõ toxiclibs vào ô filter. Bạn chọn kết quả toxiclibs của Karsten Schmidt và nhấn install.
Add-thu-vien-processing Cảm biến IMU MPU6050- Cảm biến gia tốc và hướng dẫn 3D hóa dữ liệu
Add thư viện toxiclibs cho Processing
Tiếp theo các bạn cần sửa một số dòng trong chương trình Arduino MPU 6050 (MPU6050_DMP6)
Comment line #define OUTPUT_READABLE_YAWPITCHROLL
Uncomment line #define OUTPUT_TEAPOT
Kế tiếp, chúng ta mở ví dụ processing cho MPU6050. Mở Processing, File –> Open  dẫn đến thư mục thư viện MPU6050 bạn cài cho Arduino. Các bạn có thể tìm file ví dụ processing trong MPU6050 –> Examples –> MPU6050_DMP6 –> Processing –> MPUTeapot.
Trong code này các cần kiểm tra định nghĩa serial port. Bởi vì mặc định nó định nghĩa cho người dùng Linux.
String portName = “/dev/ttyUSB1”;.
Bạn cần thay đổi ttyUSB1 phù hợp với port kết nối Arduino.
MPUteapot1 Cảm biến IMU MPU6050- Cảm biến gia tốc và hướng dẫn 3D hóa dữ liệu
Nếu bạn dùng window, bạn cần phải
Comment line String portName = “/dev/ttyUSB1”
Uncomment line String portName = “COM4” và thay thế COM4 thành COM kết nối Arduino
Bây giờ bạn cần upload code MPU cho Arduino lại và nhớ không mở màn hình Serial. Chạy chương trình processing bằng cách nhấn bào biểu tượng play. Đợi khoảng 10 giây để giá trị MPU 6050 ổn định. Sau đó, bạn có thể xem mô hình 3D của MPU 6050, di chuyển theo cảm biến.

Video hướng dẫn



Không có nhận xét nào:

Đăng nhận xét

Bài đăng mới nhất

Giáo trình linh kiện điện tử - Trương Văn Tám

Bài đăng phổ biến