Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
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
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
- 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
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?
- Để 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ã đượ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
- Làm cho Kp, Ki và Kd bằng không.
- Đ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).
- 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.
- 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ợ
- 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:
M5STACK Cách hiển thị nhiệt độ, độ ẩm và áp suất trên M5StickC ESP32 bằng Visuino - Dễ thực hiện: 6 bước
M5STACK Cách hiển thị nhiệt độ, độ ẩm và áp suất trên M5StickC ESP32 bằng Visuino - Dễ thực hiện: Trong hướng dẫn này, chúng ta sẽ học cách lập trình ESP32 M5Stack StickC với Arduino IDE và Visuino để hiển thị nhiệt độ, độ ẩm và áp suất bằng cảm biến ENV (DHT12, BMP280, BMM150)
Cách thực hiện: Cài đặt Raspberry PI 4 Headless (VNC) Với Rpi-image và Hình ảnh: 7 bước (có Hình ảnh)
Cách thực hiện: Cài đặt Raspberry PI 4 Headless (VNC) Với Rpi-imageer và Pictures: Tôi dự định sử dụng Rapsberry PI này trong một loạt các dự án thú vị trong blog của mình. Kiểm tra nó thoải mái. Tôi muốn quay lại sử dụng Raspberry PI của mình nhưng tôi không có Bàn phím hoặc Chuột tại vị trí mới của mình. Đã một thời gian kể từ khi tôi thiết lập Raspberry
Màn hình 7 đoạn kép được điều khiển bằng chiết áp trong CircuitPython - Thể hiện sự bền bỉ của tầm nhìn: 9 bước (có hình ảnh)
Màn hình 7 đoạn kép được điều khiển bằng chiết áp trong CircuitPython - Thể hiện sự bền bỉ của tầm nhìn: Dự án này sử dụng chiết áp để điều khiển màn hình hiển thị trên một vài màn hình LED 7 đoạn (F5161AH). Khi xoay núm chiết áp, số hiển thị thay đổi trong phạm vi từ 0 đến 99. Chỉ một đèn LED sáng bất kỳ lúc nào, rất nhanh, nhưng
Đèn thang máy không có thang máy: 6 bước (có hình ảnh)
Đèn thang máy không có thang máy: Bối cảnh Cách đây vài năm, tất cả các thang máy trong một tòa nhà địa phương đã được làm lại. Một người bạn của tôi đã nhìn thấy tất cả các bộ phận bị ném ra ngoài và xin phép để di chuyển. Chúng tôi đã tìm kiếm và tìm thấy một số mục quan tâm. Phần tốt nhất mà tôi
Đồng hồ báo thức LED Sunrise với Báo thức bài hát có thể tùy chỉnh: 7 bước (có hình ảnh)
Đồng hồ báo thức LED Sunrise với báo thức bài hát có thể tùy chỉnh: Động lực của tôi Mùa đông này bạn gái tôi gặp rất nhiều khó khăn khi thức dậy vào buổi sáng và dường như đang bị SAD (Rối loạn cảm xúc theo mùa). Tôi thậm chí còn nhận thấy rằng việc thức dậy vào mùa đông khó khăn hơn bao nhiêu vì mặt trời chưa ló dạng