Kết nối con quay hồi chuyển với arduino
Bài viết này sẽ giới thiệu cho các bạn về con quay hồi chuyển và cách kết nối nó với arduino. Con quay hồi chuyển là một thiết bị được sử dụng để đo vận tốc góc trong ba trục tọa độ. Nó hoạt động theo các khái niệm về động lượng góc và có thể được sử dụng để xác định hướng của một vật. Các ứng dụng điển hình của con quay hồi chuyển như: tên lửa, máy bay, điện thoại thông minh, máy chơi game cầm tay, v.v. Con quay hồi chuyển gồm rất nhiều loại như: con quay hồi chuyển cơ học, con quay hồi chuyển MEMS, con quay hồi chuyển bằng sợi quang, con quay hồi chuyển vòng laser.
Ở đây chúng tôi sẽ giới thiệu cho các bạn về con quay hồi chuyển MEMS. MEMS là tên viết tắt của hệ thống cơ điện vi (Micro Electro Mechanical System). Con quay hồi chuyển MEMS hoạt động theo nguyên lý con lắc Focault và có một bộ phận cơ điện rung để cảm nhận hướng. Con quay hồi chuyển MEMS rất nhỏ gọn và tương đối rẻ. Chúng được sử dụng rộng rãi trong đời sống như điện thoại thông minh, cần gạt điều khiển, máy chơi game cầm tay, v.v.
Mô-đun GY521
Mô-đun con quay hồi chuyển GY521 là một con quay hồi chuyển 3 trục cộng với mô đun gia tốc dựa trên MEMS IC MPU6050. MPU6050 có 6 kênh ADC 16 bit tích hợp, ba đầu ra cho con quay hồi chuyển và ba đầu ra cho gia tốc kế. Nó giao tiếp với vi điều khiển bằng giao thức I2C. Phạm vi điện áp hoạt động của MCU6050 là từ 2,37V đến 3,46V. Phạm vi của gia tốc kế và con quay hồi chuyển được người dùng lập trình là +/- 2g, 4g, 8g và 16g cho gia tốc kế và +/-250°/S, 500°/S, 1000°/S và 2000°/S.
Sẽ có rất nhiều người cảm thấy rất khó khăn để kết nối con quay hồi chuyển với arduino hoặc bất kỳ hệ thống dựa trên vi điều khiển nào khác. Nhưng nó có thể được thực hiện rất dễ dàng và tôi sẽ chỉ cho bạn cách nó được thực hiện. Theo bảng dữ liệu MPU6050, các giá trị đầu ra của con quay hồi chuyển theo ba hướng có thể được chuyển đổi thành vận tốc góc theo ba hướng bằng các phương trình sau.
v_pitch = GyX / 131
v_roll = GyY / 131
v_yaw = GyZ / 131
Trong đó v_pitch là tốc độ góc trong trục (X), v_roll là tốc độ góc trong trục (y) và v_yaw là tốc độ góc trong trục (z). 3 góc của một vật thể trong không gian ba chiều có thể được minh họa bằng hình dưới đây.
Nếu chúng ta biết thời gian giữa hai chu kỳ đo liên tiếp trong một trục, chúng ta có thể tìm thấy sự dịch chuyển góc trong trục đó bằng cách nhân tốc độ góc (tính bằng °/giây) với thời gian (tính bằng giây). Vì vậy, sự dịch chuyển góc trong ba trục có thể được xác định bằng các phương trình sau.
a_pitch = v_pitch * 0,047
a_roll = v_roll * 0,047
a_yaw = v_yaw * 0,047
Trong đó a_pitch là chuyển vị góc trong trục x, a_roll là chuyển vị góc trong trục y, a_yaw là chuyển vị góc trong trục Z và 0,048 là khoảng thời gian. Sự định hướng dòng điện của đối tượng trong không gian ba chiều có thể được xác định bằng phép cộng tích lũy của các chuyển vị góc trên mỗi trục. Nó có thể được chứng minh bằng các phương trình sau.
pitch= pitch + a_pitch
roll= roll + a_roll
yaw= yaw + a_yaw
Sơ đồ mạch điện
Hai chân nguồn 5V và GND cho mô-đun GY521 sẽ được lấy trực tiếp từ arduino. Các chân SCL và SDA của GY521 được kết nối với các chân A5 và A4 của arduino. Các chân SCL và SDA được sử dụng cho giao tiếp I2C giữa mô-đun và arduino.
Chương Trình / Code
https://drive.google.com/file/d/12k9QK93rvEFJK1VSQ-NHPDO0c5Es08_v/view?usp=sharing
Ghi chú
· Nguồn cung cấp cho mô-đun GY521 được khai thác từ chính arduino.
· Các giá trị và phương trình hiển thị trong chương trình được sửa đổi một chút cho chính xác.
· Dưới đây là ảnh chụp cửa sổ màn hình arduino khi giao tiếp con quay hồi chuyển.
Hotline: 0979 466 469