(Đồ án hcmute) nghiên cứu thuật toán điều khiển robot hai bánh tự cân bằng

79 1 0
(Đồ án hcmute) nghiên cứu thuật toán điều khiển robot hai bánh tự cân bằng

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO KHĨA LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ NGHIÊN CỨU THUẬT TOÁN ĐIỀU KHIỂN ROBOT HAI BÁNH TỰ CÂN BẰNG GVHD: ThS VÕ LÂM CHƯƠNG SVTH: TRỊNH ĐÌNH VIỆT MSSV: 11146183 SVTH: TRỊNH CƠNG TRƯỜNG MSSV: 11146182 SVTH: TRẦN NHẬT HUY MSSV: 11146195 SKL 0 Tp Hồ Chí Minh, tháng 7/2015 an BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HỒ CHÍ MINH  KHOA ĐÀO TẠO CHẤT LƢỢNG CAO ĐỒ ÁN TỐT NGHIỆP Đề tài: “NGHIÊN CỨU THUẬT TOÁN ĐIỀU KHIỂN ROBOT HAI BÁNH TỰ CÂN BẰNG” Giảng viên hƣớng dẫn: ThS VÕ LÂM CHƢƠNG Sinh viên thực hiện: TRỊNH ĐÌNH VIỆT TRỊNH CƠNG TRƢỜNG Lớp: Khố: TRẦN NHẬT HUY 11146CLC 2011 -2015 Tp Hồ Chí Minh, tháng 07/2015 an TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HCM CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự – Hạnh phúc KHOA ĐÀO TẠO CHẤT LƢỢNG CAO Bộ môn điện tử NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Giảng viên hƣớng dẫn: Ths Võ Lâm Chƣơng Sinh viên thực hiện: Trịnh Đình Việt MSSV: 11146183 Trần Nhật Huy MSSV: 11146195 Trần Nhật Huy MSSV: 11146182 Tên đề tài: Nghiên cứu thuật toán điều khiển robot hai bánh tự cân Nội dung đồ án: Đề tài tập trung vào việc xây dựng mô hình thuật tốn điều khiển robot hai bánh tự cân bằng điều khiển PID( Proportional Integral Derivative) LQR (Linear-quadratic-regulator) Xây dựng giải thuật lọc tín hiệu từ cảm biến sử dụng lộc bổ phụ, lọc kalman Đồng thời thiết kế chế tạo mơ hình thực tế robot có khả giữ cân di chuyển linh hoạt địa hình phẳng Các sản phẩm dự kiến - Mơ hình điều khiển robot hai bánh tự cân sử dụng hai điều khiển PID LQR Matlab-Simulink - Mơ hình điều khiển robot hai bánh tự cân sử dụng hai điều khiển PID LQR mơ hình thực tế Ngày giao đồ án: Ngày 06 tháng 02 năm 2015 Ngày nộp đồ án: Ngày 10 tháng 07 năm 2015 TRƢỞNG BỘ MÔN GIẢNG VIÊN HƢỚNG DẪN (Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên)  Đƣợc phép bảo vệ………………………………………… (GVHD ký, ghi rõ họ tên) an LỜI CAM KẾT - Tên đề tài:Nghiên cứu thuật toán điều khiển robot hai bánh tự cân GVHD: Ths Võ Lâm Chƣơng Họ tên sinh viên: Trịnh Đình Việt – Trần Nhật Huy – Trịnh Công Trƣờng MSSV:11146183-11146195-11146182 Lớp:11146CLC Địa sinh viên: Phƣờng Linh chiểu–Quận Thủ Đức– TP Hồ Chí Minh Số điện thoại liên lạc: 01654227381 Email: tdvmechatronics@gmail.com Ngày nộp khoá luận tốt nghiệp (ĐATN): Ngày 10 tháng 07 năm 2015 Lời cam kết: “Chúng tơi xin cam đoan khố luận tốt nghiệp (ĐATN) cơng trình chúng tơi nghiên cứu thực Chúng không chép từ viết công bố mà khơng trích dẫn nguồn gốc Nếu có vi phạm nào, chúngtơi xin chịu hồn tồn trách nhiệm” Tp Hồ Chí Minh, ngày … tháng … năm 20… Ký tên an LỜI CÁM ƠN Sau nhiều tháng ngày học tập làm việc nghiêm túc, đồ án hồn thành kì hạn Để có đƣợc thành này, mặt cố gắng kiến thức thân, mặt khác dẫn tận tình thầy cơ, giúp đỡ bạn bè, động viên khích lệ ngƣời thân Xin đƣợc gửi lời tri ơn đến: - Thầy ThS VÕ LÂM CHƢƠNG, giáo viên hƣớng dẫn, ngƣời trực tiếp bảo, động viên nhóm thực suốt thời gian thực đồ án - Thầy PGS.TS NGUYỄN NGỌC PHƢƠNG, giáo viên phản biện, ngƣời phản biện, góp ý cho đề tài đƣợc hồn thiện tốt - Các giáo viên hộ đồng phản biện, ngƣời phản biện, góp ý cho đồ án với tinh thần khách quan, khoa học, giúp đồ án hoàn thiện - Cuối xin cảm ơn đến tất thầy cô bạn bè trƣờng Đại họcSƣ Phạm Kỹ Thuật Tp Hồ Chí Minh giúp đỡ nhƣ tạo điều kiện cho đồ án đƣợc hoàn thành tốt đẹp Sinh viên thực Trịnh Đình Việt Trần Nhật Huy Trịnh Cơng Trƣờng an MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP LỜI CAM KẾT LỜI CÁM ƠN MỤC LỤC MỤC LỤC HÌNH ẢNH LỜI NÓI ĐẦU TÓM TẮT ĐỀ TÀI 10 Chƣơng 1: 12 ĐẶT VẤN ĐỀ 12 Đối tƣợng nghiên cứu: 12 Khả ứng dụng: 14 Tình hình nghiên cứu nƣớc: 14 3.1 Trong nƣớc 14 3.2 Ngoài nƣớc 14 Chƣơng 2: 16 GIẢI QUYẾT VẤN ĐỀ 16 Mục đích đề tài: 16 Giới hạn đề tài: 16 Phƣơng pháp nghiên cứu: 16 3.1 Phƣơng pháp nghiên cứu chung: 16 3.2 Lựa chọn phƣơng án thực hiện: 16 3.2.1 Thu thập xử lý giá trị góc nghiêng, vận tốc góc, quãng đƣờng vận tốc dài: 16 3.2.1.1 Dùng cảm biến MPU6050 để đọc giá trị góc nghiêng vận tốc góc: 16 3.2.1.2 Dùng cảm biến Encoder để đọc giá trị vị trí vận tốc dài: 17 3.2.2 Lựa chọn lọc cho cảm biến gia tốc vận tốc góc: 17 3.2.3 Thiết kế điều khiển cho robot: 17 3.2.3.1 Vi mạch điều khiển robot: 17 3.2.4 Kết cấu khí robot: 17 3.2.5 Lựa chọn nguồn nuôi cho robot: 18 Chƣơng3: 19 CƠ SỞ LÝ THUYẾT 19 Mơ hình hóa robot hai bánh tự cân 19 Lý thuyết điều khiển PID 24 an 2.1 Giới thiệu 24 2.2 Lý thuyết điều khiển PID 25 2.2.1 Bộ PID liên tục 25 a) Giới thiệu 25 b) Sử dụng mơ hình xấp xỉ bậc có trễ đối tƣợng 26 c Xác định thông số thực nghiệm 27 2.2.2 Bộ PID số 28 a Nguyên lý điều khiển PID số 28 b) Xác định tham số cho PID số thực nghiệm 30 c) Xác định hàm độ đối tƣợng 30 d) Xác định từ giá trị tới hạn 31 Lý thuyết điều chỉnh tồn phƣơng tuyến tính (Linear Quadratic Regulator - LQR) 31 3.1 Bài toán dạng LQR liên tục 31 3.2 Bài toán LQR rời rạc 33 Chƣơng4: 35 BỘ LỌC CHO CẢM BIẾN 35 Giới thiệu MPU6050 35 1.1 Giới thiệu 35 1.2 Lấy liệu từ cảm biến 36 1.3 Xử lý tín hiệu MPU6050 37 a) Đối với liệu lấy từ Gyro: 37 b) Đối với liệu lấy từ Accelerometer 37 1.4 Các phƣơng pháp xử lý tín hiệu từ cảm biến MPU6050 38 1.4.1 Lọc bổ phụ thông tần (complementary) 38 1.4.2) Lọc thích nghi – Bộ lọc Kalman 40 a) Giới thiệu chung lọc kalman 40 b) Tóm tắc lý thuyết lọc Kalman 41 c) Áp dụng lọc Kalman cho việc xử lý tín hiệu từ cảm biến MPU6050 42 d) Giải thuật lọc Kalman áp dụng cho cảm biến MPU6050 vi điều khiển 45 e) Kết thực nghiệm lọc Kalman 46 1.4.3 So sánh lọc 47 Chƣơng5: 49 THIẾT KẾ BỘ ĐIỀU KHIỂN 49 Thiết kế điều khiển robot hai bánh tự cân Matlab/Simulink 49 1.1 Thiết kế điều khiển PID (Proportional Integral Derivative) Matlab-simulink 49 1.2 Thiết kế bợ điều khiển LQR (Linear Quadratic Regulator) Matlab-simulink 52 an 1.3 So sánh hai điều khiển 53 Thiết kế điều khiển robot hai bánh tự cân mơ hình robot 54 2.1 Thiết kế điều khiển PID mơ hình 54 2.1.1 Thuật tốn điều khiển PID cân robot dựa góc nghiêng khơng có giá trị hồi tiếp vị trí, vận tốc dài 54 Chƣơng6: 61 THIẾT KẾ MƠ HÌNH 61 Thiết kế khí 61 1.1 Tính tốn thiết kế mơ hình cho hệ thống 61 1.1.1 Tính tốn lựa chọn linh kiện cho mơ hình 61 1.1.2 Thiết kế mơ hình vẽ solidworks 62 1.1.3 Mơ hình robot hai bánh tự cân thực tế 63 Mạch điện tử 64 2.1 Vi điều khiển (Arduino) 64 2.1.1 Giới thiệu 64 2.1.1.1 Tổng quát 64 2.1.1.2 Phần cứng Arduino 64 2.1.1.3 Phần mềm Arduino 64 2.1.2 Arduino Mega2560 65 2.1.3 Phần công suất (L298) 70 2.1.3.1 Giới thiệu IC L298 70 2.1.3.2 Sơ đồ khối 71 2.1.3.3 Các giá trị định mức 71 2.1.3.4 Sơ đồ chân 72 2.1.3.5 Thông số nhiệt độ 72 2.1.3.6 Thông tin ứng dụng 72 2.1.3.7 Sơ đồ nguyên lý 73 Phan mềm điều khiển 73 Chƣơng 7: 74 KẾT LUẬN, ĐỀ NGHỊ 74 Những vấn đề đƣợc giải luận văn: 74 1.1 Những vấn đề nghiên cứu: 74 1.2 Những vấn đề thực hiện: 74 Các phƣơng hƣớng phát triển đề tài: 75 TÀI LIỆU KHAM KHẢO 76 an MỤC LỤC HÌNH ẢNH Hình 0.1:Sơ đồ khối đồ án 11 Hình 1.1: Nguyên lý hoạt động robot bánh tự cân 12 Hình 1.2: Robot lúc cân va di chuyển phía trƣớc 13 Hình 1.3: Khi robot xuống dốc (bên trái) thân robot nghiêng sau để giảm vận tốc giữ thăng bằng; robot lên dốc (bên phải) thân robot nghiêng với góc nghiêng lớn góc nghiêng dốc 13 Hình1.4: 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 14 Hình 1.5: Robot Nhật Bản EMIEW Hitachi 15 Hình 1.6: Automated Music Personality Ologic 15 Hình 2.1: Mơ hình Robot 18 Hình 3.1: Mơ hình phân tích robot hai bánh tự cân 19 Hình 3.2: Bộ điều khiện PID 24 Hình 3.3: Lý thuyết điều khiển PID 25 Hinh 3.4: Đồ thị hàm số độ đối tƣợng 26 Hinh 3.5: Xác định tham số cho mơ hình xấp xỉ biểu thức (3.4) đối tƣợng 27 Hinh 3.6 : Xác định số khuếch đại 28 Hình 3.7 : Điều khiển với PID số 29 Hình 3.8 : Minh học cơng thức xấp xỉ thành phần tích phân 30 Hình 3.9 : Xác định tham số PID số theo phƣơng pháp Takahashi 30 Hình 4.1 :Protocol chuẩn I2C 35 Hình 4.2 : Bộ lọc phụ thông tần 38 Hình 4.3 :Bộ lọc phụ thông tần 39 Hình 4.4 :Đáp ứng tín hiệu góc Roll chƣa qua lọc (màu đỏ) Roll qua lọc complementary (màu xanh) trạng thái tĩnh 40 Hình 4.5 :Đáp ứng tín hiệu góc Roll chƣa qua lọc (màu đỏ) Roll qua lọc complementary (màu xanh) trạng thái động 40 Hình 4.6 : Phƣơng trình lọc kalman 42 Hình 4.7 : Đáp ứng tín hiệu góc Roll chƣa qua lọc (màu đỏ) Roll qua lọc Kalman (màu xanh) trạng thái tĩnh 46 Hình 4.8 :Đáp ứng tín hiệu góc Roll chƣa qua lọc (màu đỏ) Roll qua lọc Kalman (màu xanh) trạng thái động 47 Hình 4.9 :Đáp ứng tín hiệu góc Roll chƣa qua lọc (màu đỏ), góc Roll qua lọc Complementary (màu xanh cây) góc Roll qua lọc Kalman (màu xanh dƣơng) trạng thái tĩnh 48 an Hình 4.10 :Đáp ứng tín hiệu góc Roll chƣa qua lọc (màu đỏ), góc Roll qua lọc Complementary (màu xanh cây) góc Roll qua lọc Kalman (màu xanh dƣơng) trạng thái động 48 Hình 5.1:giá trị tham số mơ hình robot 49 Hình 5.2:Mơ hình Simulink mơ robot hai bánh tự cân sử dụng thuật toán điều khiển PID 50 Hình 5.3 :Mơ hình tốn học robot hai bánh tự cân 50 Hình 5.4 :Biều đổ đáp ứng góc nghiêng 51 Hình 5.5 :Biều đổ đáp ứng vị trí 51 Hình 5.6 :Mơ hình tốn học robot hai bánh tự cân 52 Hình 5.7 :Biều đổ đáp ứng góc nghiêng vị trí 52 Hình 5.8 : Biều đồ đáp ứng đầu giá trị góc nghiêng với góc đặt góc 53 Hình 5.9 :Biều đổ đáp ứng vị trí 54 Hình 5.10 :Bộ điều khiển PID cân robot dựa góc nghiêng 54 Hình 5.11 : Giải thuật điều khiển 55 Hình 5.12 :Đáp ứng góc lệch θ Robot trạng thái cân không di chuyển 56 Hình 5.13 :Đáp ứng vị trí Robot trạng thái cân 56 Hình 5.14 : Giải thật điều khiển 57 Hình 5.15 : Đáp ứng góc lệch θ Robot trạng thái cân không di chuyển 58 Hình 5.16 :Đáp ứng vị trí Robot trạng thái cân với vị trí xét ban đầu -0.2 mét 58 Hình 5.17 : Giải thuật điều khiển 59 Hình 5.18 : Đáp ứng góc lệch θ Robot trạng thái cân không di chuyển 60 Hình 5.19 : Đáp ứng vị trí Robot trạng thái cân với vị trí xét ban đầu -0.4 mét 60 Hình 6.1 : Mô tả thời gian robot ngã từ trạng thái cân đến gócnghiêng 20 độ 61 Hình 6.2: Mơ hình Robot solidworks 62 Hình 6.3 : Mơ hình robot hai bánh tự cân 63 Hình 6.4 : Chu trình hoạt động Arduino 64 Hình 6.5 : Board Arduino Mega2560 65 Hình 6.6 : Sơ đồ nguyên lý Arduino Mega2560 70 Hình 6.7 : Sơ đồ khối IC L298 71 Hình 6.8 : Sơ đồ chân 72 Hình 6.9 : Sơ đồ nguyên lý 73 Hình 7.0 : Phần mềm android điều khiển robot 73 an 1.1.3 Mơ hình robot hai bánh tự cân thực tế - Đề tài sử dụng bo mạch Arduino mega2560 đóng vai trị nhƣ “bộ não” robot, điều khiển cho robot giữ cân Khung robot đƣợc chế tạo từ chất liệu với hai động DC đƣợc đặt đồng trục, cho phép robot di chuyển đƣợc theo hai hƣớng trƣớc sau Hai động đƣợc điểu khiển mạch cầu H L298, cảm biến MPU6050 đƣợc sử dụng để xác định góc nghiêng robot Hai động DC 12V, 1.25W tốc độ 126 vòng/phút, encoder 334 xung/vòng Hai bánh xe đƣợc bọc cao su có nhiều rãnh để tăng độ bám cao giúp robot cân tốt Hình 6.3 : Mơ hình robot hai bánh tự cân 63 an Mạch điện tử 2.1 Vi điều khiển (Arduino) 2.1.1 Giới thiệu 2.1.1.1 Tổng quát - Là tảng mã nguồn mở đƣợc sử dụng để xây dựng ứng dụng điện tử Arduino gồm board mạch lập trình đƣợc( Vi điều khiển) phần mềm hỗ trợ phát triễn tích hợp IDE dùng để biên dịch code, nạp chƣơng trình cho board - Phần cứng bao gồm bảng mạch điện tử phần cứng dạng nguồn mở đƣợc thiết từ vi xử lý 8-bit Atmel AVR , 32-bit Atmel ARM Phần mềm cho phần cứng bao gồm trình biên dịch ngơn ngữ lập trình chuẩn nạp khởi động, để thực lệnh vi điều khiển 2.1.1.2 Phần cứng Arduino - Một bảng mạch Arduino bao gồm vi điều khiển Atmel AVR 8-bit thành phần bổ sung để tạo điều kiện lập trình tích hợp cách mạch điện khác với bảng mạch Arduino Một khía cạnh quan trọng Arduino dựa tiêu chuẩn kết nối thống nhất, cho bo mạch CPU đƣợc kết nối với loạt mơ-đun chuyển đổi tiện ích bổ sung đƣợc gọi shield (bộ chắn) Một số shield giao tiếp bo mạch Arduino trực tiếp từ chân nối khác nhau, nhƣng shield đƣợc định địa riêng biệt thông qua bus kết nối nối tiếp I² C, cho phép shield đƣợc xếp chồng lên đƣợc sử dụng song song Arduino chuẩn sử dụng megaAVR tổ chợp chip, đặc biệt ATmega8, Atmega168, ATmega328, ATmega1280, ATmega2560 Một số vi xử lý khác đƣợc sử dụng tƣơng thích chuẩn Arduino Hầu hết bo mạch bao gồm điều áp tuyến tính 5V dao động tinh thể 16 MHz (hoặc cộng hƣởng gốm số biến thể dao động), số thiết kế nhƣ LilyPad chạy MHz chia sẻ điều áp bo mạch hạn chế thông số định dạng thể Bộ vi điều khiển Arduino đƣợc lập trình trƣớc nhờ nạp khởi động theo cách đơn giản tải lên chƣơng trình vào nhớ flash chip, so với thiết bị khác thƣờng cần lập trình viên bên ngồi hỗ trợ sử dụng - Bảng mạch Arduino cho thấy hầu hết chân nối I/O pins vi điều khiển để sử dụng mạch khác Các Diecimila, Duemilanove , Uno cung cấp 14 chân I/O số, sáu số có thểtạo tiến hiệu điều biến độ rộng xung, sáu đầu vào tƣơng tự Các chân nằm mặt bo mạch, thông qua đầu chân 0.10-inch (2,5 mm) Một số shield ứng dụng nhúng plug-in có dạng thƣơng mại 2.1.1.3 Phần mềm Arduino - Môi trƣờng phát triển tích hợp (IDE) Arduino ứng dụng đa tảng đƣợc viết Java, đƣợc dẫn xuất từ IDE cho ngơn ngữ lập trình xử lý dự án lắp ráp Nó đƣợc thiết kế để làm nhập mơn lập trình cho nhà lập trình ngƣời sử dụng khác không quen thuộc với phát triển phần mềm Nó bao gồm trình soạn thảo mã với tính nhƣ làm bật cú pháp, khớp dấu ngặc khối chƣơng trình, thụt đầu dịng tự động, có khả biên dịch tải lên chƣơng trình 64 an vào bo mạch với nhấp chuột Một chƣơng trình mã viết cho Arduino đƣợc gọi "sketch" Chƣơng trình Arduino đƣợc viết C C++ Arduino IDE kèm với thƣ viện phần mềm đƣợc gọi "Wiring" từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu phổ biến trở nên dễ dàng nhiều Ngƣời sử dụng cần định nghĩa hai hàm để thực chƣơng trình điều hành theo chu kỳ : - setup() : hàm chạy lần vào lúc bắt đầu chƣơng trình dùng để khởi tạo thiết lập - loop() : hàm đƣợc gọi lặp lại liên tục bo mạch đƣợc tắt Khi bạn bật điện bảng mạch Arduino, reset hay nạp chƣơng trình mới, hàm setup() đƣợc gọi đến Sau xử lý xong hàm setup(), Arduino nhảy đến hàm loop() lặp vô hạn hàm bạn tắt điện bo mạch Arduino Chu trình mơ tả hình dƣới đây: Hình 6.4 :Chu trình hoạt động Arduino 2.1.2 Arduino Mega2560 Hình 6.5 :Board Arduino Mega2560 65 an - Điện áp hoạt động: 5V - Điện áp đầu vào : 7V-12V - Kỹ thuật số I / O: 54 (trong có 15 cung cấp đầu PWM) - Đầu vào tƣơng tự: 16 - DC I / O: 40 mA - Flash Memory: 256 KB có KB đƣợc sử dụng nạp khởi động - SRAM: KB - EEPROM: 4KB -Hỗ trợ tốc độ BAUD cao -Tần số hoạt động :16MHz Những đặc trưng giao tiếp ngoại vi: -Một timer/counter bit với đếm dồn riêng biệt, chế độ so sánh - Bốn timer/counter 16 bit với đếm dồnriệngbiệt, chế độ so sánh, chế độ thu nhận giá trị tức thời - Hỗ trợ đầy đủ nguồn ngắt ngồi - Bộ đếm thời gian thực chạy từ dao động riệngbiệt - Hỗ trợ 15 kênh PWM - Hỗ trợ 16 kênh ADC 10 bit - Hỗ trợ giao tiếp USART - Hỗ trợ giao tiếp SPI - Watchdog timer với dao động riêng biệt on-chip, lập trình đƣợc - Arduino Mega2560 có số sở để giao tiếp với máy tính, Arduino, vi điều khiển khác CácATmega2560 cung cấp bốn phần cứng UARTs cho TTL (5V) giao tiếp nối tiếp Một ATmega16U2 kênh vi điều khiển qua cổng USB cung cấp cổng com ảo để phần mềm máy tính (máy tính Windows cần tập tin inf., nhƣng OSX Linux công nhận vi điều khiển nhƣ cổng COM tự động Các phần mềm Arduino bao gồm hình nối tiếp cho phép liệu văn đơn giản đƣợc gửi đến từ vi điều khiển RX TX LED bảng nhấp nháy liệu đƣợc truyền qua ATmega8U2/ATmega16U2 chip kết nối USB với máy tính (nhƣng khơng cho giao tiếp nối tiếp chân 1) - Một thƣ viện SoftwareSerial cho phép giao tiếp nối tiếp chân kỹ thuật số Mega2560 - SPI: 50 (miso), 51 (Mosi), 52 (SCK), 53 (SS) Các chân hỗ trợ SPI giao tiếp cách sử dụng thƣ viện SPI Các chân SPI đƣợc chia tiêu đề ICSP - TWI: 20 (SDA) 21 (SCL) Hỗ trợ giao tiếp TWI cách sử dụng thƣ viện dây - Sơ đồ chân chip ATmega 256 Pin Number Pin Name Mapped Pin Name PG5 ( OC0B ) Digital pin (PWM) PE0 ( RXD0/PCINT8 ) Digital pin (RX0) 66 an 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 PE1 ( TXD0 ) PE2 ( XCK0/AIN0 ) PE3 ( OC3A/AIN1 ) PE4 ( OC3B/INT4 ) PE5 ( OC3C/INT5 ) PE6 ( T3/INT6 ) PE7 ( CLKO/ICP3/INT7 ) VCC GND PH0 ( RXD2 ) PH1 ( TXD2 ) PH2 ( XCK2 ) PH3 ( OC4A ) PH4 ( OC4B ) PH5 ( OC4C ) PH6 ( OC2B ) PB0 ( SS/PCINT0 ) PB1 ( SCK/PCINT1 ) PB2 ( MOSI/PCINT2 ) PB3 ( MISO/PCINT3 ) PB4 ( OC2A/PCINT4 ) PB5 ( OC1A/PCINT5 ) PB6 ( OC1B/PCINT6 ) PB7 ( OC0A/OC1C/PCINT7 ) PH7 ( T4 ) PG3 ( TOSC2 ) PG4 ( TOSC1 ) RESET VCC GND XTAL2 XTAL1 PL0 ( ICP4 ) PL1 ( ICP5 ) PL2 ( T5 ) PL3 ( OC5A ) PL4 ( OC5B ) PL5 ( OC5C ) 67 an Digital pin (TX0) Digital pin (PWM) Digital pin (PWM) Digital pin (PWM) VCC GND Digital pin 17 (RX2) Digital pin 16 (TX2) Digital pin (PWM) Digital pin (PWM) Digital pin (PWM) Digital pin (PWM) Digital pin 53 (SS) Digital pin 52 (SCK) Digital pin 51 (MOSI) Digital pin 50 (MISO) Digital pin 10 (PWM) Digital pin 11 (PWM) Digital pin 12 (PWM) Digital pin 13 (PWM) RESET VCC GND XTAL2 XTAL1 Digital pin 49 Digital pin 48 Digital pin 47 Digital pin 46 (PWM) Digital pin 45 (PWM) Digital pin 44 (PWM) 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 PL6 PL7 PD0 ( SCL/INT0 ) PD1 ( SDA/INT1 ) PD2 ( RXDI/INT2 ) PD3 ( TXD1/INT3 ) PD4 ( ICP1 ) PD5 ( XCK1 ) PD6 ( T1 ) PD7 ( T0 ) PG0 ( WR ) PG1 ( RD ) PC0 ( A8 ) PC1 ( A9 ) PC2 ( A10 ) PC3 ( A11 ) PC4 ( A12 ) PC5 ( A13 ) PC6 ( A14 ) PC7 ( A15 ) VCC GND PJ0 ( RXD3/PCINT9 ) PJ1 ( TXD3/PCINT10 ) PJ2 ( XCK3/PCINT11 ) PJ3 ( PCINT12 ) PJ4 ( PCINT13 ) PJ5 ( PCINT14 ) PJ6 ( PCINT 15 ) PG2 ( ALE ) PA7 ( AD7 ) PA6 ( AD6 ) PA5 ( AD5 ) PA4 ( AD4 ) PA3 ( AD3 ) PA2 ( AD2 ) PA1 ( AD1 ) PA0 ( AD0 ) 68 an Digital pin 43 Digital pin 42 Digital pin 21 (SCL) Digital pin 20 (SDA) Digital pin 19 (RX1) Digital pin 18 (TX1) Digital pin 38 Digital pin 41 Digital pin 40 Digital pin 37 Digital pin 36 Digital pin 35 Digital pin 34 Digital pin 33 Digital pin 32 Digital pin 31 Digital pin 30 VCC GND Digital pin 15 (RX3) Digital pin 14 (TX3) Digital pin 39 Digital pin 29 Digital pin 28 Digital pin 27 Digital pin 26 Digital pin 25 Digital pin 24 Digital pin 23 Digital pin 22 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 PJ7 VCC GND PK7 ( ADC15/PCINT23 ) PK6 ( ADC14/PCINT22 ) PK5 ( ADC13/PCINT21 ) PK4 ( ADC12/PCINT20 ) PK3 ( ADC11/PCINT19 ) PK2 ( ADC10/PCINT18 ) PK1 ( ADC9/PCINT17 ) PK0 ( ADC8/PCINT16 ) PF7 ( ADC7 ) PF6 ( ADC6 ) PF5 ( ADC5/TMS ) PF4 ( ADC4/TMK ) PF3 ( ADC3 ) PF2 ( ADC2 ) PF1 ( ADC1 ) PF0 ( ADC0 ) AREF GND AVCC 69 an VCC GND Analog pin 15 Analog pin 14 Analog pin 13 Analog pin 12 Analog pin 11 Analog pin 10 Analog pin Analog pin Analog pin Analog pin Analog pin Analog pin Analog pin Analog pin Analog pin Analog pin Analog Reference GND VCC - Sơ đồ nguyên lý Arduino Mega2560 Hình 6.6 : Sơ đồ nguyên lý Arduino Mega2560 2.1.3 Phần công suất (L298) 2.1.3.1 Giới thiệu IC L298 IC L298 mạch tích hợp đơn chip có kiểu vỏ công suất 15 chân (multiwaitt 15) PowerSO20 (linh kiện dán cơng suất) Là IC mạch cầu đơi có khả hoạt động điện áp cao, dòng cao Nó đƣợc thiết kế tƣơng thích với chuẩn TTL lái cảm kháng Relay, cuộn Solenoid, động DC động bƣớc Nó có chân enable(cho phép) phép/không cho phép IC hoạt động, độc lập với chân tín hiệu vào 70 an 2.1.3.2 Sơ đồ khối Hình 6.7 : Sơ đồ khối IC L298 2.1.3.3 Các giá trị định mức Ký hiệu Vs Vss Io Vsens Ptot Top Tstg, Tj Thông số - Nguồn cung cấp - Điện áp logic - Không lập lại (t= 100µs) - Lập lại(80% on, 20%off, ton= 100µs - DC operation: - Điện áp cảm biến - Tổng công suất cực phân tán (Tcase = 75 °C)) - Nhiệt độ hoạt động - Lƣu trữ đƣờng giao Nhiệt độ 71 an Chỉ số Đơn vị 50 2.5 -1 đến 2.3 25 V V A A A A A -25 đến 130 -40 đến 150 °C °C 2.1.3.4 Sơ đồ chân Hình 6.8 : Sơ đồ chân 2.1.3.5 Thông số nhiệt độ Kí hiệu Rth-j-case Rth-j-amp Thơng số Độ bền nhiệt mối nối PN – vỏ Độ bền nhiệt mối nối PN – mô trƣờng PowerSO20 Multiwatt15 13 35 2.1.3.6 Thơng tin ứng dụng - IC L298 tích hợp tầng công suất (A B) Với điện áp làm tăng phần cơng suất đầu từ 5V-47V, dịng lên đến 4A L298 thích hợp cho loại đơng DC có cơng suất vừa nhỏ - Tóm tắc chức chân L298 + chân input IN1, IN2, IN3, IN4 đƣợc nối lần lƣợt với chân 5, 7, 10, 12 L298 Đây chân tính hiệu điều khiển + chân output OUT1, OUT2, OUT3, OUT4 đƣợc nối với chân 2, 3, 13,14 L298 Đây chân nối với động + chân ENA, ENB dùng để điều khiển mạch cầu H L298 Nếu mức logic cho cầu H hoạt động ngƣợc lại 72 an Đơn vị °C/W °C/W 2.1.3.7 Sơ đồ nguyên lý Hình 6.9 : Sơ đồ nguyên lý Phần mềm điều khiển robot Phần mềm đƣợc viết ngơn ngữ java dành cho smartphone có hệ điều hành android Phầm mềm sử dụng giao thức Bluetooth, truyền tín hiệu điều khiển từ smartphone cho robot di chuyển tới, lùi, quay trái, quay phải đồng thời nhận tín hiệu từ camera truyền điện thoại Hình 7.0 :phần mềm android điều khiển robot 73 an Chƣơng 7: KẾT LUẬN, ĐỀ NGHỊ Những vấn đề đƣợc giải luận văn: 1.1 Những vấn đề nghiên cứu: - Nghiên cứu tổng quan tình hình phát triển robot cân bằng, scooter, nguyên lý cân nƣớc - Nghiên cứu, tìm hiểu thuật tốn điều khiền nhƣ: phƣơng pháp điều khiển PID, điều khiển tối ƣu toàn phƣơng tuyến tính LQR, ƣớc lƣợng trạng thái tối ƣu (lọc kalman),… - Tính tốn tham số động lực học, hàm trạng thái mơ hình Thiết kế, mơ điều khiển hệ robot hai bánh xe giữ cân sử dụng phƣơng pháp điều khiển PID LQR lọc kalman Matlab-Simulink - Thiết kế robot với phần mềm Solidworks, phần mềm vẽ kỹ thuật mạnh - Nghiên cứu, sử dụng cảm biến MPU6050 sử dụng lọc (Thông thấp, thông cao, bổ phụ, kalman) để tăng chất lƣợng tín hiệu - Thiết kế điều khiển PID LQR hệ mơ hình robot bánh tự cân thực tế - Nghiên cứu, sử dụng board nhúng Raspberry pi Board nhúng thông dụng - Nghiên cứu sử dụng board Arduino mega2560 Một board đƣợc sử dụng rộng rãi với mã nguồn mở - Nghiên cứu sử dụng Module Wifi truyền liệu không dây - Nghiên cứu Động RC Servo DC Servo Module điều khiển DC Servo dùng LM298 1.2 Những vấn đề thực hiện: - Xây dựng thành cơng mơ hình robot thực tế hƣớng đến mục tiêu phục vụ cho việc giảng dạy phịng thí nghiệm chun ngành Cơ điện tử - Thu thập liệu trực tiếp từ robot truyền máy tính thơng qua cổng UART sau vẽ đồ thị phần mềm C# để đánh giá, so sánh kết thực nghiệm giá trị góc nghiêng thô giá trị sau qua lọc Complementary, lọc Kalman - Xây dựng thành công giải thuật cân bám theo vị trí ban đầu dựa thuật toán PID LQR Matlab-Simulink Đồng thời so sánh, đánh giá kết điều khiển 74 an - Xây dựng thành công giải thuật cân bám theo vị trí ban đầu dựa thuật tốn PID LQR mơ hình khí thực tế Đồng thời so sánh, đánh giá kết điều khiển - Xây dựng thêm giải thuật di chuyển điều khiển thông qua Wifi, Bluetooth dựa hệ điều hành Android để phát triển thành sản phẩm giải trí hồn thiện Các phƣơng hƣớng phát triển đề tài: - Đề tài bƣớc nghiên cứu thực hành lý thuyết học nhóm thực hiện, sau đề tài đƣợc phát triển thêm mặt ý tƣởng ứng dụng Sau hƣớng phát triển đề tài:  Tìm hiểu thêm thuật toán điều khiển khác nhƣ: fuzzy, nơ ron, điều khiển trƣợt… để tăng thêm hiệu cho thuật toán cân  Đề tài nhƣ tiền đề cho việc xây dựng mơ hình xe hai bánh tự cân di chuyển địa hình phẳng 75 an TÀI LIỆU KHAM KHẢO [1] Nguyễn Gia Minh Thảo, Robot hai bánh tự cân bằng, Luận văn thạc sĩ, 2010 [2] Đỗ Bình Nguyên, Điều khiển lắc ngƣợc di động dùng phƣơng pháp điều khiển phi tuyến, Luận văn thạc sĩ, 2012 [3] Jian Fang , The LQR Controller Design of TwoWheeled Self-Balancing Robot Based on the Particle Swarm Optimization Algorithm [4] Christian sundin, Filip thorstensson, Autonomous balancing robot, Master’s thesis, 2012 [5] David P Anderson, nBot Balancing Robot [6] Một số luận án đồ án tốt nghiệp khoá trƣớc: - Đại học Sƣ Phạm Kỹ Thuật TP Hồ Chí Minh - Đại học Bách Khoa TP Hồ Chí Minh [7] Các tài liệu datasheet, viết internet: - http://www.arduino.cc - http://blog.tkjelectronics.dk/ - http://www.instructables.com/ - http://www.codientu.org - http://en.wikipedia.org/ - http://roboticssamy.blogspot.pt/ 76 an S an K L 0 ... Tên đề tài: Nghiên cứu thuật toán điều khiển robot hai bánh tự cân Nội dung đồ án: Đề tài tập trung vào việc xây dựng mơ hình thuật toán điều khiển robot hai bánh tự cân bằng điều khiển PID( Proportional... hình điều khiển robot hai bánh tự cân sử dụng hai điều khiển PID LQR Matlab-Simulink - Mơ hình điều khiển robot hai bánh tự cân sử dụng hai điều khiển PID LQR mơ hình thực tế Ngày giao đồ án: ... 1.3 So sánh hai điều khiển 53 Thiết kế điều khiển robot hai bánh tự cân mơ hình robot 54 2.1 Thiết kế điều khiển PID mơ hình 54 2.1.1 Thuật toán điều khiển PID cân robot

Ngày đăng: 02/02/2023, 09:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan