1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ CHẾ TẠO ROBOT XE HAI BÁNH CÂN BẰNG TỰ VẬN HÀNH

49 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 2,5 MB

Nội dung

TRƯỜNG ĐẠI HỌC DUY TÂN KHOA ĐIỆN ĐIỆN TỬ NGUYỄN VĂN CÔNG THÁI THIẾT KẾ CHẾ TẠO ROBOT XE HAI BÁNH CÂN BẰNG TỰ VẬN HÀNH ĐỒ ÁN TỐT NGHIỆP Đà Nẵng, 2022 LỜI CẢM ƠN TRƯỜNG ĐẠI HỌC DUY TÂN KHOA ĐIỆN ĐIỆN. MỤC LỤC LỜI NÓI ĐẦU ........................................................................................................1 CHƯƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ CÂN BẰNG ............3 1.1 Giới thiệu......................................................................................................3 1.2 Tình hình nghiên cứu trong nước và trên thế giới........................................4 1.2.1 Trong nước ................................................................................................4 1.2.2 Nước ngoài ................................................................................................5 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG...................................................................8 2.1 Thiết kế hệ thống..........................................................................................8 2.1.1 Sơ đồ khối tổng quát của hệ thống ............................................................8 2.1.1 Sơ đồ khối tổng quát của hệ thống ............................................................8 2.1.2 Chức năng của từng khối...........................................................................8 2.2 Thiết kế phần cứng .......................................................................................9 2.2.1 Sơ đồ mạch điện ........................................................................................9 2.2.2 Nguyên lý hoạt động của toàn hệ thống..................................................10 2.2.3 Thông số kỹ thuật của từng thiết bị.........................................................11 2.3 Thiết kế phần mềm .....................................................................................20 2.4 Lưu đồ thuật toán: ......................................................................................21 2.5 Thuật toán điều khiển PID..........................................................................21 2.5.1 Giới thiệu về thuật toán PID....................................................................21 2.5.2 Lựa chọn bộ thông số PID.......................................................................24 2.6 Giới thiệu về Arduino IDE .........................................................................26 2.6.1 Khởi tạo một chương trình ......................................................................27 2.6.2 Cấu trúc của một chương trình trong phần mềm Arduino IDE ..............28 CHƯƠNG 3: THỬ NGHIỆM VÀ THẢO LUẬN ...............................................30 3.1 Môi trường thử nghiệm ..............................................................................30 3.2 Kịch bản .....................................................................................................30 3.3 Kết quả thử nghiệm ....................................................................................32 3.3.1 Thực nghiệm............................................................................................36 3.3.2 Nhận xét ..................................................................................................36 3.4 Giải thích kết quả .......................................................................................36CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .....................................37 TÀI LIỆU THAM KHẢO ....................................................................................38 CHƯƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ CÂN BẰNG 1.1 Giới thiệu tổng quan 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. Xe hai bánh tự cân bằng là mô hình xe được thiết kế dựa trên sự hoạt động của mô hình con lắc ngược, là một đối tượng phi tuyến với các tham số bất định. Đặc điểm nổi bật nhất của xe hai bánh tự cân bằng là có thể tự cân bằng, giúp cho xe luôn ở trạng thái cân bằng đứng yên dù xe chỉ có hai bánh và một trục chuyển động. Hiện nay có rất nhiều công trình nghiên cứu về các mô hình robot tự cân bằng nói chung và mô hình xe hai bánh tự cân bằng nói riêng, có rất nhiều nghiên cứu về giải thuật điều khiển xe hai bánh tự cân bằng như: Điều khiển xe hai bánh tự cân bằng sử dụng giải thuật cuốn 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, và giải điều khiển PID. Trong số các giải thuật điều khiển trên thì giải thuật điều khiển bằng PID cho thấy được sự đơn giản và dễ sử dụng nhất nên trong đề tài này 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 bằng của mình, nghĩa là khi xe bị ngã về phía trước thì cả hai động cơ sẽ cùng chạy tới để đỡ cho xe đứng lên, khi độ nghiêng của xe càng lớn thì tốc độ của động cơ cũng sẽ càng tăng và ngược lại khi xe bị ngã về phía sau thì cả hai động cơ sẽ lùi lại để đỡ cho xe đứng lên. CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Thiết kế hệ thống 2.1.1 Sơ đồ khối tổng quát của hệ thống Hình 2.1: Sơ đồ khối của hệ thống 2.1.2 Chức năng của từng khối Khối nguồn: Khối nguồn có chức năng cấp nguồn cho toàn bộ hệ thống hoạt động, ở đề tài này chúng ta sẽ sử dụng Pin để cấp nguồn cho hệ thống. Khối cảm biến: Có chức năng thu thập dữ liệu, thu thập các thông số về góc nghiêng của xe thông qua Module cảm biến gia tốc 6 bậc tự do MPU6050 sau đó nó sẽ tự xử lý và tính toán rồi gửi dữ liệu về khối điều khiển. Khối điều khiển: Chúng ta sẽ sử dụng vi điều khiển Arduino Uno R3 bởi vì nó dễ lập trình, giá thành rẻ và thiết kế phần cứng cũng khá đơn giản. Đây là khối trung tâm

TRƯỜNG ĐẠI HỌC DUY TÂN KHOA ĐIỆN- ĐIỆN TỬ NGUYỄN VĂN CÔNG THÁI THIẾT KẾ CHẾ TẠO ROBOT XE HAI BÁNH CÂN BẰNG TỰ VẬN HÀNH ĐỒ ÁN TỐT NGHIỆP Đà Nẵng, 2022 TRƯỜNG ĐẠI HỌC DUY TÂN KHOA ĐIỆN- ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ CHẾ TẠO ROBOT XE HAI BÁNH CÂN BẰNG TỰ VẬN HÀNH CHUYÊN NGÀNH: ĐIỆN – ĐIỆN TỬ GVHD: TS.TRẦN THUẬN HOÀNG SVTH : NGUYỄN VĂN CÔNG THÁI LỚP : K23 EDT MSSV : 2321179607 LỜI CẢM ƠN Đà Nẵng, 2022 LỜI CẢM ƠN Để hoàn thành báo cáo đồ án trước hết em xin gửi lời cảm ơn đến quý thầy, cô giáo khoa ĐIỆN – ĐIỆN TỬ , trường ĐẠI HỌC DUY TÂN lời cảm ơn chân thành Đặc biệt, em xin gửi đến thầy TS Trần Thuận Hồng , người tận tình hướng dẫn, giúp đỡ em hoàn thành báo cáo đồ án lời cảm ơn sâu sắc Cuối em xin cảm ơn thầy cô trung tâm Điện-Điện Tử CEE Trường Đại Học Duy Tân Các thầy cô truyền đạt hướng dẫn chúng em những kiến thức nền tảng quan trọng của ngành học giúp chúng em vận dụng phát huy vào thực tế đồ án Đồng thời nhà trường tạo cho em có hội học tập nơi mà em yêu thích, bảo những kiến thức lẫn thực tế mà thầy cô thông qua việc giảng dạy Qua quãng thời gian học tập trường em nhận nhiều điều mẻ bổ ích đường em chọn để giúp ích cho cơng việc sau của thân Vì kiến thức thân cịn hạn chế, q trình hồn thiện đồ án em khơng tránh khỏi những sai sót, kính mong nhận những ý kiến đóng góp từ thầy khoa Trân trọng! Đà Nẵng, ngày tháng năm 2022 Sinh viên thực NGUYỄN VĂN CƠNG THÁI LỜI CAM ĐOAN Tơi xin cam đoan: Bản đồ án tồn cơng sức bỏ nghiên cứu nghiêm túc, thực sự sự hướng dẫn tận tình của thầy Trần Thuận Hồng, không chép của riêng Nội dung của đồ án có tham khảo sử dụng tài liệu, thông tin internet xác nhận theo danh mục tài liệu tham khảo ở cuối khóa luận MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ CÂN BẰNG 1.1 Giới thiệu 1.2 Tình hình nghiên cứu nước giới 1.2.1 Trong nước 1.2.2 Nước CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Thiết kế hệ thống .8 2.1.1 Sơ đồ khối tổng quát của hệ thống 2.1.1 Sơ đồ khối tổng quát của hệ thống 2.1.2 Chức của khối 2.2 Thiết kế phần cứng .9 2.2.1 Sơ đồ mạch điện 2.2.2 Nguyên lý hoạt động của toàn hệ thống 10 2.2.3 Thông số kỹ thuật của thiết bị 11 2.3 Thiết kế phần mềm .20 2.4 Lưu đồ thuật toán: 21 2.5 Thuật toán điều khiển PID 21 2.5.1 Giới thiệu về thuật toán PID 21 2.5.2 Lựa chọn thông số PID .24 2.6 Giới thiệu về Arduino IDE 26 2.6.1 Khởi tạo chương trình 27 2.6.2 Cấu trúc của chương trình phần mềm Arduino IDE 28 CHƯƠNG 3: THỬ NGHIỆM VÀ THẢO LUẬN .30 3.1 Môi trường thử nghiệm 30 3.2 Kịch .30 3.3 Kết thử nghiệm 32 3.3.1 Thực nghiệm 36 3.3.2 Nhận xét 36 3.4 Giải thích kết .36 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .37 TÀI LIỆU THAM KHẢO 38 MỤC LỤC HÌNH ẢNH Hình 1.1: Robot nBot Hình 1.2 Robot EquipoiseBot Hình 1.3 Robot hai bánh cân WobblyBot Hình 1.4: Robot hai bánh cân tiltOne Hình 1.5: Robot hai bánh của hãng TOYOTA .7 Hình 2.1: Sơ đồ khối của hệ thống Hình 2.2: Sơ đồ mạch điện .9 Hình 2.3 Mơ tả nguyên lí giữ thăng 10 Hình 2.4 Mơ tả cách bắt đầu di chuyển 10 Hình 2.5: Vi điều khiển Arduino Uno R3 11 Hình 2.6 Mạch điều khiển động bước A4988 .16 Hình 2.7 Arduino CNC Shield 17 Hình 2.8 Hình mạch sạc xả viên pin có mạch sạc xả bảo vệ .18 Hình 2.9 Hình mạch ổn áp IC LM2596 19 Hình 2.10: Lưu đồ thuật toán 21 Hình 2.11: Logo giao diện của Arduino IDE 26 Hình 2.12: Chức Menu 27 Hình 2.13: Mở chương trình mẫu Arduino 28 Hình 2.14 Cấu trúc chương trình Arduino IDE 29 Hình 3.1: Mơ hình thực tế .30 Hình 3.2: Hiển thị trạng thái của MPU6050 IDE 31 Hình 3.3 Hình ảnh Robot vừa khởi động 33 Hình 3.4 Hình ảnh nghiêng sang trái 34 Hình 3.5 Hình ảnh nghiêng sang phải 35 MỤC LỤC CÁC BẢNG Bảng 3.1: Kết thực nghiệm xe cân 36 LỜI MỞ ĐẦU Tính cấp thiết của đề tài Ngày nay, với sự phát triển nhanh chóng của khoa học kỹ thuật, công nghệ thông tin chương trình ứng dụng, giúp mở rộng phạm vi phát triển robot góp phần khơng nhỏ q trình phát triển chung của đất nước Rất nhiều loại robot tân tiến đời phục vụ cho nhiều lĩnh vực kỹ thuật, y tế, quân sự , công nghiệp Phạm vi ứng dụng robot mở rộng tương lai gần.Trên giới có nhiều nghiên cứu giới với thuật giải phương pháp khác cho dẫn đường rô bốt môi trường nhà Những nghiên cứu đa dạng, sử dụng nhiều loại cảm biến khác phục vụ nhiều mục đích khác nhau.Vì thế, tính mở rộng của hệ thống toán quan tâm.Xuất phát từ thực tế đó, những kiến thức học ở trường với những kiến thức, tìm tịi từ báo chí sách vở Internet tơi định tìm hiểu về đề tài “Robot hai bánh tự cân bằng” Mục đích nghiên cứu Mục đích của việc nghiên cứu về xe hai bánh tự cân nghiên cứu về ứng dụng của Module cảm biến với linh kiện điện tử khác nhằm đáp ứng nhu cầu sống của người xã hội ngày phát triển mạnh về 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 về chun mơn cho Đới tượng Đối tượng nghiên cứu ở robot hai bánh thông qua sự trợ giúp của cảm biến, mạch điều khiển động , Arduino để tự cân không cần sự trợ giúp của người trình vận hành Phương pháp nghiên cứu Tìm hiểu nguyên lý hoạt động của Module cảm biến gia tốc bậc tự MPU6050 với cấu tạo của cảm biến gia tốc bậc tự MPU6050, tìm hiểu nguyên lý hoạt động của mạch điều khiển A4899 để điều khiển động cơ, tìm hiểu về 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 về kết cấu phần cứng của xe cách lắp ráp để mô hình xe hồn chỉnh Nợi dung nghiên cứu Nội dung khóa luận gồm chương:  Chương 1: Tổng quan về robot hai bánh tự cân bằng;  Chương 2: Thiết kế hệ thống;  Chương 3: Thử nghiệm thảo luận;  Chương 4: Kết luận hướng phát triển 27 2.6.1 Khởi tạo chương trình Khi bắt đầu lập trình 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.12: Chức Menu Trong giao diện lập trình cần ý bước sau đây: Bước 1: Tạo file biên dịch mới; 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 28 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.13: Mở chương trình mẫu Arduino 2.6.2 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 của 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ạy chương 29 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.14 Cấu trúc chương trình Arduino IDE CHƯƠNG 3: THỬ NGHIỆM VÀ THẢO LUẬN Hình 3.1: 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 290 𝐶, khơng có gió Mặt phẳng thí nghiệm nền 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 Uno 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.2: Hiển thị trạng thái của 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ữ của “F” biểu thị bot di chuyển về 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 về 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 về 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 = 12;  Ki = 0,2;  Kd = Với thơng số robot của e đứng cân cịn có phần đảo - Robot vừa khởi động cần phải tác động để xác lập vị trí ban đầu đương đối thẳng đứng Hình 3.3 Hình ảnh Robot vừa khởi động -Robot vừa bị tác động vào bên phải , có xu hướng thăng nghiêng sang bên trái Hình 3.4 Hình ảnh nghiêng sang trái -Robot vừa bị tác động vào bên trái , có xu hướng thăng nghiêng sang bên phải Hình 3.5 Hình ảnh nghiêng sang phải 3.3.1 Thực nghiệm Kết đo sau nhiều lần thực nghiệm của robot cân bằng: Thứ tự thử nghiệm Kết Rung mạnh Kp thấp (6) Rung mạnh Kp cao (20) Ổn Kp(12) Ổn Ổn Ổn Ổn Rung nhẹ lấy vị trị ban đầu Ổn 10 Ổn Bảng 3.1: Kết thực nghiệm xe cân 3.3.2 Nhận xét Với thông số chọn nhiều lần thử nghiệm cho thấy với hệ thống sử dụng thuật toán PID ổn định Với điều kiện nhà khơng gió lần thử nghiệm đều thành công cho thấy hệ thống hoạt động tốt 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.4 Giải thích kết Với kết chọn robot đã cân cịn đảo Thuật tốn chưa thực sự tối ưu với mơ hình của e tại, cịn vài yếu tố khác nữa gia tốc của xe, độ bám, ma sát Nhưng tự cân nên e chấp nhận lấy hệ số ở CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận - Mạch thiết kế thi công với yêu cầu đề tài đặt ra; - Trong khoảng góc nghiêng từ 70 độ đến 110 độ xe tự cân bằng; - 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 yên chỗ 4.2 Hướng phát triển - Có thể thay đổi khối động khung xe để xe hoạt động tốt ổn định hơn; - 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 Dưới toàn mã nguồn phát triển cho robot Chương trình vi điều khiển /************************************************/ #include #include #include #include MPU6050 mpu6050(Wire); int duong1 = 6; int am1 = 9; int duong2 = 10; int am2 = 11; float x, a, loi , vitri, deltaloi, iloi, lastloi; String val; void setup() { Serial.begin(115200); Wire.begin(); mpu6050.begin(); mpu6050.calcGyroOffsets(true); pinMode (duong1, OUTPUT); pinMode (am1, OUTPUT); pinMode (duong2, OUTPUT); pinMode (am2, OUTPUT); vitri = 0; deltaloi = 0; lastloi = 0; iloi = 0; } void loop () { mpu6050.update(); x = mpu6050.getAngleX() ; Serial.println(x); if (x > 20 || x < -20) { PID(0, 0, 0, 0); } else { PID(x, 12, 0.2, 5); } x = 0; delay (10); } float PID (float loi, float kp , float ki, float kd) { long ketqua; deltaloi = loi - lastloi; iloi = + loi; if (iloi >= 50)iloi = 50; else if (iloi = 255) ketqua = 255; else if (ketqua 0) { analogWrite(duong1, 0); analogWrite(am1, ketqua); analogWrite(am2, 0); analogWrite(duong2, ketqua); } else { analogWrite(am1, 0); analogWrite(duong1, -ketqua); analogWrite(duong2, 0); analogWrite(am2, -ketqua); } } TÀI LIỆU THAM KHẢO Tài liệu tiếng việt [1] Trần Quang Vinh, giảng :Robot thông minh 2012, khoa học công nghệ Điện tử- Viễn Thông, đại học Công Nghệ –ĐH Quốc Gia Hà Nội [2] Điện tử HELLO DESIGN: Robot bánh tự cân tài liệu tham khảo CỘNG ĐỒNG ARDUINO VIETNAM Tài liệu tiếng anh [3] Aswinth Raj, Self Balancing Robot [4] Arduino project-self balancing Robot , Rztronics [5] Series BUILDING a self-balancing Robot , Noah Zipin ... thăng của xe đạp dựa theo tính chất quay hồi chuyển ở hai bánh xe quay Còn xe hai bánh tự cân bằng, loại xe có hai bánh với trục của hai bánh xe trùng với nhau, xe cân trọng tâm của xe cần... Hồ Chí Minh 1.2.1.2 Xe hai bánh tự cân Hình 1.2: Mơ hình xe bánh tự cân Mơ hình xe hai bánh của tác giả Nguyễn Tuệ Nhi , làm về robot hai bánh tự cân - self balancing robot cộng đồng Arduino... dạng robot hai bánh cân Sau số thơng tin về mơ hình robot hai bánh tự cân 1.2.2.1 Robot nBot Robot 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ày đăng: 22/12/2022, 10:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN