1. Trang chủ
  2. » Tất cả

Báo Cáo Đồ Án 1 (1)

18 2 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 18
Dung lượng 882,79 KB

Nội dung

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ - - Đồ Án Đề Tài : Thiết kế Robot dò line sử dụng cảm biến Hồng ngoại kết hợp Arduino GVHD: Đặng Ngọc Khoa SV Làm Đề Tài : ĐẶNG TRỌNG AN Lớp: 10DHTDH2 MSSV : 2032190101 TP Hồ Chí Minh, tháng năm 2021 BỘ CƠNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ - - Đồ Án Đề Tài : Thiết kế Robot dò line sử dụng cảm biến Hồng ngoại kết hợp Arduino GVHD: Đặng Ngọc Khoa SV LÀM BÀI : ĐẶNG TRỌNG AN Lớp: 10DHTDH2 MSSV : 2032190101 TP Hồ Chí Minh, tháng năm 2021 Lời Mở Đầu Lời đầu tiên, em xin cảm ơn thầy Đặng Ngọc Khoa hướng dẫn em trình thực đồ án Đồ án đồ án chương trình học em, nên đồ án quan trọng, tảng để em thực đồ án sau Dựa Trên kiến thức học mơn: giải tích mạch, kỹ thuật xung số, máy điện hay vi điều khiển áp dụng khuôn khổ đồ án môn học: Thiết kế thi cơng mơ hình robot dị line sử dụng Arduino, nhóm thiết kế robot với tiêu đề đầy đủ là: Thiết kế thi công mơ hình robot dị line sử dụng cảm biến hồng ngoại kết hợp với arduino Với mục đích tìm hiểu kỹ thuật số,cách vận hành robot tính thực tiễn qua giúp nâng cao kiến thức Trong trình thực đồ án, em tìm hiểu rõ cách kết nối cách điều khiển , lập trình Đó kiến thức bổ ích q trình học làm việc em tương lai Trong trình thực đồ án , em chưa có nhiều kinh nghiệm nên khơng tránh khỏi sai sót Mong nhận góp ý thầy để hoàn thiện Một lần em xin chân thành cảm ơn quan tâm giúp đỡ thầy trình thực đồ án mong giúp đỡ thầy đồ án sau Em xin chân thành cảm ơn ! Mục Lục I Tổng Quan 1.1 1.2 Đề Bài Đặt Ra Giới Thiệu .4 II Nội Dung 2.1 Các linh kiện sử dụng .5 2.1.1 Arduino 2.1.2 Mạch điều khiển động DC L298N 2.1.3 Khung xe robot tầng bánh 2.1.4 Cảm biến dò line 2.1.5 Các thành phần khác .8 2.2 Sơ đồ kết nối 2.3 Chương trình nạp 10 III Kết Quả Thực Nghiệm 3.1 Kết chạy xe 16 3.1.1 Ưu điểm Nhược điểm .17 3.2 Trải nghiệm trình làm đồ án 17 I Tổng Quan 1.1 Đề Tài Đặt Ra Mô tả đường - Màu sắc đường line : Trắng - Màu : Đen - Bề mặt địa hình di chuyển : Địa hình chủ yếu phẳng , có Cầu vượt, vượt Sông - Độ rộng đường line : 2cm Sân thi đấu có kích thước : 2m* 4m - Yêu cầu robot di chuyển theo đường đua quy định Về yêu cầu thiết kế Robot : + Kích thước phủ bì: ≤ 250x200mm; chiều cao tự Sau khởi động Robot phép thay đổi kích thước + Khối lượng: ≤ 4Kg + Robot sử dụng cảm biến để tự động di chuyển thực nhiệm vụ, khơng có điều khiển từ xa qua sóng, laser, hồng ngoại… + Robot sử dụng cấu chấp hành để truyền động cho chuyển động tới lui, trái phải robot + Nguồn điện sử dụng cho robot không 24VDC + Robot chế tạo cho trình di chuyển không phép cản trở đối thủ, không làm hư hỏng sân thi đấu + Robot tiếp xúc sàn thi đấu thông qua bánh xe (các phận khác robot phải cách mặt sàn thi đấu tối thiểu 1cm, tránh làm hư hỏng sàn thi đấu) + Robot có khả tự đánh giá địa hình, di chuyển linh hoạt, xác, nhẹ nhàng, …vượt qua tất chướng ngại vật đường tiến đến điểm có bom mìn 1.2 Giới Thiệu Robot đời sớm thay người làm việc nặng nhọc độc hại Trong thời đại công nghiệp nay, robot ngày ứng dụng rộng rãi sản xuất đời sống Do yêu cầu ngày cao phức tạp, robot cần có thay đổi linh hoạt đáp ứng nhanh mobile robot Mobile robot loại robot có khả tự di chuyển, tự vận động có khả hồn thành cơng việc giao Trong robot dị line loại robot tự xác định vị trí tương đối di chuyển bám theo quỹ đạo định sẵn Hiện robot dò line ứng dụng rộng rãi ngày hoàn thiện lĩnh vực thăm dò địa chất , tự hành không , môi trường khắc nghiệt người đặt chân tới dùng để nghiên cứu kỹ thuật thi quy mô khác II Nội Dung 2.1 Các linh kiện sử dụng 2.1.1 Arduino Arduino tảng mã nguồn mở sử dụng để xây dựng dự án điện tử Arduino bao gồm bảng mạch lập trình phần mềm IDE chạy máy tính, sử dụng để viết tải mã máy tính bo mạch Sơ Đồ chân Arduino Uno Chân giao tiếp Digital (tín hiệu số ) : có 14 chân , từ đến 13 Những chân có dấu ~( 3,5,6,9,10,11 ) chân xuất xung thay đổi độ rộng, ứng dụng để điều khiển tốc độ động độ sáng đèn .Chân đọc tín hiệu Analog ( tín hiệu tương tự ) : Có chân , từ A0 đến A5 Đọc tín hiệu Analog từ cảm biến để Ic Atmega xử lý Chân cấp nguồn Bao gồm chân : GND , 5V , 3.3V Các chân dùng để cấp nguồn cho thiết bị bên rơle, cảm biến , DC, Ngồi cịn có chân : Vin , Reset, IOREF Ngôn ngữ lập trình Arduino C/C++, khác với lập trình trực tiếp với vi điều khiển , lập trình Arduino dễ dàng nhiều nhờ vào bo mạch mở rộng đa dạng Hiện có nhiều loại Arduino sử dụng phổ biến thị trường Giúp cho thiết kế robot dò line cách dễ dàng 2.1.2 Mạch điều khiển Động DC L298N Mạch điều khiển động DC L298N có khả điều khiển động DC, dịng tối đa 2A động cơ, mạch tích hợp diod bảo vệ IC nguồn 7850 giúp cấp nguồn 5VDC cho moule khác 2.1.3 Khung xe robot tầng bánh + động hộp giảm tốc, điện áp cung cấp cho động – V + bánh xe nhựa, lốp chất liệu cao su + hộp đựng bin AA 1.5V + kích thước khung xe sau lắp : 26 * 17.5 cm + Đường kính bánh xe : 65 mm Với việc sử dụng động giảm tốc DC chuyển hướng linh hoạt dựa xử lý tốc độ động cơ, khung xe có kích thước lớn , dễ để mở rộng, lắp đặt module, mạch điện hỗ trợ Ứng dụng xe robot bánh : dễ dàng điều chỉnh hướng xe , xoay xe dựa điều khiển tốc độ bánh xe thích hợp cho ứng dụng xe robot tự hành , tránh vật cản 2.1.4 Cảm biến Dò Line Module cảm biến dò line LED thiết kế dùng để phát line đen line trắng Trên cảm biến có cảm biến hồng ngoại hướng xuống đất nhằm phát line Tín hiệu ngõ dạng số dễ dàng cho việc xử lý Tín hiệu nhận biết : Gặp màu trắng : Đầu mức cao , Gặp màu đen dải nhận biết tín hiệu mức thấp 2.1.5 Các thành phần khác Dây cắm đực Cặp pin 3.7V – 18650- 1200mAh 10 2.2 Sơ đồ kết nối Sau hoàn thiện sơ đồ kết nối , ta thực hành kết nối thực tế : 11 Sau hoàn thiên việc kết nối thực tế ta viết chương trình dị line nạp vào robot 2.3 Chương trình nạp int in1 = 7; int in2 = 8; int in3 = 9; int in4 = 10; int ena = 6; int enb = 11; #define sensor1 A0 #define sensor2 A1 #define sensor3 A2 #define sensor4 A3 #define sensor5 A4 int ss1; int ss2; int ss3; int ss4; int ss5; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(ena, OUTPUT); pinMode(enb, OUTPUT); pinMode(sensor1, INPUT); pinMode(sensor2, INPUT); pinMode(sensor3, INPUT); pinMode(sensor4, INPUT); pinMode(sensor5, INPUT); } void loop() { ss1=digitalRead(A0); 12 ss2=digitalRead(A1); ss3=digitalRead(A2); ss4=digitalRead(A3); ss5=digitalRead(A4); Serial.print( ss1) ; Serial.print( ss2) ; Serial.print( ss3) ; Serial.println( ss4); if ((ss1==1)&&(ss2==1)&&(ss3==1)&&(ss4==1)&&(ss5==1)) { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 0); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 0); } else if ((ss1==0)&&(ss2==0)&&(ss3==0)&&(ss4==0)&&(ss5==0))//mất line { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 0); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 0); Serial.println("Mat line") ; } else if ((ss1==0)&&(ss2==0)&&(ss3==1)&&(ss4==0)&&(ss5==0))//giữa line { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Giua line "); } 13 else if ((ss1==0)&&(ss2==1)&&(ss3==1)&&(ss4==1)&&(ss5==0))//giữa line { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Giua line 2"); } else if ((ss1==1)&&(ss2==0)&&(ss3==0)&&(ss4==0)&&(ss5==0))//lệch trái cấp { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 150); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enb, 150); Serial.println("Lech trai cap 4"); } else if ((ss1==1)&&(ss2==1)&&(ss3==0)&&(ss4==0)&&(ss5==0))//lệch trái cấp { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 150); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enb, 150); Serial.println("Lech trai cap 3"); } else if ((ss1==1)&&(ss2==1)&&(ss3==1)&&(ss4==0)&&(ss5==0))//lệch trái cấp { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); 14 analogWrite(ena, 150); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enb, 150); Serial.println("Lech trai cap 2"); } else if ((ss1==1)&&(ss2==1)&&(ss3==1)&&(ss4==1)&&(ss5==0))//lệch trái cấp { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 150); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enb, 150); Serial.println("Lech trai cap 1"); } else if ((ss1==0)&&(ss2==0)&&(ss3==0)&&(ss4==0)&&(ss5==1))//lệch phải cấp { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Lech phai cap 4"); } else if ((ss1==0)&&(ss2==0)&&(ss3==0)&&(ss4==1)&&(ss5==1))//lệch phải cấp { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Lech phai cap 3"); } 15 else if ((ss1==0)&&(ss2==0)&&(ss3==1)&&(ss4==1)&&(ss5==1))//lệch { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Lech phai cap 2"); } else if ((ss1==0)&&(ss2==1)&&(ss3==1)&&(ss4==1)&&(ss5==1))//lệch { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Lech phai cap 1"); } else if ((ss1==0)&&(ss2==1)&&(ss3==0)&&(ss4==0)&&(ss5==0))//lệch khác { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, 150); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enb, 150); Serial.println("Lech trai cap khac 2"); } else if ((ss1==0)&&(ss2==1)&&(ss3==1)&&(ss4==0)&&(ss5==0))//lệch khác { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); 16 phải cấp phải cấp trái cấp trái cấp analogWrite(ena, 150); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enb, 150); Serial.println("Lech trai cap khac 1"); } else if ((ss1==0)&&(ss2==0)&&(ss3==0)&&(ss4==1)&&(ss5==0))//lệch phải cấp khác { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Lech phai cap khac 2"); } else if ((ss1==0)&&(ss2==0)&&(ss3==1)&&(ss4==1)&&(ss5==0))//lệch phải cấp khác { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, 150); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enb, 150); Serial.println("Lech phai cap khac 1"); } } III Kết luận 17 3.1 Kết chạy xe - Xe robot có khả di chuyển theo đường định sẵn - Có thể di chuyển địa hình phức tạp 3.1.1 Ưu điểm Nhược điểm Ưu điểm Chạy ổn định , bám line xác Thể khả hồn tồn tự động mơ hình Chạy nhiều địa hình khác , địa hình mà người đặt chân tới Nhược điểm Thiết kế mạch, lắp ráp nhiều thời gian Tính linh hoạt chưa cao Lập trình phức tạp 3.2 Trải nghiệm trình làm đồ án Vì lần làm đồ án khó tránh sai sót Trong trình làm đồ án cho em nhiều kiến thức bổ ích cách nối dây , lắp ráp phận cho hợp lý , hướng dẫn cách viết chương trình cách nạp Bằng trải nghiệm thực tế hiểu rõ tầm quan trọng robot đời sống 18 ... tháng năm 20 21 Lời Mở Đầu Lời đầu tiên, em xin cảm ơn thầy Đặng Ngọc Khoa hướng dẫn em trình thực đồ án Đồ án đồ án chương trình học em, nên đồ án quan trọng, tảng để em thực đồ án sau Dựa Trên... Chương trình nạp 10 III Kết Quả Thực Nghiệm 3 .1 Kết chạy xe 16 3 .1. 1 Ưu điểm Nhược điểm .17 3.2 Trải nghiệm trình làm đồ án 17 I Tổng Quan 1. 1 Đề Tài Đặt Ra Mô tả... .5 2 .1. 1 Arduino 2 .1. 2 Mạch điều khiển động DC L298N 2 .1. 3 Khung xe robot tầng bánh 2 .1. 4 Cảm biến dò line 2 .1. 5 Các thành phần khác .8 2.2 Sơ đồ kết

Ngày đăng: 13/12/2021, 12:22

w