Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
7,61 MB
Nội dung
MỤC LỤC TRANG BÌA i NHIỆM VỤ ĐỒ ÁN ii LỊCH TRÌNH THỰC HIỆN iv LỜI CAM ĐOAN vi LỜI CẢM ƠN vii MỤC LỤC viii LIỆT KÊ HÌNH ẢNH xi LIỆT KÊ BẢNG VẼ xiv TÓM TẮT xv CHƯƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU ĐỀ TÀI 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN ĐỀ TÀI 1.5 BỐ CỤC CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 PHƯƠNG PHÁP ĐIỀU KHIỂN XE LĂN ĐẾN ĐÍCH 2.2 PHƯƠNG PHÁP VẼ QUỸ ĐẠO ĐƯỜNG ĐI CỦA XE LĂN 2.3 GIỚI THIỆU PHẦN CỨNG 2.3.1 Kit Arduino DUE 2.3.2 Encoder 2.3.3 Module Dc-Dc Xl4005 2.3.4 Module Điều Khiển Động Cơ 10 2.3.5 Động Cơ Dc 11 2.3.6 Lcd Nextion 13 2.3.7 Cảm Biến Siêu Âm Hc-Sr05 15 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 17 3.1 GIỚI THIỆU 17 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 17 3.2.1 Thiết kế sơ đồ khối hệ thống 17 viii 3.2.2 Sơ đồ nguyên lý nối dây module 18 3.2.3 Thiết kế khối hệ thống 18 3.2.4 Module điều khiển động BTS7960 27 3.2.5 Khối nguồn 28 3.2.6 Tính tốn tránh cật cản dùng cảm biến siêu âm 28 CHƯƠNG THI CÔNG HỆ THỐNG 31 4.1 GIỚI THIỆU 31 4.2 THI CÔNG HỆ THỐNG 31 4.2.1 Thi công bo mạch 31 4.2.2 Láp ráp kiểm tra 33 4.2.3 Kết thi công bo mạch 34 4.2.4 Kết thi công hộp đựng module cảm biến siêu âm SRF05 34 4.2.5 Kết thi công Module hình cảm ứng LCD 35 4.2.6 Kết thi cơng mơ hình 37 4.3 THIẾT KẾ GIAO DIỆN CHO NGƯỜI ĐIỀU KHIỂN 39 4.4 LẬP TRÌNH HỆ THỐNG ARDUINO ĐIỀU KHIỂN 40 4.4.1 Cấu hình phiên làm việc cho Arduino DUE 40 4.4.2 Lập trình kit Arduino DUE 41 4.4.2.1 Sơ đồ khối tổng quát Arduino 41 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 47 4.5.1 Viết tài liệu hướng dẫn sử dụng 47 4.5.2 Quy trình thao tác giao diện 48 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 49 5.1 GIỚI THIỆU 49 5.2 KẾT QUẢ THỰC NGHIỆM ĐIỀU KHIỂN XE LĂN TRONG TRƯỜNG HỢP KHÔNG VẬT CẢN 49 5.3 KẾT QUẢ THỰC NGHIỆM ĐIỀU KHIỂN XE LĂN TRONG TRƯỜNG HỢP CÓ VẬT CẢN 54 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60 6.1 KẾT LUẬN 60 6.2 HƯỚNG PHÁT TRIỂN 60 TÀI LIỆU THAM KHẢO PHỤ LỤC ix CODE ARDUINO x LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: Phương pháp đường cột mốc chủ động Hình 2.2 : Phương pháp sử dụng đồ Hình 2.3 : Board Arduino DUE Hình 2.4 : Sơ đồ chức chân Arduino DUE Hình 2.5 : Giao tiếp hệ thống dùng chuẩn UART Hình 2.6 : Nguyên lý hoạt động chuẩn UART Hình 2.7 : Cấu tạo encoder Hình 2.8 : Nguyên lý hoạt động encoder Hình 2.9 : Module DC-DC XL4005 5A 10 Hình 2.10 : Module BTS7960 43A 10 Hình 2.11 : Sơ đồ chân Module Điều Khiển Động Cơ BTS7960 43A 11 Hình 2.12 : Cấu tạo động DC với phần than lộ phần rotor dây đồng 13 Hình 2.13 : Nextion 3.2 inch NX4024T032 15 Hình 2.14 : Cảm biến siêu âm HC-SR05 15 Hình 3.1 Sơ đồ khối hệ thống 17 Hình 3.2: Sơ đồ nguyên lý 18 Hình 3.3 : Thử nghiệm kiểm tra quỹ đạo xe 19 Hình 3.4 : Thử nghiệm kiểm tra quỹ đạo xe sau bơm căng hai bánh 20 Hình 3.5 : Thử nghiệm kiểm tra cho xe chạy theo hướng ngược lại 20 Hình 3.6 : Phương pháp chỉnh cho xe 21 Hình 3.7 : Căn chỉnh thơng số xe 22 Hình 3.8 : Kết chạy sau nạp lại thông số cho bánh xe 22 Hình 3.9 : Module LCD cảm ứng Nextion 23 Hình 3.10 : Sơ đồ nối dây vi điều khiển Broad Arduino DUE 24 Hình 3.11 : Sơ đồ nối dây mạch nạp Arduino DUE 26 Hình 3.12 : Module LM2596 27 Hình 3.13 : Bình Ắc quy dùng cho xe 28 Hình 3.14 : Hình hoạt động siêu âm 29 Hình 3.15 : Hình sơ đồ thời gian HC-SR05 chế độ 29 Hình 3.16 : Hình sơ đồ thời gian HC-SR05 chế độ 30 xi Hình 4.1: PCB nối dây module kích thước 32 Hình 4.2 : Mạch in PCB 32 Hình 4.3 : Bảng mạch in hồn chỉnh 33 Hình 4.4 : Hình ảnh thực tế sau thi công 33 Hình 4.5 : Kết thi cơng board mạch 34 Hình 4.6 : Hộp đựng cảm biến siêu âm 34 Hình 4.7 : Hộp đựng gắn vào khung xe 35 Hình 4.8 : Mặt hộp đựng LCD 35 Hình 4.9 : Mặt ngồi hộp đựng LCD 36 Hình 4.10 : Giá quay đỡ hình LCD 36 Hình 4.11 : Gắn hộp đựng mạch điện vào thân bình Ắc quy 37 Hình 4.12 : Gắn hộp đựng cảm biến siêu âm 37 Hình 4.13 : Gắn hộp đựng hình LCD 37 Hình 4.14 : Gắn encoder vào bánh xe 38 Hình 4.15 : Kết thi cơng mơ hình xe lăn 38 Hình 4.16 : Tồn cảnh mơ hình xe lăn 39 Hình 4.17 : Giao diện điều khiển Nextion 39 Hình 4.18 : Giao diện nạp vào hình Nextion 40 Hình 4.19 : Tải board Arduino DUE 40 Hình 4.20 : Chọn board Arduino DUE ngõ nạp 40 Hình 4.21 : Chọn cổng Arduino 41 Hình 4.22 : Sơ đồ khối chương trình truyền liệu ngoại vi sang Arduino DUE 41 Hình 4.23 : Lưu đồ điều khiển xe tự tìm đường 42 Hình 4.24 : Lưu đồ xe tự di chuyển đến tọa độ nằm góc phần tư thứ 43 Hình 4.25 : Lưu đồ xe tự di chuyển đến tọa độ nằm góc phần tư thứ 44 Hình 4.26 : Lưu đồ xe tự di chuyển đến tọa độ nằm góc phần tư thứ 45 Hình 4.27 : Lưu đồ xe tự di chuyển đến tọa độ nằm góc phần tư thứ 46 Hình 4.28 : Lưu đồ xe tự tránh vật cản 47 Hình 5.1 : Tiến hành thử nghiệm 50 Hình 5.2 : Mơ hình xe lăn tự động vận hành 50 Hình 5.3 : Mơ hình xe lăn tự động tiến đích 51 Hình 5.4 : Mơ hình xe lăn tự động tới đích 51 xii Hình 5.5 : Dữ liệu quỹ đạo kết thu 52 Hình 5.6 : Dữ liệu quỹ đạo kết thực nghiệm số 52 Hình 5.7 : Dữ liệu quỹ đạo kết thực nghiệm 53 Hình 5.8 : Bố trí vật cản cho thực nghiệm 55 Hình 5.9 : Mơ hình xe lăn tự động phát vật cản 55 Hình 5.10 : Mơ hình xe lăn tự động tránh vật cản 56 Hình 5.11 : Mơ hình xe lăn tự động tiếp tục tránh vật cản 56 Hình 5.12 : Mơ hình xe lăn tự động tránh vật cản 57 Hình 5.13 : Mơ hình xe lăn tự động đến đích 57 Hình 5.14 : Dữ liệu quỹ đạo kết thực nghiệm 58 xiii LIỆT KÊ BẢNG Bảng Trang Bảng 2.1 : Các thơng số hình cảm ứng LCD Nextion 14 Bảng 2.2 : Hiệu suất hình cảm ứng LCD Nextion 14 Bảng 3.1 : Liệt kê điện áp dòng linh kiện sử dụng mạch 27 Bảng 4.1 : Danh sách linh kiện 31 Bảng 5.1 : Đánh giá kết thực nghiệm 54 Bảng 5.2 : Đánh giá kết thực nghiệm trường hợp có vật cản 58 xiv TĨM TẮT Xe lăn hình thành từ lâu đời phát triển ngày thiết bị hộ trợ cần thiết cho người khuyết tật,người già di chuyển cách khó khăn Do đề tài “Thiết kế thi cơng xe lăn nhà tự định vị đến đích dựa vào đồ 2D” chọn để thực nhằm mục tiêu giúp đỡ người khuyết tật người già đễ dàng lại nhà đến nơi muốn viêc áp dụng cơng nghệ kiến thức học vào xe lăn giúp cho xe tự di chuyện tìm đường đến nơi định Kết thu đề tài là: -Định vị vị trị -Định vị đươc nơi muốn đến -Tìm đường đến vị trí Với kết chạy điều kiện thức tế khả thi thương mại sống xv CHƯƠNG TỔNG QUAN Chương 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Việt Nam có khoảng triệu người khuyết tật, chiếm 7,8% dân số, người khuyết tật đặc biệt nặng nặng chiếm khoảng 28,9%, khoảng 58% người khuyết tật nữ, 28,3% người khuyết tật trẻ em, 10,2% người khuyết tật người cao tuổi, khoảng 10% người khuyết tật thuộc hộ nghèo [1] Xe lăn phương tiện hữu ích cho người khuyết tật sống thường nhật Ngày nay, xe lăn chạy điện với cần điều khiển sử dụng rộng rãi Các nhà khoa học tồn giới nghiên cứu tìm cách chế tạo xe lăn tốt cho người khuyết tật Hiện nay, công nghệ phát triển xu hướng cơng nghệ số Do có nhiều đề tài liên quan đến xe lăn phục vụ cho người khuyết tật: Xe lăn an toàn tích hợp khả cứu hộ [2], Thiết kế thi công điều khiển thông minh cho xe lăn điện, Robot dị đường mê cung, Xây dựng mơi trường 3D tự định vị cho robot Các chuyên gia Mỹ nỗ lực chế tạo xe lăn vận hành khơng cần hướng dẫn người kiểm sốt từ xa Trong khn khổ dự án nghiên cứu kéo dài năm với khoản tài trợ 480.000 USD Quỹ Khoa học quốc gia Mỹ, nhóm nghiên cứu Spletzer thiết kế xe lăn dành cho việc di chuyển lề đường, cơng viên khu vực ngồi trời khác Chiếc xe sử dụng tia laser, thiết bị cảm biến phần mềm vẽ đồ để định vị di chuyển cách hoàn toàn tự động Tương tự xe thông minh khác thiết kế trước đây, xe lăn giáo sư Spletzer sử dụng LiDAR (hệ thống sử dụng tín hiệu phản hồi tia laser vào việc thăm dò địa hình) để phát cối, cột điện, góc cạnh chướng ngại vật khác đời sống thực tế [3] Với mục đich tạo điều khiển giúp người khuyết tật di chuyển dễ dàng xe lăn vận dụng ưu điểm nhằm khắc phục số nhược điểm mà nghiên cứu trước thực hiện, nhóm xin giới thiệu đề tài “Thiết kế thi công xe lăn nhà tự định vị đến đích dựa vào đồ 2D” chọn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG TỔNG QUAN để thực Đề tài sử dụng Arduino encoder để định vị xe tự tìm đường dựa bạn đồ 2D 1.2 MỤC TIÊU ĐỀ TÀI Thiết kế thi công xe lăn nhà tự di chuyển đến đích sử dụng adrunio due encoder để định vị điều khiển xe lăn điện đồ 2D kết hợp với điều khiển thị Nextion 1.3 NỘI DUNG NGHIÊN CỨU Mục tiêu xây dựng đề tài: “Thiết kế thi công xe lăn nhà tự định vị đến đích dựa vào đồ 2D” đề tài thực nội dung sau: Đề tài gồm nội dung sau: Nội dung 1: Kết nối Arduino với mạch cầu H điều khiển động Nội dung 2: Kết nối Encoder Arduino Nội dung 3: Đọc tính tốn vị trí xe lăn dựa vào encoder Nội dung 4: Tính tốn đường xe lăn dựa vào đồ 2D Nội dung 5: Thiết kế mơ hình hệ thống Nội dung 6: Thi công phần cứng, chạy thử nghiệm hiệu chỉnh hệ thống 1.4 GIỚI HẠN ĐỀ TÀI Mơ hình gồm có kit Arduino Due R3, Encoder, Module điều khiển động BTS7960, Xe lăn, Động giảm tốc 24v DC, Battery 12v, Module hạ áp DC-DC XL 4005 5A Chỉ sử dụng không gian nhà Tốc độ tối đa 5km/h Kích thước xe (115cm x 60cm x130cm) 1.5 BỐ CỤC Đồ án tốt nghiệp: “Thiết kế thi công xe lăn nhà tự định vị đến đích dựa vào đồ 2D” trình bày chương với bố cục sau: Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Tính tốn thiết kế BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ Hình 5.6 mô tả đường kết thu thực tế ( màu xanh) đường lí tưởng (màu đỏ).Tại vị trí B có tọa độ X = 2m, Y = 0m mơ hình xe lăn tự động di chuyển lố 6cm theo trục x, vị trí C có tọa độ X = 2m, Y = 2m, mơ hình xe lăn tự động bị lố 2cm theo trục X 1cm theo trục Y Sai số theo trục X 1% theo trục Y 0.5%, kết khoảng chấp nhận Thực nghiệm số đặt vị trí đích X = 2m, Y = 10m, tọa độ ban đầu mơ hình xe lăn tự động x = 0m, y = 0m Hình 5.7 : Dữ liệu quỹ đạo kết thực nghiệm Hình 5.7 mô tả đường kết thu thực tế ( màu xanh) đường lí tưởng (màu đỏ).Tại vị trí B có tọa độ X = 2m, Y = 0m Mơ hình xe lăn tự động di chuyển lố 6cm theo trục x, vị trí C có tọa độ X = 2m, Y = 10m, mơ hình xe lăn tự động bị lố 1cm theo trục X 8cm theo trục Y Sai số theo trục X 1% theo trục Y 0.8% Giới hạn mục tiêu ban đầu đề cho mơ hình xe lăn tự động hoạt động phạm vi nhà nên khơng thiết cần xác q cao phịng thí nghiệm hay nhà máy cơng nghiệp kết sai số nằm khoảng chấp nhận Tiếp theo, lập bảng đánh giá, so sánh đối chiếu sai số tọa độ thực nghiệm Bảng bao gồm tọa độ điểm đích, tọa độ thực, sai số trục tọa độ, thời gian mơ hình xe lăn thực chương trình BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53 CHƯƠNG KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ Bảng 5.1 : Đánh giá kết thực nghiệm Thực Tọa độ đích Tọa độ thực Sai số x Sai số Thời gian xe nghiệm (m) (m) (%) y(%) lăn tự động vận hành (s) X = 2, Y = x = 2.03, y = 5.02 1.5 0.4 39 X = 2, Y = x = 2.02, y = 2.01 0.5 19 X = 2, Y = 10 x = 2.01, y = 10.08 0.5 0.8 46 Từ bảng 5.1 cho thấy vận hành khoảng cách gần 100m mơ hình xe lăn tự động xe có độ xác 98%, với điều kiện mặt sàn có độ nhám tốt, khơng bị ướt hay trơn trượt Sai số tích lũy ảnh hưởng q trình mơ hình xe lăn tự động di chuyển khơng trơn tru mơ hình xe lăn tự động phải liên tục tự điều chỉnh gây tượng q đà làm cho mơ hình xe lăn tự động bị lết bánh lúc thẳng, di chuyển nhanh, dừng lại đột ngột ảnh hưởng đến xác mơ hình xe lăn tự động Hơn thời gian xử lý tính tốn thời gian thực khơng thực trung khớp nên có độ trễn dịnh , mơ hình xe lăn tự động ln bị thừa khoảng nhỏ sau cán đích 5.4 KẾT QUẢ THỰC NGHIỆM ĐIỀU KHIỂN XE LĂN TỰ ĐỘNG TRONG TRƯỜNG HỢP CÓ VẬT CẢN Tương tự thực nghiệm điều khiển xe lăn tự động trường hợp không vật cản đường mơ hình xe lăn tự động bố trí thêm vật cản Các mốc điểm đo đạc khoảng cách từ trước đường thẳng nối mốc điểm lại với đường lí tưởng, ngồi trường hợp cịn có kiện né tránh vật cản nên đường lí tưởng có thêm mốc điểm lí tưởng nơi mơ hình xe lăn phát vật cản, khoảng cách phát vật cản thiết lập cho mơ hình xe lăn tự động 50cm Trên mơ hình xe lăn tự động có mang theo máy vi tính để kết nối serial lưu liệu mơ hình xe lăn tự động để so sánh kết thực tế với lý tưởng Cài đặt vận tốc cho mơ hình xe lăn tự động chạy chậm 30cm/s BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54 CHƯƠNG KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ Hình 5.8 : Bố trí vật cản cho thực nghiệm Hình 5.8 mơ tả vật cản hai ván ép dựng đứng tựa vào ghế, đặt hai vật mốc chai nước rửa tay hộp nhựa tức cách chai nước rửa tay khoảng 1m Hình 5.9 : Mơ hình xe lăn tự động phát vật cản Hình 5.9 mơ tả mơ hình xe lăn tự động phát vật cản nằm khoảng cách báo động mô hình xe lăn tự động ngưng lại, chuẩn bị rẽ trái (quy ước mặc định) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55 CHƯƠNG KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ Hình 5.10 : Mơ hình xe lăn tự động tránh vật cản Hình 5.10 mơ tả mơ hình xe lăn tự động rẽ trái để tránh (mặc định rẽ trái trước), lại phát vật cản khác (máy y tế) nằm vùng báo động, mơ hình xe lăn tự động ngưng lại Hình 5.11 : Mơ hình xe lăn tự động tiếp tục tránh vật cản Hình 5.11 mơ tả mơ hình xe lăn tự động quay phải sau hai lần phát vật cản phía tay trái Hiện xe xoay sang phải cảm biến siêu âm chưa phát vật cản BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 CHƯƠNG KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ Hình 5.12 : Mơ hình xe lăn tự động tránh vật cản Hình 5.12 mơ tả mơ hình xe lăn tự động sau lúc quay không phát vật cản vùng báo động tiếp tục di chuyển thẳng tiếp tục tìm đường di chuyển đích Hình 5.13 : Mơ hình xe lăn tự động đến đích Hình 5.13 mơ tả mơ hình xe lăn tự động sau đến đích dừng lại, q trình di chuyển, mơ hình xe lăn tự động liên tục tự điều chỉnh để di chuyển không bị lệch đường thẳng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 CHƯƠNG KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ Hình 5.14 : Dữ liệu quỹ đạo kết thực nghiệm Hình 5.14 mô tả quỹ đạo đường thực tế (màu xanh) lí tưởng (màu đỏ) mơ hình xe lăn tự động Đoạn từ A đến B , mơ hình xe lăn tự động di chuyển bám theo đoạn thẳng lí tưởng sai số nhỏ 0.15cm , đoạn B đến C mơ hình xe lăn tự động di chuyển đúng, sai số nhỏ 0.1cm , đoạn từ C đến D mơ hình xe lăn tự động bị lệch dần khoảng 4cm phía bên trái sau lại ổn định dần phía điểm D Đến điểm D , mơ hình xe lăn tự động chưa dừng lại tiếp tục di chuyển sai lệch theo trục x thêm 3.5cm dừng lại, D mơ hình xe lăn tự động quay trái di chuyển điểm E có tọa độ X = 2m, Y = 5m , cán mốc điểm E , mơ hình xe lăn tự động chưa dừng lại tiếp tục di chuyển sai lệch theo trục Y thêm 2cm Tọa độ thực mơ hình xe lăn tự động lúc x = 2.015m, y = 5.02m, thời gian mơ hình xe lăn tự động di chuyển từ điểm A đến điểm E khoảng 44 giây Bảng 5.2 : Đánh giá kết thực nghiệm trường hợp có vật cản Đoạn Độ dài lí tưởng Độ dài thực tế (m) (m) AB 0.5 0.5016 0.32 BC 0.25 0.2501 0.04 CD 1.5 1.536 2.4 DE 4.75 4.775 1.58 ABCDE 7.0627 0.89 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Sai số (%) 58 CHƯƠNG KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ Từ bảng 5.2, kết chi tiết đoạn đoạn cho sai số thấp , độ xác lên tới gần 99% cho khoảng cách di chuyển vòng 7m Với điều kiện thường xuyên phải kiểm tra lại độ căng hai bánh xe thực lại bước cân chỉnh thông số qui đổi bánh xe Encoder cho Arduino DUE BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN - HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Mơ hình xe tự động tìm đường đích né tránh chướng ngại vật mà mơ hình phát đường Mơ hình định vị vị trí với sai số nhỏ Mơ hình có chế độ Auto Manual, sử dụng giao tiếp LCD cảm ứng Nextion Arduino DUE để điều khiển thiết bị ngoại vi Tuy nhiên bên cạnh kết đạt được, cịn có yếu điểm dễ bị ảnh hưởng môi trường vận hành địa hình gồ ghề, mặt sàn trơn, thuật tốn xử lý chưa tối ưu hoàn toàn nên gây tượng xe chạy giật, rung lắc không trơn tru Mơ hình mang tính nghiên cứu, chưa hồn chỉnh 6.2 HƯỚNG PHÁT TRIỂN Để có đề tài mang đủ tính chất ứng dụng vào thực tiễn cách cao hơn, nên cải tiến thêm hướng: - Thêm camera lidar để tối ưu nhận biết vị trị vật cản nhà, hạn chế sử dụng nhiều cảm biến - Bánh xe nên sử dụng loại đặc ruột, không bơm - Khung gầm xe nên gắn thêm phuộc nhún để hạn chế rung lắc khơng cần thiết - Tìm kiếm thuật toán xử lý di chuyển tối ưu sử dụng điều khiển PID, Fuzzy để mơ hình vận hành trơn tru, giảm thiểu rung lắc gây sai số - Có thể nâng cấp thêm điều khiển sóng điện não - Tìm kiếm giải thuật tăng độ xác sai sơ cộng dồn encoder - Sử dụng thiết bị có cấu hình cao để đáp ứng khả xử lý tốt - Thêm thuật tốn tìm đường AI, mạng Neuron để giúp hệ thống phát triển tối ưu BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH 60 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] P.H:Việt Nam có triệu người khuyết tật http://cand.com.vn/Xa-hoi/dam- bao-quyen-va-loi-ich-cua-nguoi-khuyet-tat-375574/ [2] Đình Nam: Sinh viên Việt sáng chế xe lăn thông minh, robot dùng smartphone https://vnexpress.net/sinh-vien-viet-sang-che-xe-lan-thong-minh-robot-dungsmartphone-3346928.html [3] Khang Huy: Xe lăn hoàn toàn tự động https://thanhnien.vn/doi-song/khoa-hoc/xelan-hoan-toan-tu-dong-94105.html [4] Khánh Linh: https://automation.net.vn/Robot-Robotics/Mot-so-ky-thuat-dinh-vi- cho-Robot-di-dong.html [5] Robot mobile gì? https://baoanjsc.com.vn/tin-hang/mobile-robots-la- gi_2_1_31453_vn.aspx [6] Những phương pháp dẫn đường phổ biến: http://giamsatgps.vn/t/nhung-phuongphap-dan-duong-pho [7] Hans-Petter Halvorsen, Introduction to ARDUINO, 2008 [8] Odometry error correction by sensor fusion for autonomous mobile robot navigation, IEEE, author: C.TarinSauer, H.Brugger,E.P.Hofer,B.Tibken: https://ieeexplore.ieee.org/document/929484/authors#authors BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC PHỤ LỤC ĐƯA VÀO DATASHEET TOÁN HỌC CƠ BẢN LIÊN QUAN ĐẾN ĐỀ TÀI ĐOẠN CODE CHƯƠNG TRÌNH #include #include #include //#include #include Encoder leftEncoder (22, 23); Encoder rightEncoder (25, 24); volatile float oldLeft, newLeft = 0; volatile float oldRight, newRight = 0; boolean chedo = true ; unsigned long previousMillis = 0; const long interval = 100; uint16_t len1; uint16_t number1; uint16_t len; uint16_t number; double leftVelocity = 0, rightVelocity = , x = , y = , x_old = , y_old = 0; float theta = 0, thetaold = 0; int LEFT_FORWARD = 13; int LEFT_REVERSE = 12; int RIGHT_FORWARD = 9; int RIGHT_REVERSE = 8; int EN_LEFT = 11; //left int EN_RIGHT = 10; // en r int fadeValue = 20 ; int left_res = 2048; int right_res = 1000; double d_l = 0.457135; double d_r = 0.457199; double L = 0.535; double pi = 3.1415926535897932; double cv_l = (0.457135 * pi) / 8192; double cv_r = (0.457199 * pi) / 4000; double X_Des = 0; double Y_Des = ; void timer_3_interrupt_for_left_motor () BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xiv PHỤ LỤC { newLeft = leftEncoder.read (); leftVelocity = newLeft - oldLeft ; return; } void timer_4_interrupt_for_right_motor () { newRight = rightEncoder.read (); rightVelocity = newRight - oldRight ; } void setup() { pinMode(22 , INPUT_PULLUP); pinMode(23 , INPUT_PULLUP); pinMode(24 , INPUT_PULLUP); pinMode(25 , INPUT_PULLUP); double cv_l = d_l * pi; double cv_r = d_r * pi; Timer3.attachInterrupt (timer_3_interrupt_for_left_motor); Timer3.start (10000); //100ms Timer4.attachInterrupt (timer_4_interrupt_for_right_motor); Timer4.start (10000); //100ms pinMode(LEFT_FORWARD, OUTPUT); pinMode(LEFT_REVERSE, OUTPUT); pinMode(RIGHT_FORWARD, OUTPUT); pinMode(RIGHT_REVERSE, OUTPUT); pinMode(EN_LEFT, OUTPUT); pinMode(EN_RIGHT, OUTPUT); Serial.begin(9600); HC06.begin(9600); } void loop() { unsigned long currentMillis = millis(); else if (number1 == 57) { Y_Des = ; X_Des = ; } else if (number == 56) { xuly(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xv PHỤ LỤC } theta = (rightVelocity * cv_r - leftVelocity * cv_l) / L + thetaold; x = cos(theta) * (leftVelocity * cv_l + rightVelocity * cv_r) / + x_old ; y = sin(theta) * (leftVelocity * cv_l + rightVelocity * cv_r) / + y_old ; oldLeft = newLeft; oldRight = newRight; thetaold = theta; x_old = x; y_old = y ; if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; Serial.print(leftVelocity ); Serial.print(" ; "); Serial.print(rightVelocity ); Serial.print(" ; "); Serial.print(X_Des); Serial.print(" ; "); Serial.print(Y_Des); Serial.print(" ; "); Serial.print(x); Serial.print(" ; "); Serial.print(y); Serial.print(" ; "); Serial.print(theta * 180 / pi); Serial.print(" ; "); Serial.print(bluetoothByte); Serial.println(); } oldLeft = newLeft; oldRight = newRight; delay(100); } void dunglai() { digitalWrite(EN_LEFT, LOW); digitalWrite(EN_RIGHT, LOW); delay(10); analogWrite(LEFT_FORWARD, 0); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 0); analogWrite(RIGHT_REVERSE, 0); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xvi PHỤ LỤC } void dithang() { digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(10); analogWrite(LEFT_FORWARD, 35); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 32); analogWrite(RIGHT_REVERSE, 0); } void lui() { digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(10); analogWrite(LEFT_FORWARD, 0); analogWrite(LEFT_REVERSE, 30); analogWrite(RIGHT_FORWARD, 0); analogWrite(RIGHT_REVERSE, 30); } void quaytrai() { digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(10); analogWrite(LEFT_FORWARD, 0); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 20); analogWrite(RIGHT_REVERSE, 0); } void quayphai() { digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(10); analogWrite(LEFT_FORWARD, 20); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 0); analogWrite(RIGHT_REVERSE, 0); } void xuly() { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xvii PHỤ LỤC if ((x >= X_Des) && ( y >= Y_Des )) { // dunglai(); digitalWrite(EN_LEFT, LOW); digitalWrite(EN_RIGHT, LOW); delay(20); analogWrite(LEFT_FORWARD, 0); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 0); analogWrite(RIGHT_REVERSE, 0); } else { if ( x < X_Des ) { digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(20); analogWrite(LEFT_FORWARD, 35); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 35); analogWrite(RIGHT_REVERSE, 0); } else { if ( y < Y_Des ) { if ( Y_Des > 0) { if ((theta * 180 / pi) < 91) { quaytrai(); digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(20); analogWrite(LEFT_FORWARD, 0); analogWrite(LEFT_REVERSE, 20); analogWrite(RIGHT_FORWARD, 20); analogWrite(RIGHT_REVERSE, 0); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xviii PHỤ LỤC } else // ((theta * 180 / pi) > 91) { digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(20); analogWrite(LEFT_FORWARD, 20); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 0); analogWrite(RIGHT_REVERSE, 0); } if (((theta * 180 / pi) > 89) && ((theta * 180 / pi) < 91)) { digitalWrite(EN_LEFT, HIGH); digitalWrite(EN_RIGHT, HIGH); delay(20); analogWrite(LEFT_FORWARD, 35); analogWrite(LEFT_REVERSE, 0); analogWrite(RIGHT_FORWARD, 35); analogWrite(RIGHT_REVERSE, 0); } } } } } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xix ... encoder để định vị điều khiển xe lăn điện đồ 2D kết hợp với điều khiển thị Nextion 1.3 NỘI DUNG NGHIÊN CỨU Mục tiêu xây dựng đề tài: ? ?Thi? ??t kế thi công xe lăn nhà tự định vị đến đích dựa vào đồ 2D? ??... Xe lăn hình thành từ lâu đời phát triển ngày thi? ??t bị hộ trợ cần thi? ??t cho người khuyết tật,người già di chuyển cách khó khăn Do đề tài ? ?Thi? ??t kế thi công xe lăn nhà tự định vị đến đích dựa vào. .. chuyển dễ dàng xe lăn vận dụng ưu điểm nhằm khắc phục số nhược điểm mà nghiên cứu trước thực hiện, nhóm xin giới thi? ??u đề tài ? ?Thi? ??t kế thi công xe lăn nhà tự định vị đến đích dựa vào đồ 2D? ?? chọn BỘ