ROBOT TRÁNH VẬT CẢN TỰ ĐỘNG

67 2.2K 26
ROBOT TRÁNH VẬT CẢN TỰ ĐỘ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

Robot tránh vật cản vừa có nhiều ứng dụng trong thực tế vừa dễ dàng để sinh viên chúng em vận dụng những kiến thức tiếp thu được trên giảng đường vào nó. Với những cơ cấu cơ khí đơn giản nhưng lại có thể kết hợp nhiều thành phần điện tử (arduino, sensor đo khoảng cách, module điều khiển động cơ, động cơ,....) nên những robot này rất phù hợp để sinh viên học tập và nghiên cứu thêm.

MỤC LỤC LỜI NÓI ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích chọn đề tài 1.3 Nhiệm vụ nghiên cứu 1.4 Đối tƣợng nghiên cứu phạm vi nghiên cứu 1.4.1 Đối tƣợng nghiên cứu CHƢƠNG I: GIỚI THIỆU ROBOT VÀ ROBOT TRÁNH VẬT CẢN TỰ ĐỘNG 10 1.1 Tổng quan robot tự động tránh vật cản 10 1.1.1 Giới thiệu chung robot robot tự động tránh vật cản 10 1.1.2 Các hệ robot 12 1.1.3 Robot tránh vật cản tự động phân loại 12 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT CỦA ROBOT TỰ ĐỘNG TRÁNH VẬT CẢN 14 2.1 Thông số Arduino UNO R3 14 2.2 Vi điều khiển 15 a Các chân lượng 18 b Một vài ý sử dụng kit Arduino 18 c Bộ nhớ 19 e Lập trình cho Arduino 21 2.3 Module điều khiển động 298 22 a Chức chân modunle điều khiển động L298 22 b Hình ảnh sơ đồ khối sơ đồ chân IC L298 23 2.4 Cảm biến siêu âm 24 a Siêu âm 24 b Khái niệm cảm biến siêu âm 24 c Nguyên lý cấu tạo cảm biến siêu âm 25 d Cách tính khoảng cách nguyên lý cảm biến siêu âm 25 e Cấu tạo đầu cảm biến siêu âm 27 f Ứng dụng cảm biến siêu âm 28 g Phân loại loại cảm biến 28 2.5 Cảm biến siêu âm SRF 05 28 2.6 Động giảm tốc 31 a Cấu tạo động điện 31 b Nguyên lý hoạt động động điện 31 2.7 Động servo 32 a Cấu tạo 35 b Nguyên lý hoạt động 37 c Servo điều biến độ rộng xung 37 d Phân loại động servo 38 CHƢƠNG 3: THIẾT KẾ ROBOT TỰ ĐỘNG TRÁNH VẬT CẢN SỬ DỤNG CẢM BIẾN SIÊU ÂM 39 3.1 Ý tƣởng thiết kế 39 3.2 Sơ đồ khối 40 3.3 Phân tích chức lựa chọn khối 40 3.3.1 Khối nguồn 40 a.Yêu cầu 40 b Thông số linh kiện sử dụng 42 3.3.2 Khối cảm biến 43 a Yêu cầu 43 b Các phương án thiết kế 43 c Thông số linh kiện sử dụng 44 3.3.3 Module điều khiển động 46 a Yêu cầu 46 b Các phương án thiết kế 46 c Thông số linh kiện sử dụng 47 Thông số kĩ thuật: 47 d Sơ đồ thiết kế 47 3.3.4 Vi điều khiển 48 a Yêu cầu 48 b Các phương án thiết kế 48 c Thông số linh kiện sử dụng 48 3.3.5 Động 48 a Yêu cầu 48 b Các phương án thiết kế 49 c Thông số linh kiện sử dụng 49 3.3.5 Sơ đồ thiết kế robot tránh vật cản tự động 50 3.3.6 Sơ đồ nguyên lý robot tự động tránh vật cản 50 a Nguyên lý hoạt động 51 b Lưu đồ thuật toán 51 c Thiết kế 53 3.3.7 Chế tạo, kiểm nghiệm đánh giá sản phẩm 64 a Đánh giá sai số qui trình gia cơng khí 64 b Đánh giá độ xác tin cậy Robot thực nhiệm vụ 65 CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 66 4.1 Kết luận 66 4.2 Hƣớng phát triển 66 TÀI LIỆU THAM KHẢO 67 PHỤ LỤC Danh mục hình ảnh sử dụng báo cáo Hình Vi điều khiển ATmega328p kit Arduino UNO R3 15 Hình 2 Sơ đồ chân Atemega 328p 16 Hình Atmega328p 17 Hình Kit Arduino UNO R3 20 Hình Phần mềm lập trình kit arduino UNO R3 22 Hình Sơ đồ chân IC L298 23 Hình Dải tần 24 Hình Một loại cảm biến đo khoảng cách 25 Hình Thời gian thu phát cửa cảm biến siêu âm 26 Hình 10 Cơng thức tính khoảng cách cảm biến siêu âm 27 Hình 11 Sơ đồ phát xung cảm biến siêu âm SRF 05 30 Hình 12 Động giảm tốc = động điện + hộp giảm tốc 31 Hình 13 Động servo 35 Hình 14 Cấu tạo động servo 36 Hình 15 Góc quay động rộng xung 38 Hình Sơ đồ khối 40 Hình Pin cell 43 Hình 3 Cảm biến siêu âm SRF05 45 Hình Động servo sử dụng 45 Hình Sơ đồ thiết kế cảm biến siêu âm SRF05 Servo 46 Hình Sơ đồ thiết kế Modunle điều khiển động động giảm tốc 47 Hình Sơ đồ thiết kế robot tránh vật cản tự động 50 Hình Sơ đồ nguyên lý robot tránh vật cản tự động 50 Hình Lưu đồ thuật toán 52 Hình 10 Robot tránh vật cản tự động 63 Hình 11 robot tránh vật cản tự động 64 LỜI NÓI ĐẦU Ngày nay, phát triển mạnh mẽ khoa học đời sống, sống người thay đổi ngày tốt hơn, với trang thiết bị đại phục vụ công cơng nghiệp hóa, đại hóa Đặc biệt góp phần khơng nhỏ ngành kĩ thuật điện – điện tử nghiệp xây dựng đất nước Những thiết bị điện, điện tử phát triển ứng dụng rộng rãi đời sống ngày Từ thời gian đầu phát triển vi xử lý cho thấy ưu việt ngày tính ưu việt ngày khẳng định thêm Những thành tựu biến tưởng chừng thành có thể, góp phần nâng cao đời sống vật chất tinh thần cho người Do mong muốn áp dụng kiến thức học ba năm đại học, em định nghiên cứu chế tạo sản phẩm mang tính ứng dụng vào đời sống thực tiễn Sản phẩm robot tránh vật cản Robot tránh vật cản thiết kế tránh vật cản phía trước mặt robot Sản phẩm có nhiều cách để tránh vật cản gập vật cản dừng lại rẽ trái rẽ phải, lùi, thời gian, kiến thức kinh nghiệm em có hạn nên khơng tránh khỏi sai sót Em mong giúp đỡ tham khảo ý kiến thầy cô nhằm đóng góp phát triển thêm đề tài 1.1 Lý chọn đề tài Ngày nay, robotic đạt thành tựu to lớn sản xuất công nghiệp đời sống Sản xuất robot nghành công nghiệp trị giá lớn ngày phát triển mạnh, họ robot không nhắc tới mobile robot với đặc thù riêng mà loại robot khác khơng có Mobile robot di chuyển cách linh hoạt, tạo nên không gian hoạt động lớn dần khẳng định vai trò quan trọng thiếu nhiều lĩnh vực, thu hút nhiều đầu tư nghiên cứu Mobile robot chia làm nhiều loại: robot học đường đi, robot dò line, robot tránh vật cản, robot tìm đường mê cung,…trong số robot tránh vật cản dễ dàng ứng dụng nhiều sống Việc phát triển loại robot phục vụ đắc lực cho người 1.2 Mục đích chọn đề tài Robot tránh vật cản vừa có nhiều ứng dụng thực tế vừa dễ dàng để sinh viên chúng em vận dụng kiến thức tiếp thu giảng đường vào Với cấu khí đơn giản lại kết hợp nhiều thành phần điện tử (arduino, sensor đo khoảng cách, module điều khiển động cơ, động cơ, ) nên robot phù hợp để sinh viên chúng em họp tâp nghiên cứu thêm 1.3 Nhiệm vụ nghiên cứu  Nghiên cứu sở lí thuyết moudule điều khiển động  Nghiên cứu sở lí thuyết cảm biến siêu âm  Nghiên cứu sở lý thuyết servo, động giảm tốc  Nghiên cứu kĩ thuật vi điều khiển 1.4 Đối tƣợng nghiên cứu phạm vi nghiên cứu 1.4.1 Đối tƣợng nghiên cứu  Cảm biến siêu âm  Động giảm tốc, servo  Moudule điều khiển động  Kit Arduino UNO R3 1.4.2 Phạm vi nghiên cứu  Cảm biến siêu âm SRF 05  Động giảm tốc, servo  Modunle điều khiển động L298  Kit Arduino UNO R3 1.5 Phƣơng pháp nghiên cứu  Phương pháp nghiên cứu thực tiễn: Nghiên cứu thực tiễn để đưa kết sản phẩm định hướng phát triển cho đề tài  Phương pháp nghiên cứu sở lý thuyết: Nhằm xây dựng sở lý thuyết cho đề tài, thơng qua việc phân tích, tổng hợp nguồn liệu, số liệu thực tiễn  Phương pháp chuyên gia: Tham khảo ý kiến giáo viên hướng dẫn, thầy cơ, người có kinh nghiệm chun mơn lĩnh vực tính khả thi sản phẩm, cách thực hiện, đánh giá…  Phương pháp chế tạo, kiểm nghiệm đánh giá: Tiến hành chế tạo sản phẩm, kiểm nghiệm, thống kê số liệu đánh giá hiệu quả, tính ổn định tính xác sản phẩm 1.6 Cấu trúc đồ án Đồ án chia làm chương:  Chương 1: Giới thiệu robot robot tránh vật cản tự động  Chương 2: Cơ sở lý thuyết robot tự động tránh vật cản  Chương 3: Thiết kế robot tự động tránh vật cản sử dụng cảm biến siêu âm kiểm nghiệm đánh giá sản phẩm  Chương 4: Kết luận hướng phát triển CHƢƠNG I: GIỚI THIỆU ROBOT VÀ ROBOT TRÁNH VẬT CẢN TỰ ĐỘNG 1.1 Tổng quan robot tự động tránh vật cản 1.1.1 Giới thiệu chung robot robot tự động tránh vật cản Thuật ngữ robot lần xuất năm 1921 Tiệp Khắc tác phẩm R.U.R(Rossum’s Universal Robot) nhà soạn kịch Karel Capek Kể từ thuật ngữ sử dụng rộng rãi Khái niệm máy tự động xuất từ lâu với viễn tưởng người máy sống Ngay sau chiến tranh giới lần thứ hai, nhiều cơng trình bắt đầu phòng thí nghiệm để phát triển máy khí điều khiển từ xa nhằm phục vụ phòng thí nghiệm vật liệu phóng xạ Trong nửa kỷ qua robot có tiến đáng kể năm 1960 robot thay người làm công việc nặng nhọc, nguy hiểm mơi trường nguy hiểm, độc hại Tiếp đời phát triển bàn tay khí điều khiển máy tính sử dụng sensor xúc giác Đây xuất robot có khả thích ứng mơi trường.Trong suốt năm 1970, số lượng lớn cơng trình nghiên cứu tập trung vào việc sử dụng sensor ngoại để tang tiện lợi linh hoạt cho robot Trong thập kỷ 80-90 phát triển mạnh mẽ cửa khoa học kỹ thuật, đặc biệt lĩnh vực kỹ thuật vi xử lý công nghệ thông tin, số lượng robot gia tang, giá thành giảm rõ rệt đạt nhiều tính năng, ứng dụng đời sống sản xuất Trong ngày qua khái niệm “ Cách mạng công nghiệp 4.0” nhắc đến nhiều truyền thơng mạng xã hội Cùng với ngành khoa học công nghệ tạo nhiều sản phẩm robotics Trong robotstic 10 c Thiết kế  Phần cứng Bảng linh kiện giá thành Tên linh kiện Số lượng Giá thành(VND) Arduino UNO R3 120.000 Cảm biến siêu âm SRF 05 50.000 Module điều khiển động L298V1 70.000 Động giảm tốc V3 30.000 Bánh xe 20.000 Pin cell 90.000 Mika trắng 30.000 Dây nối 40.000 Cầu đấu dây 15.000 Công tắc 3.500 Đế pin 28.000 Tổng giá trị: 916.500 Hình 25: Bảng linh kiện sử dụng  Phần code #include #define trig //chân trig HC-SR04 #define echo 3//chân echo HC-SR04 Servo srf05; // Khai báo thư viện servo #define inA1 //Định nghĩa chân in1 động A #define inA2 //Định nghĩa chân in2 động A 53 #define inB1 //Định nghĩa chân in1 động B #define inB2 //Định nghĩa chân in2 động B #define enA // Chân PWM động A #define enB 11 // Chân PWM động B void setup() { pinMode(inA1, OUTPUT);//Set chân in1 dc A output pinMode(inA2, OUTPUT);//Set chân in2 dc A output pinMode(inB1, OUTPUT);//Set chân in1 dc B output pinMode(inB2, OUTPUT);//Set chân in2 dc B output pinMode(trig,OUTPUT);//chân trig phát tín hiệu pinMode(echo,INPUT);//chân echo nhận tín hiệu pinMode (enA,OUTPUT); pinMode (enB,OUTPUT); Serial.begin(9600); srf05.attach(13); // attaches the servo on pin to the servo object } void loop() { 54 objectAvoider (inA1, inA2, inB1, inB2,50, 1000); } int objectDistance_cm (byte angle) { srf05.write(angle); delay(500); unsigned long duration;//biến đo thời gian int distance;//biến lưu khoảng cách /* phát xung từ chân trig */ digitalWrite(trig,0);//tắt chân trig delayMicroseconds(2); digitalWrite(trig,1);// phát xung từ chân trig delayMicroseconds(5);// xung có độ dài microSeconds digitalWrite(trig,0);//tắt chân trig /* tính tốn thời gian */ duration = pulseIn(echo,HIGH);//đo độ rộng xung HIGH chân echo ( http://arduino.vn/reference/pulsein ) distance = int(duration/2/29.412);//tính khoảng cách đến vật 55 /* in kết Serial monitor */ //Serial.print(distance); //Serial.println("cm"); //delay(200); return distance; } void robotMover (byte inR1, byte inR2, byte inL1, byte inL2, byte action) { /* inR1 inR2 chân tín hiệu động bên phải inL1 inL2 chân tín hiệu động bên trái action= đứng yên action =1 thẳng action =2 lùi lại action =3 quay trái action =4 quay phải action =5 rẽ trái action =6 rẽ phải action =7 rẽ lùi trái action =8 rẽ lùi phải 56 */ switch (action) { case 0:// không di chuyển motorControlNoSpeed(inR1, inR2, 0); motorControlNoSpeed(inL1, inL2, 0); break; case 1://đi thẳng motorControlNoSpeed(inR1, inR2, 1); motorControlNoSpeed(inL1, inL2, 1); break; case 2:// lùi lại motorControlNoSpeed(inR1, inR2, 2); motorControlNoSpeed(inL1, inL2, 2); break; case 3:// quay trái motorControlNoSpeed(inR1, inR2, 1); motorControlNoSpeed(inL1, inL2, 2); break; case 4:// quay phải motorControlNoSpeed(inR1, inR2, 2); motorControlNoSpeed(inL1, inL2, 1); 57 break; case 5:// rẽ trái motorControlNoSpeed(inR1, inR2, 1); motorControlNoSpeed(inL1, inL2, 0); break; case 6:// rẽ phải motorControlNoSpeed(inR1, inR2, 0); motorControlNoSpeed(inL1, inL2, 1); break; case 7:// rẽ lùi trái motorControlNoSpeed(inR1, inR2, 2); motorControlNoSpeed(inL1, inL2, 0); break; case 8:// rẽ lùi phải motorControlNoSpeed(inR1, inR2, 0); motorControlNoSpeed(inL1, inL2, 2); break; default: action = 0; } } 58 void motorControlNoSpeed (byte in1,byte in2, byte direct) { // in1 and in2 are signal pins to control the motor // en is the enable pin // the defauspeed is the highest // direct includes: // 0:Stop // 1:Move on direct // 2:Move on another direct switch (direct) { case 0:// Dừng không quay digitalWrite(in1,LOW); digitalWrite(in2,LOW); analogWrite(enA,0); analogWrite(enB,0); break; case 1:// Quay chiều thứ digitalWrite(in1,LOW); digitalWrite(in2,HIGH); 59 analogWrite(enA,120); analogWrite(enB,120); break; case 2:// Quay chiều thứ digitalWrite(in1,HIGH); digitalWrite(in2,LOW); analogWrite(enA,120); analogWrite(enB,120); break; //default: } } void objectAvoider (byte inR1, byte inR2, byte inL1, byte inL2, byte allow_distance, int turn_back_time) { robotMover(inR1,inR2,inL1,inL2,1); Serial.println("Tiến"); //delay(10); int front_distance=objectDistance_cm (90); int left_distance; 60 int right_distance; int max_distance; if (front_distance > allow_distance) { robotMover(inR1,inR2,inL1,inL2,1); Serial.println("Tiến"); delay(10); } if (front_distance

Ngày đăng: 09/05/2018, 00:55

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

Tài liệu liên quan