Arduino - Balance - Robot thăng bằng - Làm thế nào để thực hiện ?: 6 bước (có hình ảnh)
Arduino - Balance - Robot thăng bằng - Làm thế nào để thực hiện ?: 6 bước (có hình ảnh)
Anonim
Image
Image

Trong hướng dẫn này, chúng ta sẽ học cách làm cho robot cân bằng (thăng bằng) Arduino tự cân bằng. Đầu tiên bạn có thể xem qua video hướng dẫn ở trên.

Bước 1: Phần cứng cần thiết

Lắp ráp robot
Lắp ráp robot

Bảng Arduino (Uno) -

MPU-6050 GY521 Acc + Gyro -

Bộ động cơ bánh răng mã hóa DC 6V 210RPM -

Trình điều khiển động cơ L298N -

Nút chuyển đổi -

Bộ vít vặn ren M3 Hex có ren -

Tấm acrylic Perspex -

Bộ sạc Li-ion + có thể sạc lại 3.7v 18650 -

Pin 9V -

Jumper Wires -

Súng bắn keo nóng -

Bộ khởi động Arduino và Nguồn cung cấp (Tùy chọn): Bảng Arduino & Nguồn cung cấp SCM # 01 -

Bảng Arduino & Nguồn cung cấp SCM # 02 -

Arduino Basic Learning Starter Kit # 01 -

Arduino Basic Learning Starter Kit # 02 -

Arduino Basic Learning Starter Kit # 03 -

Mega 2560 Starter Kit có Hướng dẫn -

Bộ mô-đun cảm biến cho Arduino # 01 -

Bộ mô-đun cảm biến cho Arduino # 02 -

Bước 2: Lắp ráp Robot

Lắp ráp robot
Lắp ráp robot
Lắp ráp robot
Lắp ráp robot
Lắp ráp robot
Lắp ráp robot
  • Khoan bốn góc của 3 tấm Acrylic. (Hình 1 và 2)
  • Giữa mỗi tấm acrylic sẽ là khoảng 8 cantimeters / 3,15 inch. (Hình ảnh 3)
  • Kích thước Robot (ước chừng) 15cm x 10 cm x 20cm. (Hình ảnh 4)
  • Động cơ DC và các bánh xe sẽ được đặt ở tâm (đường giữa) của robot. (Hình ảnh 5)
  • L298N Motor Driver sẽ được đặt ở trung tâm tầng đầu tiên (đường giữa) của robot. (Hình ảnh 6)
  • Bảng Arduino sẽ được đặt ở tầng thứ hai của robot.
  • Mô-đun MPU6050 sẽ được đặt trên tầng cao nhất của robot. (Hình ảnh 7)

Bước 3: Kết nối

Kết nối
Kết nối
Kết nối
Kết nối

Kiểm tra MPU6050 và đảm bảo rằng nó hoạt động! Trước tiên, hãy kết nối MPU6050 với Arduino và kiểm tra kết nối bằng các mã trong hướng dẫn bên dưới. Daha sẽ được hiển thị trên màn hình nối tiếp

Hướng dẫn sử dụng bảng hướng dẫn - MPU6050 GY521 Gia tốc kế 6 trục + Con quay hồi chuyển

Hướng dẫn trên YouTube - Máy đo gia tốc 6 trục MPU6050 GY521 + Con quay hồi chuyển

Mô-đun L298N có thể cung cấp + 5V cần thiết cho Arduino miễn là điện áp đầu vào của nó là +7 V trở lên. Tuy nhiên, tôi đã chọn để có nguồn điện riêng cho động cơ

Bước 4: Cân bằng hoạt động như thế nào?

Cân bằng hoạt động như thế nào?
Cân bằng hoạt động như thế nào?
Cân bằng hoạt động như thế nào?
Cân bằng hoạt động như thế nào?
Cân bằng hoạt động như thế nào?
Cân bằng hoạt động như thế nào?
  • Để giữ thăng bằng cho robot, các động cơ phải chống lại sự rơi của robot.
  • Hành động này yêu cầu phản hồi và yếu tố sửa chữa.
  • Phần tử phản hồi là MPU6050, cho cả gia tốc và quay theo cả ba trục được Arduino sử dụng để biết hướng hiện tại của robot.
  • Yếu tố hiệu chỉnh là sự kết hợp giữa động cơ và bánh xe.
  • Robot tự cân bằng thực chất là một con lắc ngược.
  • Nó có thể được cân bằng tốt hơn nếu trọng tâm cao hơn so với trục bánh xe.
  • Đây là lý do tại sao tôi đặt bộ pin lên trên.
  • Tuy nhiên, chiều cao của robot được chọn dựa trên sự sẵn có của vật liệu.

Bước 5: Mã nguồn và thư viện

Mã nguồn và thư viện
Mã nguồn và thư viện
Mã nguồn và thư viện
Mã nguồn và thư viện

Mã được phát triển cho robot cân bằng quá phức tạp. Nhưng không cần phải lo lắng. Chúng tôi sẽ chỉ thay đổi một số dữ liệu.

Chúng tôi cần bốn thư viện bên ngoài để robot tự cân bằng hoạt động

  • Thư viện PID giúp bạn dễ dàng tính toán các giá trị P, I và D.
  • Thư viện LMotorController được sử dụng để điều khiển hai động cơ với mô-đun L298N.
  • Thư viện I2Cdev và thư viện MPU6050_6_Axis_MotionApps20 dùng để đọc dữ liệu từ MPU6050.

Tải xuống thư viện

PID -

LMotorController -

I2Cdev -

MPU6050 -

Nhận mã nguồn -

PID là gì?

  • Trong lý thuyết điều khiển, để giữ ổn định một số biến (trong trường hợp này là vị trí của robot) cần một bộ điều khiển đặc biệt gọi là PID.
  • P là tỷ lệ thuận, I là tích phân, và D là đạo hàm. Mỗi tham số này có "lợi ích" thường được gọi là Kp, Ki và Kd.
  • PID cung cấp hiệu chỉnh giữa giá trị mong muốn (hoặc đầu vào) và giá trị thực tế (hoặc đầu ra). Sự khác biệt giữa đầu vào và đầu ra được gọi là "lỗi".
  • Bộ điều khiển PID giảm lỗi xuống giá trị nhỏ nhất có thể bằng cách liên tục điều chỉnh đầu ra.
  • Trong rô bốt tự cân bằng Arduino của chúng tôi, đầu vào (là độ nghiêng mong muốn, tính bằng độ) được đặt bằng phần mềm.
  • MPU6050 đọc độ nghiêng hiện tại của rô bốt và đưa nó vào thuật toán PID thực hiện các phép tính để điều khiển động cơ và giữ rô bốt ở vị trí thẳng đứng.

PID yêu cầu các giá trị Kp, Ki và Kd thu được phải được “điều chỉnh” đến các giá trị tối ưu

Thay vào đó, chúng tôi sẽ điều chỉnh các giá trị PID theo cách thủ công

  1. Làm cho Kp, Ki và Kd bằng không.
  2. Điều chỉnh Kp. Kp quá ít sẽ làm cho robot bị ngã (chỉnh không đủ). Kp quá nhiều sẽ làm cho robot quay đi quay lại lung tung. Kp đủ tốt sẽ làm cho robot hơi đi tới lui (hoặc dao động một chút).
  3. Khi Kp được thiết lập, hãy điều chỉnh Kd. Giá trị Kd tốt sẽ làm giảm dao động cho đến khi robot gần như ổn định. Ngoài ra, lượng Kd phù hợp sẽ giữ cho robot đứng yên ngay cả khi bị đẩy.
  4. Cuối cùng, đặt Ki. Robot sẽ dao động khi được bật ngay cả khi Kp và Kd được thiết lập nhưng sẽ ổn định theo thời gian. Giá trị Ki chính xác sẽ rút ngắn thời gian để robot ổn định.

Đề xuất để có kết quả tốt hơn

Tôi khuyên bạn nên tạo một khung robot tương tự bằng cách sử dụng các vật liệu được sử dụng trong dự án này để làm cho mã nguồn cho Robot cân bằng hoạt động ổn định và hiệu quả.

Bước 6: Để được hỗ trợ

Để hỗ trợ
Để hỗ trợ
  • Bạn có thể đăng ký kênh YouTube của tôi để biết thêm các hướng dẫn và dự án.
  • Ngoài ra bạn có thể đăng ký để được hỗ trợ. Cảm ơn bạn.

Ghé thăm kênh YouTube của tôi -

Đề xuất: