Xe hai bánh tự cân bằng là một trong những dự án có rất nhiều ứng dụng trong cuộc sống hiện nay, nó có nhiều ưu điểm và được sử dụng với nhiều mục đích khác nhau như: phục vụ nhu cầu giải trí, tham gia các cuộc thi về xe tự hành và có thể ứng dụng trong quân sự, mặt khác nó vẫn còn tồn tại một số khuyết điểm như: chi phí cao, giới hạn về các địa hình di chuyển.
ĐỒ ÁN TỐT NGHIỆP ĐIỀU KHIỂN XE HAI BÁNH TỰ CÂN BẰNG LỜI CẢM ƠN Qua đồ án em xin chân thành cảm ơn thầy giáo hướng dẫn T.S Hà Đắc Bình tận tình giúp đỡ em thực đồ án, đồng thời em xin cảm ơn thầy cô khoa Điện - Điện tử tạo điều kiện thuận lợi cho em học tập để thực đồ án cách tốt MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT AMS Advanced Monolithic Systems AT Atmel DC Direct Current GND Ground GPS Global Positioning System IC Integrated Circuit I2C Inter-Integrated Circuit IDE Integrated Development Environment LED Light Emitting Diode MCU Micro Control Unit MPU Motion Processing Unit PID Propotional Integral Derivative PWM Pulse Width Modulation TTL Transistor-Transistor Logic VCC Voltage Common Collector MỤC LỤC HÌNH ẢNH MỤC LỤC BẢNG CHƯƠNG TỔNG QUAN VỀ XE HAI BÁNH TỰ CÂN BẰNG 1.1 Yêu cầu đề tài • Tìm hiểu ngun lý hoạt động xe bánh tự cân thuật tốn PID • Thiết kế thi cơng xe bánh • Thực thuật tốn PID để giữ cân • Thử nghiệm mơi trường phịng thí nghiệm đánh giá kết 1.2 Giới thiệu Xe hai bánh tự cân dự án có nhiều ứng dụng sống nay, có nhiều ưu điểm sử dụng với nhiều mục đích khác như: phục vụ nhu cầu giải trí, tham gia thi xe tự hành ứng dụng quân sự, mặt khác cịn tồn số khuyết điểm như: chi phí cao, giới hạn địa hình di chuyển Xe hai bánh tự cân mô hình xe thiết kế dựa hoạt động mơ hình lắc ngược, đối tượng phi tuyến với tham số bất định Đặc điểm nổi bật xe hai bánh tự cân tự cân bằng, giúp cho xe ln trạng thái cân đứng yên dù xe chỉ có hai bánh trục chuyển động Hiện có nhiều cơng trình nghiên cứu mơ hình robot tự cân nói chung mơ hình xe hai bánh tự cân nói riêng, có nhiều nghiên cứu giải thuật điều khiển xe hai bánh tự cân như: Điều khiển xe hai bánh tự cân sử dụng giải thuật chiếu (backstepping control), sử dụng giải thuật điều khiển trượt (sliding mode control), giải thuật điều khiển LQR, giải thuật điều khiển thông minh fuzzy, noron, giải điều khiển PID Trong số giải thuật điều khiển giải thuật điều khiển PID cho thấy đơn giản dễ sử dụng nên đề tài sử dụng giải thuật điều khiển PID để điều khiển xe hai bánh tự cân mình, nghĩa xe bị ngã phía trước hai động chạy tới để đỡ cho xe đứng lên, độ nghiêng xe lớn tốc độ động tăng ngược lại xe bị ngã phía sau hai động lùi lại để đỡ cho xe đứng lên Hình 1.1:Mơ hình xe bánh tự cân 1.3 Mục tiêu đề tài Tự thiết kế mơ hình xe hai bánh tự cân hoàn chỉnh, hiểu phần mềm lập trình cho vi điều khiển hiểu phương pháp lập trình cho vi điều khiển, hiểu nguyên lý hoạt động Module cảm biến gia tốc bậc tự MPU6050 cách ứng dụng cảm biến gia tốc vào đề tài hiểu phương pháp điều khiển động DC thông qua Module driver L298N để hoàn thành yêu cầu đề tài đặt 1.4 Hướng thực đề tài Tìm hiểu nguyên lý hoạt động Module cảm biến gia tốc bậc tự MPU6050 với cấu tạo cảm biến gia tốc bậc tự MPU6050, tìm hiểu nguyên lý hoạt động Module driver L298N để điều khiển động cơ, tìm hiểu vi điều khiển Arduino Nano phần mềm viết chương trình cho vi điều khiển, tìm hiểu kết cấu phần cứng xe cách lắp ráp để mơ hình xe hồn chỉnh 1.5 Mục đích nghiên cứu Mục đích việc nghiên cứu xe hai bánh tự cân nghiên cứu ứng dụng Module cảm biến với linh kiện điện tử khác nhằm đáp ứng nhu cầu sống người xã hội ngày phát triển mạnh tự động hóa Qua việc nghiên cứu, sinh viên có điều kiện ơn lại kiến thức học Trường Đại Duy Tân, từ kiến thức học sinh viên áp dụng thực tế nâng cao kiến thức chun mơn cho 1.6 Tình hình nghiên cứu nước giới 1.6.1 Trong nước Mơ hình robot hai bánh tự cân luận văn thạc sĩ tác giả Nguyễn Gia Minh Thảo, trường Đại học Bách Khoa TP Hồ Chí Minh Hình 1.2:Mơ hình robot hai bánh cân 1.6.2 Nước Một số kỹ thuật viên sinh viên ngành Cơ điện tử, Tự động hóa nghiên cứu cho đời nhiều dạng robot hai bánh cân Sau số thơng tin mơ hình robot hai bánh tự cân 1.6.2.1nBot nBot ông Anderson sáng chế nBot lấy ý tưởng cân bánh xe phải chạy theo hướng mà phần robot ngã Nếu bánh xe di chuyển để trọng tâm robot ln rơi vào robot giữ cân Hình 1.3:Robot nBot 1.6.2.2EquipoiseBot EquipoiseBot sử dụng hai cảm biến cảm biến gia tốc cảm biến quay hồi chuyển Góc nghiêng robot tính tốn từ hai giá trị khác Một từ cảm biến gia tốc cách sử dụng thuật toán Tangens-Funktion từ cảm biến quay hồi chuyển sử dụng phương pháp tích phân Hai giá trị kết hợp lọc giá trị sử dụng cho đầu vào PID để điều khiển động cơ, giữ cho robot cân Hình 1.4: Robot EquipoiseBot Hình 1.5 Robot EquipoiseBot 1.6.2.3WobblyBot WobblyBot thực chất mơ hình sử dụng lắc ngược, gắn phần thân hai bánh xe WobblyBot thiết kế với phần robot nặng nhiều so với phần giúp robot có khả giữ cân tốt Hình 1.6:Robot hai bánh cân WobblyBot 1.6.2.4TiltOne tiltOne robot hai bánh cân với chiều cao 90 cm có khả chở tải trọng lên tới 50 kg Nguyên lý hoạt động giống robot hai bánh có kích thước nhỏ hơn, sử dụng hai cảm biến cảm biến gia tốc cảm biến quay hồi chuyển thuật toán PID để điều khiển robot cân Hình 1.7: Robot hai bánh cân tiltOne 1.6.2.5Robot kiểu rolling hãng TOYOTA Đây robot có cơng dụng phục vụ người hãng TOYOTA thiết kế Mẫu robot có khả di chuyển nhanh chiếm khơng gian Đồng thời đơi tay robot làm nhiều cơng việc khác nhau, chủ yếu sử dụng với mục đích giải trí Hình 1.8: Robot hai bánh hãng TOYOTA Yêu cầu hệ thống hoạt động phải đảm bảo đạt vị trí đặt trước Trong trình thử nghiệm, đạt vị trí động dừng chuyển động tải trọng vật thử nghiệm làm cấu trượt xuống dẫn đến không đạt yêu cầu Đồng thời đạt vị trí, hệ khơng phép dao động nên phương pháp Ziegler – Nichols không đáp ứng nhu cầu, đồng thời mơ hình tốn học hệ thống khơng đủ chi tiết để tính tốn hệ số theo mơ hình tốn, phương pháp sử dụng phương pháp điều chỉnh tay Để thuận tiện cho việc quan sát thu thập số liệu đáp ứng xung hệ thống, ứng dụng có sẵn Arduino IDE Serial Monitor Serial Plotter giúp cho việc điều chỉnh đơn giản xác 2.5.3 Giới thiệu Arduino IDE Arduino IDE trình biên dịch dành cho tất board Arduino vi điều khiển ATmega328P, ATmega2560… ngơn ngữ C ngơn ngữ dùng trình biên dịch này, đề tài trình biên dịch Arduino IDE sử dụng để viết chương trình điều khiển cho xe Hình 2.32: Logo giao diện Arduino IDE 2.5.4 Khởi tạo chương trình Khi bắt đầu lập trình chúng ta phải khởi động giao diện lập trình Arduino, giao diện lập trình có chức mơ tả hình đây: Hình 2.33: Chức Menu Trong giao diện lập trình chúng ta cần chú ý bước sau đây: Bước 1: Tạo file biên dịch Bước 2: Lưu file code Bước 3: Lập trình code điều khiển Bước 4: Biên dịch file để kiểm tra lỗi Bước 5: Nạp chương trình vào vi điều khiển Trong phần mềm Arduino IDE có hỗ trợ thư viện ví dụ mở với chủ đề khác nhau, ta muốn sử dụng ví dụ thao tác hình bên dưới: Hình 2.34:Mở chương trình mẫu Arduino 2.5.5 Cấu trúc chương trình phần mềm Arduino IDE Chương trình phần mềm Arduino IDE chia làm ba phần là: Cấu trúc (structure), phần biến (variable) số (constant), phần hàm thủ tục (function) Các chương trình viết phần mềm Arduino IDE thường xoay quanh hàm hàm setup() – void setup() hàm loop() – void loop() Hàm void setup() dùng để khai báo cài đặt ban đầu chương trình khai báo chân ngõ vào, chân ngõ hay thiết đặt tốc độ baud giao tiếp nối tiếp chỉ chạy chương trình lần Cịn hàm void loop() hiểu chương trình chính, thực chức năng, thao tác, cơng việc mà người sử dụng lập trình lặp lặp lại liên tục Hình 2.35:Cấu trúc chương trình Arduino IDE CHƯƠNG THỬ NGHIỆM VÀ THẢO LUẬN Hình 3.36:Mơ hình thực tế 3.1 Mơi trường thử nghiệm Mơ hình xe robot hai bánh tự cân thí nghiệm đặt phịng trọ, nhiệt độ khoảng , khơng có gió Mặt phẳng thí nghiệm gạch hoa khơng có vật cản 3.2 Kịch Thiết kế mơ hình kết nối Arduino Nano với máy tính tiến hành nạp CODE nạp code thành cơng hình máy tính hiễn thị chương trình Hình 3.37: Hiển thị trạng thái MPU6050 IDE Nếu robot hoàn toàn cân bằng, giá trị đầu Khi giá trị hiển thị “S” Giá trị đầu vào giá trị từ cảm biến MPU6050 Bảng chữ “F” biểu thị bot di chuyển phía trước “R” thể bot ngược lại Chọn phương pháp thử nghiêm chọn tay Đặt tất giá trị P, I, D Tăng dần giá trị P robot bắt đầu dao động qua lại xung quanh điểm cân robot không bị ngã Tăng dần giá trị D robot khơng cịn dao động Lúc này, robot hoạt động tương đối ổn định bị khựng khựng bị tác động tay Tăng dần giá trị I từ từ hệ thống hoạt động ổn định mượt mà đẩy mạnh robot phía Nếu giá trị biến trở I lớn làm cho robot đáp ứng chậm 3.3 Kết thử nghiệm Sau nhiều lần lựa chọn thông số đặt lại nhiều lần e chọn thơng số: • Kp = 21 • Kd = 0.8 • Ki = 14 Với thơng số robot e đứng cân cịn có phần đảo Hình 3.38: Mơ hình xe cân 3.4 Xét tính ổn định thơng số chọn 3.4.1 Trong phịng Thứ tự thử nghiệm 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Thành công Thất bại x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Bảng 1: Bảng thống kê kết thử nghiệm nhà 3.4.2 Ngoài trời Thứ tự thử nghiệm Thành công x x Thất bại 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 x x x x x x x x x x x x x x x x x x x x x x x x x x x x Bảng 2: Bảng thống kê kết thử nghiệm trời 3.4.3 Tác động nhẹ bên Thứ tự thử nghiệm Thành công Thất bại x x x x x x 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 x x x x x x x x x x x x x x x x x x x x x x x Bảng 3: Bảng thống kê kết thử nghiệm tác động nhẹ 3.4.4 Nhận xét Với thông số chọn nhiều lần thử nghiệm nhiều môi trường khác cho thấy với hệ thống sử dụng thuật tốn PID ởn định Với điều kiện nhà khơng gió lần thử nghiệm thành công cho thấy hệ thống hoạt động tốt Ở điều kiện ngồi trời số điều kiện khác quan gió,bệ mặt vận hành làm cho xe vài lần ngã Với tác động nhẹ vào xe cụ thể dùng tay nhẹ cho thấy hệ thống hoạt động tốt thuật toán PID xử lý để xe đáp ứng để giữ cân lại 3.5 Giải thích kết Với kết chọn robot đã cân cịn đảo Thuật toán chưa thực tối ưu với mơ hình e tại, cịn vài yếu tố khác gia tốc xe, độ bám, ma sát Nhưng tự cân nên e chấp nhận lấy hệ số KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN • Kết luận - Mạch thiết kế thi công đúng với yêu cầu đề tài đặt - Hiểu rõ nắm phương pháp điều khiển cho mơ hình xe hai bánh tự - cân Trong khoảng góc nghiêng từ 150 độ đến 200 độ xe tự cân Những hạn chế trình thực hiện: Để xe tự cân cần tốn nhiều thời gian để làm thí nghiệm - thử sai Xe cân chưa đứng n chỗ • Hướng phát triển - Có thể thay đổi khối động khung xe để xe hoạt động tốt ổn - định Có thể dùng thêm encoder để xe hoạt động ởn định Có thể tích hợp thêm nhiều cảm biến khác xe để đáp ứng nhiều mục đích sử dụng khác ... TỔNG QUAN VỀ XE HAI BÁNH TỰ CÂN BẰNG 1.1 Yêu cầu đề tài • Tìm hiểu ngun lý hoạt động xe bánh tự cân thuật toán PID • Thiết kế thi công xe bánh • Thực thuật tốn PID để giữ cân • Thử nghiệm mơi... Điều khiển chiều quay tóc độ động để robot cân Hình 2. 27: Thuật tốn điều khiển 2. 5 Thuật toán điều khiển PID 2. 5.1 Giới thiệu thuật toán PID Một điều khiển PID (PID controller) phận điều khiển phản... số robot e đứng cân cịn có phần đảo Hình 3.38: Mơ hình xe cân 3.4 Xét tính ổn định thơng số chọn 3.4.1 Trong phịng Thứ tự thử nghiệm 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29