Đồ án tốt nghiệp: Lập trình phương tiện tránh vật cản và bám theo bản đồ

Đồ án tốt nghiệp lập trình robot tránh vật cản, bám theo bản đồ dùng Arduino. Chia sẻ chi tiết về cơ sở lý thuyết, thiết kế và kết quả thực tế.

Chuyên ngành

Cơ khí động lực

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2018

93
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Đồ án Robot Arduino Tránh Vật Cản và Bám Theo Bản Đồ

Đồ án robot Arduino tránh vật cản và bám theo bản đồ là một trong những dự án tiên tiến trong lĩnh vực robot tự động hóa hiện đại. Đây là một hệ thống điều khiển thông minh kết hợp giữa vi điều khiển Arduino và các cảm biến cảm biến siêu âm để tạo ra một phương tiện tự hành có khả năng tránh các chướng ngại vật và di chuyển theo lộ trình được lập trình sẵn. Dự án này được phát triển tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, dưới sự hướng dẫn của TS. Nguyễn Bá Hải. Robot tránh vật cản này có ứng dụng rộng rãi trong các lĩnh vực như vệ sinh tự động, khám phá môi trường nguy hiểm, và các hệ thống sản xuất tự động hóa.

1.1. Mục tiêu và Ý nghĩa của Đồ án

Mục tiêu chính của đồ án robot Arduino là phát triển một hệ thống lập trình cho phương tiện di chuyển tự động với khả năng tránh vật cản thông minhbám theo bản đồ được xác định trước. Hệ thống này giúp tối ưu hóa quá trình làm việc, giảm nhân công và nâng cao hiệu quả công việc. Ý nghĩa của dự án nằm ở việc ứng dụng công nghệ Arduino vào thực tiễn, tạo ra giải pháp robot tự hành tiết kiệm chi phí nhưng hiệu quả cao.

1.2. Phạm vi Nghiên cứu

Đồ án này bao gồm thiết kế cơ khí, lựa chọn các linh kiện điện tử như module L298 điều khiển động cơ DC, cảm biến siêu âm SRF05, động cơ servo giảm tốc GA25, và mạch tăng áp XL6009. Phạm vi nghiên cứu còn bao gồm lập trình điều khiển, thiết kế các giải thuật tránh vật cản và tối ưu hóa đường đi của robot trong không gian phức tạp.

II. Các Linh Kiện Điện Tử Chính của Hệ Thống Robot

Hệ thống robot Arduino tránh vật cản được xây dựng từ nhiều linh kiện điện tử chất lượng cao, được lựa chọn kỹ lưỡng để đảm bảo hiệu suất tối ưu. Vi điều khiển Arduino Mega 2560 là bộ não của robot, có khả năng xử lý các tín hiệu từ cảm biến và điều khiển các động cơ DC một cách chính xác. Module L298 là bộ điều khiển động cơ DC, cho phép robot quay thuận, nghịch và điều chỉnh tốc độ thông qua PWM (Pulse Width Modulation). Cảm biến siêu âm SRF05 giúp robot phát hiện các vật cản ở khoảng cách từ 3cm đến 4 mét. Hệ thống nguồn năng lượng gồm pin Li-ionmạch tăng áp XL6009 để cấp điện ổn định cho toàn bộ hệ thống.

2.1. Vi Điều Khiển Arduino Mega 2560

Arduino Mega 2560 là một vi điều khiển mạnh mẽ với 54 chân I/O, bộ nhớ RAM lớn và khả năng xử lý nhanh. Bộ điều khiển này được lập trình bằng IDE Arduino, một phần mềm mã nguồn mở dễ sử dụng. Arduino Mega 2560 có thể điều khiển đồng thời nhiều cảm biến và động cơ, làm cho nó trở thành lựa chọn lý tưởng cho robot tránh vật cản phức tạp.

2.2. Cảm Biến Siêu Âm SRF05 và Module Điều Khiển L298

Cảm biến siêu âm SRF05 hoạt động bằng cách phát ra sóng âm và đo thời gian phản hồi từ vật cản, cho phép robot phát hiện khoảng cách chính xác. Module L298 điều khiển dòng điện cho động cơ DC, hỗ trợ các chế độ quay thuận/nghịch và điều chỉnh tốc độ, giúp robot di chuyển mượt mà và có kiểm soát theo các lệnh từ Arduino.

III. Giải Thuật Điều Khiển và Phương Pháp Tránh Vật Cản

Giải thuật điều khiển robot được thiết kế dựa trên phương pháp lưu đồ logic, cho phép robot thực hiện các nhiệm vụ phức tạp một cách tự động. Phương pháp PWM (Pulse Width Modulation) được sử dụng để điều chỉnh tốc độ động cơ, giúp robot di chuyển mềm mại và chính xác. Robot được lập trình để di chuyển theo mô hình zigzag xung quanh phòng, quét toàn bộ diện tích. Khi cảm biến siêu âm phát hiện vật cản, robot sẽ dừng lại, quay trái hoặc phải để tránh va chạm, sau đó tiếp tục di chuyển theo bản đồ đã được lập trình sẵn. Hệ thống bám theo bản đồ được thực hiện thông qua việc lưu trữ tọa độ điểm đích và sử dụng các cảm biến để xác định vị trí hiện tại của robot.

3.1. Mô Hình Điều Khiển Zigzag và Tránh Vật Cản

Mô hình zigzag cho phép robot di chuyển theo một hình thức có hệ thống, đảm bảo không bỏ sót bất kỳ khu vực nào. Khi cảm biến siêu âm phát hiện vật cản, lưu đồ điều khiển kích hoạt ngay lập tức để dừng động cơ và thực hiện lệnh quay tránh. Quá trình này lặp lại liên tục cho đến khi robot hoàn thành toàn bộ nhiệm vụ.

3.2. Điều Chế PWM và Điều Khiển Tốc Độ Động Cơ

Điều chế PWM là kỹ thuật điều khiển tốc độ động cơ bằng cách thay đổi độ rộng xung điện. Thông qua chức năng analogWrite() trong Arduino IDE, lập trình viên có thể điều chỉnh tốc độ từ 0-255, cho phép robot tăng/giảm tốc độ linh hoạt khi tránh vật cản hoặc bám theo bản đồ.

IV. Kết Quả Thực Tế và Ứng Dụng của Robot Arduino

Đồ án robot Arduino tránh vật cản và bám theo bản đồ đã được thực hiện thành công tại phòng thí nghiệm của Khoa Cơ khí Động lực. Kết quả thử nghiệm cho thấy robot hoạt động ổn định và đạt được các chỉ tiêu đã đề ra. Trong các trường hợp thử nghiệm, robot có thể di chuyển liên tục quanh phòng theo mô hình zigzag mà không cần can thiệp con người. Khi gặp các vật cản, robot nhạy nhẹn phát hiện và tránh mà không làm hỏng các thiết bị xung quanh. Hiệu quả hoạt động của hệ thống đạt 95%, với độ chính xác định vị tốt. Dự án này mở ra nhiều hướng phát triển tiếp theo, như tích hợp camera để nhận diện vật cản, sử dụng AI và machine learning để tối ưu hóa đường đi, hoặc phát triển thành robot lau nhà tự động hoặc hệ thống giám sát an ninh tự động cho các khu vực rộng lớn.

4.1. Kết Quả Thử Nghiệm và Hiệu Suất

Thử nghiệm đồ án robot trong một phòng 5x5 mét cho thấy robot có thể hoàn thành 1 vòng di chuyển zigzag trong khoảng 15 phút. Cảm biến siêu âm phát hiện vật cản với độ chính xác 98%, với tỷ lệ lỗi phát hiện rất thấp. Thời gian phản ứng của hệ thống khi gặp vật cản là dưới 0,5 giây, đảm bảo an toàn cho robot.

4.2. Hướng Phát Triển Tương Lai

Những cải tiến tiếp theo có thể bao gồm tích hợp LIDAR thay thế cảm biến siêu âm để nhận diện vật cản chính xác hơn, sử dụng GPS hoặc định vị trong nhà để bám theo bản đồ chi tiết, hay phát triển ứng dụng di động để điều khiển robot từ xa. Robot Arduino này có tiềm năng trở thành nền tảng cho các ứng dụng công nghiệp và dân dụng rộng rãi.

21/12/2025

Trích đoạn nội dung tài liệu

đặt vấn đề, dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án.  Chương 2: Cơ Sở Lý Thuyết 2 Trình bày các cơ sở lý thuyết cần thiết để thực hiện đề tài và giới thiệu các thiết bị.  Chương 3: Tính toán, thiết kế và phương pháp điều khiển Chương này sẽ thiết kế, tính toán các thiết bị trong bộ truyền cơ khí, mạch điện trong hệ thống điều khiển, ngoài ra còn nêu ra phương pháp để điều khiển động cơ.  Chương 4: Thiết kế và giải thích giải thuật điều khiển Chương này sẽ đưa ra vấn đề về thi công và giải thích giải thuật điều khiển các khối trong hệ thống.

 Chương 5: Kết Quả, Nhận Xét và Đánh Giá Chương này sẽ trình bày tất cả những kết quả đã làm được thông qua hình ảnh, đánh giá sản phẩm qua thực tế.  Chương 6: Kết Luận và Hướng Phát Triển Chương này trình kết luận những gì làm được, chưa làm được và hướng phát triển. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.Giới thiệu chương Cơ sở lý thuyết để hoàn thành đồ án này chính là việc lập trình sử dụng các cảm biến siêu âm và hệ thống điều khiển động cơ để hoàn thành mục tiêu tránh vật cản và chạy theo bản đồ đã định sẵn. Kèm theo đó là việc sử dụng các sơ đồ giải thuật để giúp phương tiện hoạt động chính xác và ổn định nhất.

Vì vậy, chương này sẽ giới thiệu sơ lược về cấu tạo, nguyên lý hoạt động của các linh kiện điện tử và module được sử dụng trong phương tiện. Các linh kiện điên tử được giới thiệu bao gồm: Arduino Mega 2560, cảm biến siêu âm SRF05, mạch cầu H L298 V2 điều khiển động cơ, động cơ servo giảm tốc GA25 V1 có encoder 375 xung.Tìm hiểu về Arduino và phần mềm IDE lập trình cho mạch Arduino 2.Arduino là gì? Và cách lập trình cho mạch Ardunino Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên Ý thiết kế và đưa ra đầu tiên vào năm 2005. Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều nhiệm vụ từ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác.

Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A, ….để tăng khả ứng dụng của mạch. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,…. Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega. Arduino Uno được sử dụng rất rộng rãi trên thế giới, rất nhiều ví dụ trên youtube hoặc các trang hướng dẫn về Arduino sử dụng mạch này.

Vì vậy đối với các bạn mới học Arduino, việc chọn Arduino Uno sẽ giúp các bạn có thể tự học dễ dàng. Phần mềm để lập trình cho mạch Arduino là phần mềm IDE. Đây là phần mềm mã nguồn mở, và có thể được download từ trang web của Arduino: arduino. [2] Cấu trúc của một chương trình trong Arduino thông thường gồm.

4  Phần 1: Khai báo biến Đây là phần khai báo kiểu biến, tên các biến, định nghĩa các chân trên board một số kiểu khai báo biến thông dụng.  Phần 2: Thiết lập (void setup()) Phần này dùng để thiết lập cho chương trình, cần nhớ rõ cấu trúc của nó.  Phần 3: Vòng lặp dùng để viết các lệnh trong chương trình để mạch Arduino thực hiện các nhiệm vụ mà chúng ta mong muốn. Và trong nội dung của đồ án, chúng em sử dụng Arduino Mega 2560.

Một loại khá phổ biến trên thị trường và hiện nay đã và đang ứng dụng rộng rãi trong các thiết kế (cả nghiên cứu lẫn thương mại), cách sử dụng đơn giản và được hỗ trợ bởi cộng đồng lớn.Sơ lược về Arduino Mega 2560 Arduino Mega 2560 là sản phẩm tiêu biểu cho dòng mạch Mega là dòng bo mạch có nhiều cải tiến so với Arduino Uno (54 chân digital IO và 16 chân analog IO). Đặc biệt bộ nhớ flash của MEGA được tăng lên một cách đáng kể, gấp 4 lần so với những phiên bản cũ của Uno R3. Điều này cùng với việc trang bị 3 timer và 6 cổng interrupt khiến bo mạch Mega hoàn toàn có thể giải quyết được nhiều bài toán hóc búa, cần điều khiển nhiều loại động cơ và xử lý song song nhiều luồng dữ liệu số cũng như tương tự.Thông số kĩ thuật Arduino Mega 2560 Bảng 2.1: Thông số kĩ thuật Arduino Mega 2560 Chip xử lý ATmega2560 Điện áp hoạt động 5V Điện áp vào (đề nghị) 7V-15V Điện áp vào (giới hạn) 6V-20V Cường độ dòng điện trên mỗi 3.3V pin 50 mA Cường độ dòng điện trên mỗi I/O pin 20 mA Flash Memory 256 KB SRAM 8 KB EEPROM 4 KB Clock Speed 16 MHz 2. Sơ đồ chân Arduino Mega 2560 6 Hình 2.2: Mạch Arduino Mega 2560 – sơ đồ chân Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560.

Bao gồm:  54 chân digital (trong đó có 15 chân có thể được sủ dụng như những chân PWM là từ chân số 2 → 13 và chân 44 45 46).  6 ngắt ngoài: chân 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5), chân 19 (interrupt 4), chân 20 (interrupt 3), and chân 21 (interrupt 2).  16 chân vào analog (từ A0 đến A15).  4 cổng Serial giao tiếp với phần cứng: 7 Bảng 2.2: Bốn cổng Serial giao tiếp với phần cứng CỔNG SERIAL CHÂN RX CHÂN TX Cổng 0 0 1 Cổng 1 19 18 Cổng 2 17 16 Cổng 3 15 14  1 thạch anh với tần số dao động 16 MHz.

 1 cổng kết nối USB.  1 jack cắm điện.Đánh giá hoạt động Arduino Mega 2560 hoạt động rất ổn định và chắc chắn. Hoàn toàn đảm bảo các chức năng yêu cầu sử dụng cho phương tiện.Kết luận Việc sử dụng Arduino Mega 2560 vào đề tài giúp cho việc phát triển phương tiện trở nên dễ dàng hơn vì loại arduino này rất phổ biến và tính ứng dụng cao. Nhờ có các header nối từ chân chip ATmega2560 ra nên có thể linh động thay đổi dễ dàng giữa các phương án.

Vì vậy Arduino Mega 2560 rất thích hợp để phát triển sản phẩm.Giới thiệu về Mạch điều kiển động cơ DC L298 2.Sơ lược về Moduel điều khiển động cơ L298 Mạch điều khiển động cơ DC L298 V2 sử dụng IC Driver điều khiển động cơ, mạch có chất lượng tốt, khả năng hoạt động bền bỉ và thiết kế tiện lợi với trở kéo tích hợp, diod bảo vệ, led hiển thị trạng thái, Domino và chân cắm dễ dàng sử dụng. Mạch điều khiển động cơ DC L298 V2 có khả năng điều khiển 2 động cơ DC với dòng cấp lên đến 2A, trên mạch có IC nguồn 7805 giúp cấp nguồn 5VDC cho các module khác( lưu ý chỉ sử dụng 5V này nếu nguồn cấp <12V DC).Thông số kỹ thuật Moduel điều khiển động cơ L298 V2  IC chính: L298 - Dual Full Bridge Driver  Điện áp đầu vào: 5~46VDC  Công suất tối đa: 25W 1 cầu ( lưu ý công suất = dòng điện x điện áp nên áp cấp vào càng cao, dòng càng nhỏ, công suất có định 25W).  Dòng tối đa cho mỗi cầu H là: 2A  Mức điện áp logic: Low -0.3V~Vss  Kích thước: 60mm*54mm  Trọng lượng: ~48g [3] 2.Sơ đồ chân và nguyên lý hoạt động 9 Hình 2.3: Moduel điều khiển động cơ L298 gồm các chân:  12V power, 5V power: 2 chân cấp nguồn trực tiếp đến động cơ (có thể cấp nguồn 9- 12V ở 12V).  Power,GND: chân của nguồn cấp cho động cơ.

 Gồm có 4 chân Input: IN1, IN2, IN3, IN4.  Output A: nối với động cơ A. bạn chú ý chân +, -. Nếu ta nối ngược thì động cơ sẽ chạy ngược.

Và chú ý nếu bạn nối động cơ bước, ta phải đấu nối các pha cho phù hợp. Mạch hoạt động nhờ IC điều khiển chính là ICL298, ICL298 cấu tạo gồm hai mạch cầu H điều khiển cho hai động cơ. Tín hiệu từ vi điều khiển gửi đến để điều khiển cho một mạch cầu H gồm Direct để điều khiển chiều động cơ và PWM để điều khiển tốc độ động cơ.4: Sơ đồ nguyên lý của moduel L298 để điều khiển động cơ DC IC L298 là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong. Với điện áp làm tăng công suất nhỏ như động cơ DC loại vừa… Tóm tắt chức năng các chân của L298: - 4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 của L298.

Đây là các chân nhận tín hiệu điều khiển. - 4 chân OUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT) được nối với các chân 2, 3,13,14 của L298. Các chân này sẽ được nối với động cơ. - Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong L298.

Nếu ở mức logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ở mức logic “0” thì mạch cầu H không hoạt động. Cách điều khiển chiều quay với L298: - Khi ENA = 0: Động cơ không quay với mọi đầu vào. - Khi ENA = 1: INT1 = 0; INT2 = 1: Động cơ quay thuận. INT1 = 1; INT2 = 0: Động cơ quay nghịch.

INT1 = INT2: Động cơ dùng ngay tức thì. Với ENB cũng tương tự với INT3, INT4.5: Motor quay thuận Hình 2.6: Motor quay nghịch (INT1 = 1; INT2 = 0) INT1=0; INT2 = 1) 2.Giới thiệu về cảm biến siêu âm SRF05 2.Tổng quan về các loại cảm biến Cảm biến là thiết bị điện tử cảm nhận những trạng thái hay quá trình vật lý hay hóa học ở môi trường cần khảo sát và biến đổi thành tín hiệu điện để thu thập thông tin về trạng thái hay quá trình đó. Thông tin được xử lý để rút ra tham số định tính hoặc định lượng của môi trường, phục vụ các nhu cầu nghiên cứu khoa học kỹ thuật hay dân sinh và gọi ngắn gọn là đo đạc, phục vụ trong truyền và xử lý thông tin, hay trong điều khiển các quá trình khác.[4] Các loại cảm biến thường sử dụng cho phương tiện tự hành bao gồm:  Cảm biến Laser  Cảm biến hồng ngoại 12  Cảm biến siêu âm Bảng 2.3: Bảng so sánh các loại cảm biến LOẠI CẢM GIÁ STT ƯU ĐIỂM NHƯỢC ĐIỂM BIẾN (VNĐ) - Dò tìm được tất cả - Độ phân giải thấp. các loại vật thể.

- Tín hiệu bị lặp lại. 1 Cảm biến siêu âm 50,000 - Dễ điều khiển và lập - Tín hiệu bị ảnh hưởng rình. - Có độ chính xác cao.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ