xe dò đường sử dụng cảm biến hông ngoại, module điều khiển động cơ L298, thiết kế mạch trên proteus, có thể nâng cấp lên xe dò đường tránh vật cản bằng cách sử dụng cảm biến siêu âm
KHOA CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ PHẦN MỀM NHÚNG BÁO CÁO ĐỀ TÀI THIẾT KẾ XE DÒ ĐƯỜNG SỬ DỤNG ARDUINO Hà Nội, 12-2021 LỜI NÓI ĐẦU Ngày nay, khoa học kỹ thuật phát triển vũ bão, nhiều sản phẩm công nghệ, phát minh đời Các robot tự động xu cơng nghệ tương lai tiện dụng, khả hoạt động xác điều kiện khắc nghiệt với người Một yêu cầu Robot tự động khả hoạt động theo chức mong muốn mà không cần can thiệp người trình làm việc Đây hội thách thức cho sinh viên kỹ thuật, cơng nghệ thơng tin nói chung sinh viên Học Viện Kỹ Thuật Mật Mã nói riêng Xe dò đường ý tưởng robot nhất, sử dụng cho mục địch vận tải quy mô nhỏ kết hợp với modun khác để thực nhiệm vụ phức tạp Chúng em xin chân thành cảm ơn hướng dẫn, chia sẻ tận tình Giảng viên Lê Đức Thuận giúp đỡ chúng em hoàn thành đề tài Trong thời lượng hạn chế môn học, với kinh nghiệm cịn non nhóm Chúng em khơng thể tránh khỏi sai sót q trình thực hiện, mong góp ý thầy hội đồng để đề tài bọn em hoàn thiệt Hà Nội, ngày tháng năm 2021 MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT i DANH MỤC HÌNH VẼ ii DANH MỤC SƠ ĐỒ VÀ BẢNG BIỂU iii CHƯƠNG TỔNG QUAN VỀ XE DÒ ĐƯỜNG DÙNG ARDUINO .1 1.1 Lý chọn để tài 1.2 Mục tiêu đề tài .2 1.3 Phương pháp nghiên cứu .2 1.4 Đối tượng phạm vi nghiên cứu .2 CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Arduino Uno R3 2.1.1 Giới thiệu tổng quan Arduino Uno R3 2.1.2 Một vài thông số Arduino Uno R3 2.1.3 Vi điều khiển 2.1.4 Nguồn .5 2.1.5 Bộ nhớ 2.1.6 Các cổng vào/ra 2.1.7 Lập trình cho Arduino 2.2 Module điều khiển động L298 2.1.7 Thông số kĩ thuật 2.1.7 Các chân tín hiệu 10 2.3 Cảm biến hồng ngoại TCRT-5000 11 2.3.1 Giới thiệu cảm biến hồng ngoại 11 2.3.2 Giới thiệu cảm biến TCRT-5000 12 2.3.2.1 Nguyên lý hoạt động 12 2.3.2.2 Thông số kĩ thuật .13 2.4 Động điện chiều 14 CHƯƠNG CÀI ĐẶT VÀ THỰC NGHIỆM .15 3.1 Sơ đồ khối nguyên lý hoạt động 15 3.2 Sơ đồ thuật toán 17 3.3 Sơ đồ thuật tốn chương trình tự động .18 3.4 Biểu đồ ca sử dụng .19 3.5 Đặc tả ca sử dụng .19 3.6 Biểu đồ 22 3.6.1 Biểu đồ tiến lên 22 3.6.2 Biểu đồ rẽ trái 23 3.6.3 Biểu đồ rẽ phải 24 3.6.4 Biểu đồ hệ thống .25 3.7 Mô dự án Proteus .26 3.8 Mơ hình thực nghiệm 27 KẾT LUẬN 28 Kết luận chung 28 Hướng phát triển .28 TÀI LIỆU THAM KHẢO 29 PHỤ LỤC 30 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT - AGU: Autonomous Guided Vehicles GND: Ground SRAM: Static Random Access Memory EEPROM: Electrically Eraseble Programmable Read Only Memory IDE: Intergrated Development Environment IR Sensor: Cảm biến hồng ngoại USB: Universal Serial Bus PWM: Pulse Width Modulation LED: Light Emitting Diode LCD: Liquid Crystal Display DC: Direct Current (dòng điện chiều) Hình 2.1 Arduino Uno R3 YHình 2.2 Vi điều khiển YHình 2.3 Các cổng vào .7 YHình 2.4 Cửa sổ lập trình .8 YHình 2.5 Các chân tín hiệu L298 10 YHình 2.6 Cảm biến hồng ngoại TCRT-5000 .12 YHình 2.9 Động DC 14 YHình 3.4 Biểu đồ ca sử dụng 19 YHình 3.5 Biểu đồ tiến lên .22 YHình 3.6 Biểu đồ rẽ trái 23 YHình 3.7 Biểu đồ rẽ phải 24 YHình 3.8 Biểu đồ hệ thống .25 YHình 2.9 Mơ Proteus 26 DANH MỤC SƠ ĐỒ VÀ BẢNG BIỂU Bảng 2.1 Thông số kĩ thuật Arduino Uno R3 Bảng 2.2 Nguyên lý hoạt động TCRT-5000 12 Sơ đồ 2.7 Sơ đồ chân TCRT-5000 13 Sơ đồ 2.8 Sơ đồ nguyên lý TCRT-5000 .13 Sơ đồ3.1 Sơ đồ khối tổng quát 15 Sơ đồ 3.2 Sơ đồ chương trình 17 Sơ đồ 3.3 Sơ đồ chương trình tự động .18 Bảng 3.1 Ca sử dụng tiến lên .19 Bảng 3.2 Ca sử dụng rẽ trái .20 Bảng 3.3 Ca sử dụng rẽ phải 21 CHƯƠNG TỔNG QUAN VỀ DỰ ÁN XE DÒ ĐƯỜNG DÙNG ARDUINO 1.1 Lý chọn đề tài Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Với phát triển vượt bậc khoa học kỹ thuật cho đời sản phẩm vi mạch tiên tiến với tốc độ vượt trội Những vi mạch áp dụng vào Robot để giúp người hoàn thành công việc từ đơn giản đến phức tạp sống Theo dự đốn sau cách mạng lớn internet cách mạng lĩnh vực robot Các Robot ứng dụng đời sống ngày nhiều robot vận chuyển hàng hóa, robot kiểm tra nguy hiểm, xe lăn cho người khuyết tật Robot phục vụ sinh hoạt gia đình… Điểm hạn chế robot xe tự hành tính thiếu linh hoạt khả thích ứng làm việc vị trí khác Từ lý nảy sinh vấn đề tránh vật cản cho robot tự hành nhằm nâng cao tính linh hoạt cho robot Hầu hết robot xe tự hành đại có kiểu xác định đường giúp robot xác định đường tránh vật cản Như biết nhu cầu công nghiệp, đời sống ngày đại Là chất xúc tác đẩy mạnh thêm cách mạng công nghệ 4.0 Trong đó, Robot dị đường khái niệm cơng nghệ quen thuộc với sinh viên, kỹ sư ngành kĩ thuật Ứng dụng Robot dò đường áp dụng nhiều lĩnh vực, ngành nghề sống như: Robot vận chuyển hàng hóa: Robot vận chuyển hàng hóa hay biết đến xe tự hành AGV (Autonomous Guided Vehicles) Đây Robot vận hành nhiều khu công nghiệp lớn Với nhiệm vụ phân phối vận chuyển hàng hóa cách tự động Với kết hợp Sensor quang điện giúp định hướng đường Và Sensor siêu âm tránh va chạm gây ảnh hướng đến hàng hóa nhân viên kỹ thuật nhà máy Cơng nghệ ô tô tự lái: Trước việc nghĩ đến có tơ tự di chuyển mà không cần tài xế, suy nghĩ thật viển vơng Nhưng thực tế có nhiều dịng xe nghiệm phát triển để thực điều cách hồn thiện Ở Việt Nam có dịng xe nhập tự động tìm di chuyển vào vị trí đậu xe: dịng Mercedes, BMW,… Dù chưa có dịng xe hồn tồn di chuyển đường cách tự động Nhưng tương lai gần việc xe khơng người lái đường khơng cịn xa với đâu, tin Công nghệ Robot lau nhà: Gần gũi với chúng ta, Robot lau nhà khơng cịn q xa lạ với người Dù khơng sử dụng đường line có sẵn cảm biến quang điện Nhưng Robot lau nhà lại áp dụng công nghệ cảm biến siêu âm để tránh va chạm Trên số ứng dụng thực tế Robot cơng nghiệp sống.Với mong muốn tìm hiểu nghiên cứu loại Robot để áp dụng vào thực tế sống, với phạm vi mơn học kiến thức có, nhóm chúng em định tìm hiểu Robot dị đường đơn giản Đó tảng để lên thiết bị cải tiến như: Lập trình Robot dị đường mê cung: Trên cách làm mơ hình với thuật tốn dị đường Robot đơn giản, sau ứng dụng thú vị hấp dẫn Làm Robot dò đường Mê cung Với cấu toàn hoàn toàn giống Robot đơn giản Nhưng thuật toán phức tạp hơn, với khả ghi nhớ phân tích đường Các bạn cho Robot mặc định rẽ trái (hoặc phải) ngã 3, ngã tư Robot đi hết đoạn đường chọn Nếu đoạn đường cụt Robot quay lại theo thuật toán cũ rẽ trái (hoặc phải) Các bạn thử nhận kết mong muốn Làm robot dò đường cảm biến siêu âm: Là loại Robot đặc biệt dùng cảm biến siêu âm để tránh vật cản Loại khơng dị đường đường tạo sẵn bánh Mà tạo đường vật cản ven đường Bạn lập trình thấy vật cản Robot quay trái (hoặc phải) mặc định Như thấy vật cản Robot xoay đến lúc khơng cịn vật cản trước mặt nữa, tiếp tục di chuyển 1.2 Mục tiêu đề tài Cài đặt thực nghiệm xe dò đường việc áp dụng cảm biến hồng ngoại TCRT-5000, module điều khiển động L298 vi điều khiển (Arduino Uno R3) cho q trình xử lý tín hiệu hệ thống 1.3 Phương pháp nghiên cứu Tìm hiểu lý thuyết vi xử lý arduino, cách kết nối, sử dụng cảm biến hồng ngoại TCRT-5000 module điều khiển động L298 với arduino Từ kết nối linh kiện sử dụng phần mềm Arduino IDE để viết chương trình điều khiển cho xe hoạt động ý muốn 1.4 Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: + Vi xử lý: Arduino Uno R3: đóng vai trị xử lý tring tâm hệ thống + Module điều khiển động L298: dùng để kết nối điều khiển hai động DC + Động DC: Dùng gắn hai bánh để xe di chuyển + Cảm biến siêu âm TCRT-5000: Dùng để xác định đường định sẵn + Phần mềm Arduino IDE: Dùng để viết, biên dịch chương trình điều khiển Phạm vi nghiên cứu: Thực mơ hình thử nghiệm CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Arduino Uno R3 2.1.1 Giới thiệu tổng quan Arduino Uno R3 Arduino board có nhiều phiên với hiệu mục đích sử dụng khác như: Arduino Mega, Arduino LilyPad Trong số đó, Arduino Uno R3 phiên sử dụng rộng rãi chi phí tính linh động Do Arduino có tính mở phần cứng, thân Arduino Uno R3 có biến thể để phù hợp cho nhiều đối tượng khác Hình 2.1: Arduino Uno R3 Arduino R3: Xử lý tín hiệu từ module bluetooth cảm biến hồng ngoại gửi để phát tín hiệu điều khiển cho module điểu khiển động để điều khiển động hoạt động theo chương trình Cảm biến hồng ngoại TCRT-5000: cảm biến nhận tín hiệu phản xạ từ bề mặt sáng tối gửi tín hiệu cho vi điều khiển Module điều khiển động L298: nhận tín hiệu từ vi điều khiển để điều khiển động hoạt động xác Khối nguồn: Cung cấp nguồn cho mạch hoạt động Nguyên lý hoạt động mạch: Khi cấp nguồn cho mạch xe tự khởi động chế độ chạy dò đường Khi arduino nhận tín hiệu từ cảm biến hồng ngoại để xử lý điều khiển module điều khiển động cho xe chạy cách hợp lý Ta cho xe chạy theo đoạn đường màu đen kẻ sẵn Cảm biến hồng ngoại phát vạch qua việc phát bước sóng hồng ngoại phản xạ lại bề mặt có màu sáng (tức nơi khơng có màu đen vạch có phản hồi), cịn vạch khơng,ngun lý dẫn hướng cho xe vạch định Nhờ robot phát đoạn đường màu đen,đoạn đường khơng mà di chuyển xác Khi robot di chuyển phía trước,cả hai cảm biến trạng thái chờ,nếu hai cảm biến phía phát vạch màu đen phía tức sẽ rẽ theo hướng trái phải, Arduino phát thay đổi điều hướng động thông qua driver để điều khiển theo hướng phù hợp 18 3.2 Sơ đồ thuật toán BEGIN Button = 0? Nhận tín hiệu từ cảm biến hồng ngoại TCRT-5000 Module điều khiển động L298 END Sơ đồ 3.2 Sơ đồ chương trình 19 3.3 Sơ đồ thuật tốn chương trình tự động BEGIN Nhận tín hiệu từ cảm biến hổng ngoại TCRT-5000 Vạch kẻ Y trắng N Chạy thẳng RETURN Sơ đồ 3.3 Sơ đồ chương trình tự động 20 Đổi hướng 3.4: Biểu đồ ca sử dụng - Chỉ mối quan hệ tác nhân ca sử dụng hệ thống: Hình 3.4: Biểu đồ ca sử dụng 3.5: Đặc tả ca sử dụng Bảng 3.1: Ca sử dụng tiến lên Use case Description Actor Trigger Pre-Condition Basic flow Tiến lên Xe dò đường tiến lên phía trước Vạch kẻ đường Khi có thơng tin truyền cảm biến TCRT-5000 Hai cảm biến xe dò đường nằm vạch kẻ đen 1) Hai cảm biến TCRT-5000 thu tín hiệu từ vạch kẻ đen truyền 21 Exception flow 2) Arduino nhận tín hiệu từ cảm biến xuất tín hiệu tiến lên cho Module L298 3) Module L298 điều khiển động hai bên tiến lên 4) Động hai bên khởi động tiến lên xe tiến lên 1) Hai cảm biến xe nhận hai tín hiệu từ hai đường kẻ đen trắng khác 2) Arduino nhận tín hiệu xuất tín hiệu cho Module L298 3) Module L298 điều khiển hai động DC để xe sang trái sang phải Bảng 3.2: Ca sử dụng rẽ trái Use case Description Actor Trigger Pre-Condition Basic flow Rẽ trái Xe dò đường rẽ sang bên trái Vạch kẻ đường Khi có thơng tin truyền cảm biến TCRT-5000 Cảm biến bên phải nằm đường trắng cảm biến bên trái nằm đường kẻ đen 1)Cảm biến bên phải thu tín hiệu truyền từ đường trắng, cảm biến bên trái thu tín hiệu truyền từ đường kẻ đen 2)Arduino nhận tín hiệu xuất tín hiệu rẽ trái cho Module L298 3)Module L298 điều khiển động bên trái quay nghịch động bên phải quay thuận 4) Động trái quay nghịch, động phải quay thuận xe rẽ trái Bảng 3.3: Ca sử dụng rẽ phải Use case Description Actor Trigger Pre-condition 22 Rẽ phải Xe dò đường rẽ sang bên phải Vạch kẻ đường Khi có thông tin truyền cảm biến TCRT-5000 Cảm biến bên trái nằm đường kẻ trắng cảm biến bên phải nằm đường kẻ đen Basic flow 1)Cảm biến bên trái thu tín hiệu truyền từ đường trắng, cảm biến bên phải thu tín hiệu truyền từ đường kẻ đen 2)Arduino nhận tín hiệu xuất tín hiệu rẽ trái cho Module L298 3)Module L298 điều khiển động bên trái quay thuận động bên phải quay nghịch 4)Động trái quay thuận, động phải quay nghịch xe rẽ phải 23 3.6: Biểu đồ 3.6.1: Biểu đồ tiến lên Hình 3.5: Biểu đồ tiến lên - Mô tả biểu đồ tiến lên: Khi có tín hiệu truyền từ vạch kẻ đường đến hai cảm biến Nếu cảm biến thu tín hiệu truyền từ đường kẻ đen thông báo cho Arduino Uno để Arduino Uno truyền tín hiệu Module L298 điều khiển motor tiến lên 24 3.6.2: Biểu đồ rẽ trái Hình 3.6: Biểu đồ rẽ trái - Mô tả biểu đồ rẽ trái: Khi có tín hiệu truyền từ vạch kẻ đường đến hai cảm biến Nếu cảm biến bên trái thu tín hiệu truyền từ đường kẻ đen cảm biến bên phải thu tín hiệu truyền từ đường kẻ trắng Tín hiệu thơng báo cho Arduino Uno để truyền tín hiệu Module L298 điều khiển motor rẽ trái 25 3.6.3: Biểu đồ rẽ phải Hình 3.7: Biểu đồ rẽ phải - Mô tả biểu đồ rẽ phải: Khi có tín hiệu truyền từ vạch kẻ đường đến hai cảm biến Nếu cảm biến bên trái thu tín hiệu truyền từ đường kẻ trắng cảm biến bên phải thu tín hiệu truyền từ đường kẻ đen Tín hiệu thơng báo cho Arduino Uno để truyền tín hiệu Module L298 điều khiển motor rẽ phải 26 3.6.4: Biểu đồ hệ thống Hình 3.8: Biểu đồ hệ thống 27 - Mô tả biểu đồ hệ thống: Khi tín hiệu truyền từ vạch kẻ đường đến cảm biến Nếu cảm biến thu tín hiệu truyền từ đường kẻ đen thơng báo cho Arduino Uno để truyền tín hiệu cho L298 điều khiển motor tiến lên, cảm biến tiến lên Tín hiệu từ vạch kẻ đường tiếp tục truyền hai cảm biến Nếu cảm biến trái thu tín hiệu từ đường kẻ đen cảm biến phải thu tín hiệu từ đường kẻ trắng thơng báo cho Arduino Uno để truyền tín hiệu cho Module L298 điều khiển motor rẽ trái, cảm biến quay sang trái Nếu cảm biến trái thu tín hiệu từ đường kẻ trắng cảm biến phải thu tín hiệu từ đường kẻ đen thơng báo cho Arduino Uno để truyền tín hiệu cho Module L298 điểu khiển động sang phải, cảm biến quay sang phải 3.7: Mơ dự án Proteus IR2 IR1 IR OBSTACLE SENSOR www.TheEngineeringProjects.com www.TheEngineeringProjects.com IR OBSTACLE SENSOR Infrared Sensor Infrared Sensor OUT GND Vcc OUT GND Vcc TestPin TestPin +5v +5v ARD1 ON 1121 ATMEGA328P-PU L1 L298 MOTOR DRIVER +88.8 +88.8 +88.8 OUT4 OUT3 Hình 3.9: Mơ Proteus 28 +88.8 220 35V RVT +5v OUT1 www.TheEngineeringProjects.com +12v ENA IN1 IN2 IN3 IN4 ENB ARDUINO UNO PD7/AIN1 ~ PD7/AIN1 ~ PD5/T1/OC0B PD4/T0/XCK ~ PD3/INT1/OC2B PD2/INT0 PD1/TXD PD0/RXD 13 12 11 10 +12V GND +5V PC0/ADC0 PC1/ADC1 PC2/ADC2 PC3/ADC3 PC4/ADC4/SDA PC5/ADC5/SCL OUT2 ANALOG IN A0 A1 A2 A3 A4 A5 www.TheEngineeringProjects.com Reset BTN RESET AREF PB5/SCK PB4/MISO ~ PB3/MOSI/OC2A ~ PB2/OC1B ~ PB1/OC1A PB0/ICP1/CLKO - Cách nối cảm biến với Arduino: + Chân A5 Arduino nối với chân OUT cảm biến bên trái + Chân A4 Arduino nối với chân OUT cảm biến bên phải + Các chân Vcc, GND chân nối nguồn nối đất - Cách nối Module L298 với Arduino motor: + Chân IN1, IN2, IN3, IN4 Module L298 nối với chân D7, D6, D5, D4 Arduino + Chân OUT1, OUT2 Module L298 nối với hai motor bên phải + Chân OUT3, OUT4 Module L298 nối với hai motor bên trái + Chân 12V, GND chân nôi nguồn nối đất 3.8: Mơ hình thực nghiệm KẾT LUẬN * Kết luận chung: a) Về mạch hoạt động theo đường kẻ vẽ sẵn b) Nhưng tồn số vấn đề sau: + Cảm biến hồng ngoại cịn có hạn chế: Mức độ hồng ngoai hồi tiếp phụ thuộc vào độ sáng mơi trường Khi mơi trường có nguồn sáng khơng ổn định mơi trường tối xe hoạt động không ổn định + Khi di chuyển đường kẻ phức tạp xe hoạt động trở nên khơng xác + Nguồn cấp cịn hạn chế 29 c) Ưu điểm: + Xe thiết kế đơn giản, giá thành thấp dễ dàng cho người tìm hiểu nghiên cứu + Về theo đường kẻ sẵn hoàn thành mục tiêu đặt d) Khuyết điểm: + Khi xe dò đường kẻ phức tạp hoạt động cịn nhiều sai sót + Trong điều kiện cho phép chúng em thực mơ hình mức độ đơn giản q trình thực chưa hồn hảo, mạch thi cơng cịn thiếu sót hạn chế Xe hoạt động thật chưa ổn định * Hướng phát triển: Dù ứng dụng nhỏ, sở để phát triển dự án lớn tối tân Những dự án Robot vận chuyển cơng nghiệp, Robot dị đường tránh vật cản ứng dụng robot dò line phát triển lên Dự án xe dị đường cải tiến cho nhiều ứng dụng đại Robot dò đường PIC, Robot dò đường micro 51 Robot dò đường siêu âm TÀI LIỆU THAM KHẢO [1] [2] https://advancecad.edu.vn/xe-do-line-voi-arduino/ https://www.instructables.com/How-to-Use-TCRT5000-IR-Sensor-ModuleWith- Arduino-/ [3] https://microcontrollerslab.com/introduction-arduino-uno/ [4] https://www.electroduino.com/introduction-to-l298n-motor-driver-how-its-work/ [5] https://www.youtube.com/watch?v=X_09y2_wkVQ 30 [6] http://arduino.vn/bai-viet/889-lam-xe-do-line-voi-module-tu-lam-phan-1-tai-saokhong [7]https://www.pcbway.com/blog/Activities/Make_Arduino_Line_Follower_Robot_C ar_with_Arduino_UNO L298N_Motor_Driver IR_Sensor.html 31 PHỤ LỤC ... Dự án xe dị đường cải tiến cho nhiều ứng dụng đại Robot dò đường PIC, Robot dò đường micro 51 Robot dò đường siêu âm TÀI LIỆU THAM KHẢO [1] [2] https://advancecad.edu.vn /xe- do-line-voi -arduino/ ... mong muốn Làm robot dò đường cảm biến siêu âm: Là loại Robot đặc biệt dùng cảm biến siêu âm để tránh vật cản Loại khơng dị đường đường tạo sẵn bánh Mà tạo đường vật cản ven đường Bạn lập trình... quan Arduino Uno R3 Arduino board có nhiều phiên với hiệu mục đích sử dụng khác như: Arduino Mega, Arduino LilyPad Trong số đó, Arduino Uno R3 phiên sử dụng rộng rãi chi phí tính linh động Do Arduino