Mục lục:
- Quân nhu
- Bước 1: Thi công
- Bước 2: Đấu dây
- Bước 3: Lý thuyết điều khiển
- Bước 4: Sử dụng MPU 6050
- Bước 5: Mã hóa
- Bước 6: Quy trình điều chỉnh PID
- Bước 7: Tuyên bố
Video: Robot tự cân bằng hai bánh: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Người hướng dẫn này sẽ thực hiện quá trình thiết kế và chế tạo một robot tự cân bằng. Xin lưu ý, tôi chỉ muốn nói rằng robot tự cân bằng không phải là một khái niệm mới và chúng đã được chế tạo và ghi chép bởi những người khác. Tôi muốn sử dụng cơ hội này để chia sẻ với bạn cách hiểu của tôi về robot này.
Robot tự cân bằng là gì?
Robot tự cân bằng là một hệ thống sử dụng dữ liệu đo lường quán tính, được thu thập từ một cảm biến trên bo mạch, để liên tục điều chỉnh vị trí của nó để giữ thẳng đứng.
Làm thế nào nó hoạt động?
Một phép tương tự đơn giản cần xem xét là một con lắc ngược. Nơi khối tâm nằm trên điểm trục. Tuy nhiên, trong trường hợp của chúng ta, chúng ta đang hạn chế con lắc ở 1 bậc tự do bằng cách có một trục quay, trong trường hợp của chúng ta là trục quay của hai bánh xe. Vì bất kỳ loại xáo trộn nào cũng sẽ khiến robot bị ngã, chúng ta cần có phương pháp chủ động giữ thăng bằng cho robot. Đây là lúc thuật toán vòng kín (bộ điều khiển PID) của chúng tôi phát huy tác dụng, khi biết robot của chúng tôi đang rơi theo hướng nào, chúng tôi có thể điều chỉnh hướng quay của động cơ để giữ cho hệ thống cân bằng.
Thuật toán vòng kín hoạt động như thế nào?
Nguyên tắc cơ bản để giữ thăng bằng cho robot là, nếu robot đang rơi về phía trước, nó sẽ bù lại bằng cách di chuyển phần dưới của robot về phía trước để bắt lấy chính nó và do đó giữ thẳng đứng. Tương tự như vậy, nếu rô bốt bị ngã về phía sau, nó sẽ bù lại bằng cách di chuyển phần dưới của rô bốt về phía sau để bắt lấy chính nó.
Vì vậy, chúng ta cần làm hai việc ở đây, đầu tiên, chúng ta cần tính toán góc nghiêng (Roll) mà robot đang trải qua và kết quả là chúng ta cần điều khiển hướng quay của các động cơ.
Chúng ta sẽ đo góc nghiêng như thế nào?
Để đo góc nghiêng, chúng ta sẽ sử dụng Đơn vị đo lường quán tính. Các mô-đun này kết hợp một gia tốc kế và con quay hồi chuyển.
- Gia tốc kế là một thiết bị điện từ đo gia tốc thích hợp, đây là gia tốc của một vật trong một hệ thống nghỉ tức thời.
- Con quay hồi chuyển là một thiết bị cơ điện để đo vận tốc góc và được sử dụng để xác định hướng của thiết bị.
Tuy nhiên, vấn đề với việc sử dụng các cảm biến như vậy là:
- Gia tốc kế rất ồn nhưng nhất quán theo thời gian, góc thay đổi theo chuyển động ngang đột ngột
- Mặt khác, giá trị con quay hồi chuyển sẽ thay đổi theo thời gian, nhưng ban đầu, nó khá chính xác
Đối với hướng dẫn này, tôi sẽ không triển khai bộ lọc thay vì sử dụng Xử lý chuyển động kỹ thuật số (DMP) tích hợp. Những người khác đã sử dụng bộ lọc bổ sung để có được tín hiệu mượt mà, bạn có thể chọn bất kỳ phương pháp nào bạn thích. khi robot cân bằng với một trong hai cách triển khai.
Quân nhu
Các bộ phận:
- Arduino Pro Mini 3.3V 8 với ATMEGA328 8 Mhz
- FT232RL 3.3V 5.5V FTDI Mô-đun bộ chuyển đổi nối tiếp USB sang TTL
- Mô-đun GY-521 với MPU-6050
- Một cặp động cơ bánh răng vi mô N20 6V - 300 vòng / phút
- Trình điều khiển động cơ L298N
- Bộ chuyển đổi DC sang DC LM2596S
- Pin (Bộ pin Li-ion 9,7V có thể sạc lại)
- Dây đeo pin
- Hai bảng mạch PCB tạo mẫu
- Nam và nữ chân cắm đầu dây jumper
Công cụ:
- Hàn sắt và thuốc hàn
- Đế đỡ đệm hex bằng nylon
- Bộ tuốc nơ vít chính xác
- máy in 3D
Bước 1: Thi công
Vì tôi đã có quyền truy cập vào máy in 3D, tôi quyết định in 3D khung máy và sử dụng thiết bị chờ để kết nối mọi thứ với nhau.
Robot gồm 4 lớp
- Lớp dưới cùng kết nối các động cơ và có các điểm lắp cho mô-đun trình điều khiển động cơ L298N
- Lớp tiếp theo chứa bảng nguyên mẫu với Arduino pro mini và các tiêu đề được hàn vào nó
- Lớp thứ ba gắn IMU
- Lớp trên cùng, mà tôi gọi là "lớp đệm" chứa pin, bộ chuyển đổi buck và công tắc tiền tệ
Nguyên tắc thiết kế chính của tôi là giữ mọi thứ theo mô-đun. Lý do cho điều này là nếu có vấn đề gì xảy ra với một trong các thành phần mà tôi có thể dễ dàng thay thế nó hoặc nếu tôi cần một thành phần cho một dự án khác, tôi có thể dễ dàng lấy nó mà không phải lo lắng về việc không thể sử dụng lại hệ thống.
Bước 2: Đấu dây
Tôi đã hàn một số panh tiêu đề nữ vào bảng mạch hoàn hảo để khớp với các chân cắm tiêu đề mini của Arduino pro. Sau đó, tôi hàn tiêu đề đực ghim bo mạch để cho phép truy cập vào I / O. Phần còn lại của các thành phần được gắn vào khung in 3D và được kết nối bằng dây nhảy.
Bước 3: Lý thuyết điều khiển
Bây giờ chúng ta chuyển sang phần cốt lõi của dự án. Để giữ cho robot cân bằng, chúng ta cần tạo ra một tín hiệu điều khiển thích hợp để điều khiển động cơ đi đúng hướng và ở tốc độ chính xác để giữ cho robot luôn cân bằng và ổn định. Để làm điều này, chúng tôi sẽ sử dụng một thuật toán vòng điều khiển phổ biến được gọi là bộ điều khiển PID. Như từ viết tắt cho thấy có ba thuật ngữ cho bộ điều khiển này, đây là các thuật ngữ tỷ lệ, tích phân và đạo hàm. Mỗi hệ số đi kèm với các hệ số xác định mức độ ảnh hưởng của chúng đối với hệ thống. Thông thường, phần tốn nhiều thời gian nhất của việc triển khai bộ điều khiển là điều chỉnh lợi ích cho từng hệ thống duy nhất để có được phản hồi tối ưu nhất.
- Số hạng tỷ lệ nhân trực tiếp với sai số để đưa ra kết quả đầu ra, vì vậy sai số càng lớn thì phản hồi càng lớn
- Thuật ngữ tích phân tạo ra một phản hồi dựa trên sự tích lũy của lỗi để giảm lỗi ở trạng thái ổn định. Hệ thống mất cân bằng càng lâu thì các động cơ sẽ phản hồi nhanh
- Thuật ngữ đạo hàm là đạo hàm của sai số được sử dụng để dự đoán phản ứng trong tương lai và làm như vậy nó làm giảm dao động do vượt quá trạng thái ổn định.
Nguyên tắc cơ bản của thuật toán này là liên tục tính toán góc nghiêng là hiệu số giữa vị trí mong muốn và vị trí hiện tại, điều này được gọi là sai số. Sau đó, nó sử dụng các giá trị lỗi này và tính toán tổng các phản hồi tỷ lệ, tích phân và đạo hàm để có được đầu ra, là các tín hiệu điều khiển được gửi đến động cơ. Do đó, nếu sai số lớn, tín hiệu điều khiển được gửi đến động cơ sẽ quay động cơ ở tốc độ cao để về trạng thái cân bằng. Tương tự như vậy, nếu sai số nhỏ, tín hiệu điều khiển sẽ quay động cơ ở tốc độ thấp để giữ thăng bằng cho robot.
Bước 4: Sử dụng MPU 6050
Thư viện MPU6050
github.com/jrowberg/i2cdevlib/tree/master/…
Hiệu chỉnh hiệu chỉnh Không phải tất cả các cảm biến đều là bản sao chính xác của nhau. Do đó, nếu bạn kiểm tra hai MPU 6050, bạn có thể nhận được các giá trị khác nhau cho gia tốc kế và con quay hồi chuyển khi được đặt vẫn trên cùng một bề mặt. Để khắc phục sự chênh lệch góc không đổi này, chúng ta cần tôn vinh từng cảm biến mà chúng ta sử dụng. Chạy tập lệnh này:
www.i2cdevlib.com/forums/topic/96-arduino-…
được viết bởi Luis Rodenas, chúng ta sẽ nhận được sự bù đắp. Các lỗi bù có thể được loại bỏ bằng cách xác định các giá trị bù trong quy trình setup ().
Sử dụng Bộ xử lý chuyển động kỹ thuật số
MPU6050 chứa DMP (Bộ xử lý chuyển động kỹ thuật số).
DMP là gì? Bạn có thể coi DMP như một bộ vi điều khiển tích hợp xử lý chuyển động phức tạp từ con quay hồi chuyển 3 trục và gia tốc kế 3 trục trên mpu6050, sử dụng các thuật toán tổng hợp chuyển động của riêng nó. Giảm tải quá trình xử lý sẽ được thực hiện bởi Arduino
Làm thế nào để sử dụng nó? Để tìm ra cách sử dụng DMP, hãy xem bản phác thảo ví dụ MPU6050_DMP6 đi kèm với thư viện MPU6050 (trong Arduino IDE: File-> Example-> MPU6050-> MPU6050_DMP6). Đây cũng là cơ hội tốt để kiểm tra cảm biến của bạn có thực sự hoạt động và việc đấu dây có chính xác hay không
Bước 5: Mã hóa
Tôi đã sử dụng Arduino IDE và giao diện FTDI để lập trình Arduino pro mini.
Sử dụng bản phác thảo ví dụ (MPU6050_DMP6) đi kèm với thư viện MPU6050 làm mã cơ sở của tôi, tôi đã thêm một hàm PID () và MotorDriver ().
Thêm thư viện
- MPU6050: Để sử dụng cảm biến MPU6050, chúng tôi sẽ cần tải xuống thư viện nhà phát triển I2C từ Jeff Rowberg và thêm nó vào thư mục "thư viện" Arduino có trong tệp chương trình trên máy tính của bạn.
- Wire: Chúng tôi cũng cần thư viện Wire để cho phép chúng tôi giao tiếp với các thiết bị I2C.
Mã giả
Bao gồm các Thư viện:
- Wire.h
- MPU6050
- I2Cdev.h
Khởi tạo biến, hằng và đối tượng
Cài đặt ()
- Đặt chế độ pin để điều khiển động cơ
- Đặt chế độ ghim cho đèn LED trạng thái
- Khởi tạo MPU6050 và đặt các giá trị bù đắp
PID ()
Tính giá trị PID
MotorDriver (phản hồi PID)
Sử dụng giá trị PID để điều khiển tốc độ và hướng của động cơ
Vòng ()
- Nhận dữ liệu từ DMP
- Gọi hàm PID () a MotorDriver ()
Bước 6: Quy trình điều chỉnh PID
Đây là phần tẻ nhạt nhất của dự án và cần một chút kiên nhẫn trừ khi bạn gặp may. Dưới đây là các bước:
- Đặt số hạng I và D thành 0
- Giữ robot, điều chỉnh P để robot bắt đầu dao động về vị trí cân bằng
- Với P được đặt, tăng I để rô bốt tăng tốc nhanh hơn khi mất cân bằng. Với P và I được điều chỉnh thích hợp, robot sẽ có thể tự cân bằng trong ít nhất vài giây, với một số dao động
- Cuối cùng, tăng D giảm dao động
Nếu lần thử đầu tiên không cho kết quả như ý, hãy lặp lại các bước với một giá trị khác là P. Ngoài ra, hãy lưu ý rằng bạn có thể tinh chỉnh các giá trị PID sau đó để tăng hiệu suất hơn nữa. Các giá trị ở đây phụ thuộc vào phần cứng, đừng ngạc nhiên nếu bạn nhận được các giá trị PID rất lớn hoặc rất nhỏ.
Bước 7: Tuyên bố
Các động cơ bánh răng siêu nhỏ được sử dụng để phản ứng chậm lại với các nhiễu động lớn và do hệ thống quá nhẹ nên không có đủ quán tính để có được hiệu ứng con lắc mong muốn, vì vậy nếu robot nghiêng về phía trước, nó sẽ chỉ nghiêng một góc và chạy về phía trước. Cuối cùng, bánh xe in 3D là một lựa chọn tồi vì chúng liên tục trượt.
Góp ý để phát triển:
- Động cơ nhanh hơn với mô-men xoắn cao hơn, tức là đối với động cơ DC có điện áp cao hơn thì mô-men xoắn cao hơn
- lấy pin nặng hơn hoặc chỉ cần di chuyển khối lượng cao hơn một chút
- Thay bánh xe in 3D bằng bánh xe cao su để có thêm lực kéo
Đề xuất:
Proyecto Laboratorio De Mecatrónica (Robot thăng bằng hai bánh): 6 bước
Proyecto Laboratorio De Mecatrónica (Robot thăng bằng hai bánh): En este proyecto se mostrara, el funcionamiento y el como hacer para modrar un " Robot thăng bằng hai bánh " paso a paso y con explicación y concejos. Este es un sistema quecompe en que el robot no se debe caer, se debe de mantener en el
Robot tự cân bằng 2 bánh: 4 bước
Robot tự cân bằng 2 bánh: Theo ý kiến khiêm tốn của tôi, bạn không phải là một nhà sản xuất thực sự, trừ khi bạn không chế tạo robot tự cân bằng 2 bánh của riêng mình .:-) Vì vậy, đây là … và điều quan trọng nhất, nó hoạt động !!! Dự án này trông rất đơn giản. Thay vào đó, nó đòi hỏi một mức độ kiến thức tốt o
Robot thăng bằng / Robot 3 bánh / Robot STEM: 8 bước
Robot thăng bằng / Robot 3 bánh / Robot STEM: Chúng tôi đã chế tạo robot 3 bánh và thăng bằng kết hợp để sử dụng trong trường học và các chương trình giáo dục sau giờ học. Robot dựa trên Arduino Uno, một tấm chắn tùy chỉnh (tất cả các chi tiết cấu tạo được cung cấp), một bộ pin Li Ion (tất cả các cấu trúc
Cách sửa đổi bánh xe nóng tiêu chuẩn thành bánh xe nóng R / C: D: 6 bước (có hình ảnh)
Làm thế nào để điều chỉnh xe Hot Wheels tiêu chuẩn thành R / C Hot Wheels: D: Từ khi còn là một đứa trẻ, tôi đã yêu thích Xe Hot Wheels. Nó đã cho tôi nguồn cảm hứng để thiết kế các phương tiện tưởng tượng. Lần này họ vượt qua chính mình với Star War Hot Wheels, C-3PO. Tuy nhiên, tôi muốn nhiều hơn là chỉ đẩy hoặc đi trên một đường đua, tôi quyết định, “L
Lược bánh mì để làm sạch máy cắt bánh mì công nghiệp (Oliver 732-N): 3 bước (có hình ảnh)
Lược Breadcrumb để Vệ sinh Máy cắt Bánh mì Công nghiệp (Oliver 732-N): Chiếc lược này là một cách đi tắt đón đầu. Có một Oliver 732-N Front Load Slicer (7/16 ” spacing) trong tiệm bánh nơi tôi làm việc. Khi nó cắt lát, nó tạo ra các vụn bánh mì mịn đọng lại trên giá đỡ. Một chiếc cọ vẽ được sử dụng để quét sạch