1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo báo cáo môn học THỰC tập NGÀNH NGHỀ đề tài MOBILE ROBOT

53 6 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

Nội dung

TRƯỜNG ĐẠI HỌC KỸ THUẬT – CÔNG NGHỆ CẦN THƠ KHOA KỸ THUẬT CƠ KHÍ - ✧ - BÁO CÁO BÁO CÁO MÔN HỌC: THỰC TẬP NGÀNH NGHỀ ĐỀ TÀI: MOBILE ROBOT Giảng viên hướng dẫn: Thầy Nguyễn Lê Thế Duy Cô Nguyễn Thị Kiều Phượng Mục Lục CHƯƠNG 1: TỔNG QUAN ROBOT DÒ ĐƯỜNG 1.1Tổng quan ứng dụng vi điều khiển 1.2Giới thiệu robot dò đường 1.2.1Giới thiệu 1.2.2Hoạt động 1.3Ứng dụng robot dò đường CHƯƠNG II:THIẾT KẾ VÀ TÌM HIỂU LINH KIỆN CỦA HỆ Thống 2.1Yêu cầu đề tài 2.2Giải pháp thiết kế 2.2.1Sơ đồ khối 2.2.2Phân tích chức khối 2.2.3Nguyên lý hoạt động hệ thốn 2.3Lựa chọn linh kiện 2.3.1Khối điều khiển 2.3.2Module điều khiển động L298 2.3.3Module cảm biến hông ngoại 2.3.4Động giảm tốc DC 2.3.5LED (Light Emitting Diode) 2.3.6Nguồn Adapter 12V2A 2.3.7Cảm biến siêu âm HCSR05 2.3.8Module Bluetooth HC06 CHƯƠNG III: PHÂN TÍCH THUẬT TỐN PID VÀ ỨNG DỤNG TRONG ROBOT DÒ ĐƯỜNG 3.1Giới thiệu 3.2Định nghĩa thuật toán PID 3.3Phương pháp điều chế độ rộng xung (PWM) 3.4Giải thuật điều khiển vi tích phân tỉ lệ (PID) 3.5Ứng dụng giải thuật robot dị đường 3.5.1Mơ hình PID áp dụng cho robot 3.5.2Giải thuật PID 3.5.3 Hiệu chỉnh thuật toán PID 30 3.6 Giới thiệu phần mềm Arduino IDE 30 3.6.1 Giao diện .30 CHƯƠNG VI: THIẾT KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƯỜNG 32 4.1 Thiết kế đường cho robot 32 4.2.2 Hệ thống đường line cho robot .32 4.4 Kết thực nghiệm mơ hình robot .33 PHẦN KẾT LUẬN 36 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 36 TÀI LIỆU THAM KHẢO .38 PHỤ LỤC 38 Danh Sách Hình Hình 1.1 Sân chạy robot Hình 1.2 Quang trở Hình 1.3 Nguyên lý hoạt động quang trở Hình 1.4 Cách bố trí cảm biến Hình 2.1 Sơ đồ khối robot dò đường .5 Hình 2.3 Mạch cảm biến LED quang trở 10 Hình 2.4 Mạch điều khiển motor sử dụng L298 11 Hình 2.5 Arduino UNO R3 13 Hình 2.6 Vi xử lý ATmega328 .15 Hình 2.7 Sơ đồ chân ATmega328 15 Hình 2.8 Module điều khiển động L298 16 Hình 2.9 module cảm biến hồng ngoại TCRT5000 .17 Hình 2.10 Động DC giảm tốc 18 Hình 2.11 LED .19 Hình 2.12 Nguồn adapter 12v2A Là nguồn chuyển đổi từ AC 220V sang 12V DC .19 Hình 2.13 Cảm biến siêu âm HCSR05 20 Hình 2.14 Module Bluetooth HC06 21 Hình 2.15 Sơ đồ kích thước Module Bluetooth HC06 22 Hình 2.16 Sơ đồ mạch Module Bluetooth HC06 24 Hình 2.17 Sơ đồ kết nối Module Bluetooth HC06 với Arduio 24 Hình 2.18 App kết nối Module Bluetooth HC06 với Arduio 24 Hình 3.2 Sơ đồ khối giải thuật PID Phương trình PID tổng quát: 27 Hình 3.3 Sơ đồ khối ứng dụng giải thuật PID vào robot dò đường .28 Hình 3.4 Giao diện phần mềm Arduino IDE 30 Hình 3.5 Các nút lệnh Arduino IDE .31 Hình 3.6 Vùng thông báo Arduino IDE 31 Hình 3.7 Chọn cổng kết nối cho Arduino Uno R3 32 Hình 4.1 Mơ đường phần nềm Paint 3D 32 Hình 4.2 Băng keo dùng làm đường line .33 Hình 4.3 Sân sau chế tạo 33 Hình 4.5 Hồn thiện robot dò đường .34 Hình 4.6 Cảm biến hồng ngoại 35 PHẦN MỞ ĐẦU 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 Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết góp phần cho hoạt động người đạt hiệu cao Các điều khiển sử dụng vi điều khiển đơn giản để vận hành sử dụng lại điều phức tạp Các vi điều khiển theo thời gian với phát triển công nghệ bán dẫn tiến triển nhanh, từ vi điều khiển bit đơn giản đến vi điều khiển 32 bit, sau 64 bit Điện tử trở thành ngành khoa học đa nhiệm vụ Điện tử đáp ứng đòi hỏi không ngừng từ lĩnh vực công – nông – lâm – ngư nghiệp nhu cầu cần thiết hoạt động đời sống ngày Robot có vai trị quan trọng đời sống đặc biệt ứng dụng cơng nghiệp, sản xuất kinh tế, quốc phịng… Vì em chọn đề tài “ xe mơ hình dị line tránh vật cản kết hợp điều khiển bluetooth áp dụng thuật toán PID” Mặc dù cố gắng thiết kế làm mạch thời gian ngắn lực hạn chế nên mạch cịn sai sót Em mong thầy (cơ) giáo góp ý để em sớm hoàn thành đồ án Mục tiêu nghiên cứu - Thực đề tài: “XE MƠ HÌNH DỊ LINE VÀ TRÁNH VẬT CẢN KẾT HỢP ĐIỀU KHIỂN BẰNG BLUETOOTH” giúp người thực nắm lý thuyết đo lường điều khiển, hiểu nguyên lý điều khiển, tập lệnh - Sản phẩm đề tài trước hết để nghiền cứu, mở rộng ứng dụng thực tế sản xuất công nghiệp Đối tượng phạm vi nghiên cứu Transistor điều khiển động L298 Cảm biến dò line Cảm biến tránh vật cản Thiết bị cảm biến điều khiển xe mơ hình Bluetooth - Board Arduino Uno: Nắm cấu trúc phần cứng, lập trình phần mềm ứng dụng vào mơ hình thực tế - Tìm hiểu lý thuyết liên quan Viết thực chương trình nhỏ Xây dựng thuật tốn điều khiển PID Viết chương trình thực thuật tốn Kit arduino Thi công mạch CHƯƠNG 1: TỔNG QUAN ROBOT DÒ ĐƯỜNG 1.1 Tổng quan ứng dụng vi điều khiển Với phát triển không ngừng khoa học kỹ thuật, đặc biệt phát triển ngành điện tử đem đến nhiều ứng dụng cơng nghiệp sinh hoạt gia đình - Từ cơng nghệ chế tạp loại vi mạch lập trình phát triển đem đến phương thức kỹ thuật điều khiển đại có nhiều ưu điểm so với việc sử dụng mạch điều khiển lắp ráp linh kiện rời kích thước nhỏ, giá thành r , độ làm việc tin cậy, công suất tiêu thụ nhỏ - Trong ứng dụng dân dụng công nghiệp, vi mạch vi điều khiển sử dụng rộng rãi chúng phát huy tính ưu việt ngày sử dụng rộng rãi - Việc sử dụng vi điều khiển để điều khiển công việc mang tính lặp lại có chu kì cần thiết để thay giám sát người, giảm số lượng nhân c ng dây chuyền sản xuất, thay người thực công việc mang t nh nguy hiểm, độc hại, 1.2 Giới thiệu robot dò đường 1.2.1 Giới thiệu Ngày nay, khoa học kĩ thuật ngày phát triển, không phát triển nhóm nước châu âu trước mà lan rộng toàn cầu Một bước tiến khoa học đáng kể đến xuất đời robot máy thơng minh Robot thực máy móc người chế tạo từ nhiều vật liệu khác nhau, chủ yếu vật liệu dẫn điện Gọi máy móc thơng minh robot làm cơng việc thay người từ công việc đơn giản cơng việc phức tạp Có thể hiểu cấu trúc robot sau: Robot gồm có hai phần: + Phần cứng: phần cấu tạo nên cấu trúc hoạt động robot (có thể xem phần ta thấy mắt thường) + Phần mềm: phần chương trình lập trình viên viết nạp vào robot nhằm điều khiển robot hoạt động độc lập (có thể xem phần khơng thể nhìn thấy mắt thường) Nhận thức tầm quan trọng robot đời sống ngày chúng em mạnh dạn chế tạo robot dò đường dạng robot Robot dị đường loại robot có cấu tạo loại xe tự động nhận dạng chạy theo đường có sẵn tự t nh tốn đường để tới đ ch mà khơng cần người điều khiển nhờ chương trình nạp sẵn người lập trình viết nên Robot chúng em dị theo vạch đường vạch đen trắng Hình 1.1 Sân chạy robot Trong đó, đường thẳng đen vạch robot dò đường Còn phần sân màu trắng đối lập với vạch đen nhằm để robot không bị nhiễu dị đường Sở dĩ cảm biến robot nhận dạng phát vạch đen 1.2.2 Hoạt động Sản phẩm xe tự động có chức tự di chuyển đến điểm mong muốn sân Với chế độ 1,2 xe thực đa dạng việc di chuyển có nhiều hướng phát triển thêm sau Hình 1.2 Quang trở Khi có ánh sáng điện trở quang trở giảm ngược lại, điện trở thay đổi cỡ từ 5k (khi có ánh sáng) đến 100k (khơng có ánh sáng), ta sử dụng led phát làm nguồn sáng cho Khi gặp vạch trắng, ánh sáng phản xạ lên quang trở làm điện trở giảm xuống gặp đen ánh sáng khó phản xạ nên quang trở nhận ánh sáng nên trở tăng Từ dựa vào quang trở, robot phân biệt vạch trắng (dưới hỗ trợ opamp so sánh) Hình 1.3 Nguyên lý hoạt động quang trở Qua opam so sánh tín hiệu nhận được gửi mạch xử lý trung tâm, Arduino Uno R3 xử lý tính hiệu đưa điều khiển tùy vào người lập trình Hình 1.4 Cách bố trí cảm biến Dựa vào nững nhận biết vạch cảm biến mà từ xe rẽ trái, rẽ phải • Để rẽ trái: cảm biến 5,6 có tính hiệu cảm biến 5,6,7 có tính hiệu Khi r trái động trái chạy chậm lại động phải chạy nhanh Khi r trái ngã tư động phải quay thuận,động trái quay ngược • Để rẽ phải: cảm biến 3,4 có tính hiệu cảm biến 2,3,4 có tính hiệu Khi r phải động phải chạy chậm, động trái chạy nhanh Khi r phải ngã tư động trái quay thuận, động phải quay ngược • Để chạy thẳng: hai cảm biến 4,5 có tính hiệu Hai động trái phải chạy tốc độ • Nhận biết số ngã tư cảm biến đồng thời có tính hiệu 1.3 Ứng dụng robot dị đường Ứng dụng sống ngày: chế tạo máy hút bụi tự động từ robot mini gắn máy hút bụi nhỏ trên, robot tự động di chuyển nhà đồng thời máy hút bụi hoạt động làm bụi bẩn mặt sàn nhà - Ứng dụng công nghiệp: chế tạo robot vận chuyển hàng hóa tuyến đường cố định, dựa vào khả di chuyển theo vạch robot ta vạch đường từ xưởng sản xuất A sang xưởng sản xuất B từ robot co thể chở hàng hóa theo đường vật từ xưởng sản xuất A sang xưởng sản xuất B ngược lại Ứng dụng quân sự: chế tạo robot dị mìn, khoa học phát triển nhiều robot có khả di chuyển dựa vào việc xử lý ảnh robot chụp lại, từ robot tìm đường phát mìn,vật cần tìm… Hình 4.2 Băng keo dùng làm đường line Hình 4.3 Sân sau chế tạo 4.4 Kết thực nghiệm mơ hình robot Việc thiết kế chế tạo robot dò đường sử dụng thuật tốn PID hồn thiện vào sử dụng Robot tự động nhận biết đường line để chạy với khả hoạt động xác cao 33 Hình 4.5 Hồn thiện robot dị đường Phần áp dụng phương pháp PWM kết hợp với giải thuật PID, cịn gọi PWM vịng kín, vào việc thực nghiệm mơ hình robot thật Robot thiết kế chế tạo sử dụng dãy cặp cảm biến thu phát quang để dò đường, cặp cảm biến cách 25mm Vì, đường vạch đen k trắng có bề rộng 30mm 34 Hình 4.6 Cảm biến hồng ngoại 35 PHẦN KẾT LUẬN KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Rút kết luận Sau thời gian làm đề tài với hướng dẫn tận tình ThS Trần Thị Trà Vinh, đề tài em thực vấn đề sau: - Tổng quan robot dị đường - Thuật tốn PID sử dụng robot dò đường - Thiết kế chế tạo robot dò đường sử dụng thuật toán PID - Cơ cấu truyền động, bánh xe áp dụng cho Robot dò line tránh vật cản - Chế tạo mơ hình xe theo kích thước thực với linh kiện - Thực kết nối trao đổi liệu thiết - Tìm hiểu linh kiện cách thiết kế làm mạch thủ cơng - Đi sâu tìm hiểu số thuật toán điều khiển - Đề tài phổ biến có ứng dụng cao vào đời sống thực tiễn - Ứng dụng cơng nghệ dị line tránh vật cản vào hệ thống khác - Thiết kế mạch điều khiển trung tâm, mạch công suất điều khiển động ◎ Ưu điểm - Mạch nhỏ gọn, linh kiện rẻ - Mạch hoạt động tốt, khơng gặp vấn đề q trình chạy Bộ điều khiển hoạt động với yêu cầu đặt ra, đạt giá trị tiệm cận với giá trị đặt (setpoint) ◎ Khuyết điểm - Mạch cịn thơ sơ, dễ bị hư hỏng - Bám line chưa ổn định Hướng phát triển - Tiếp tục nghiên cứu xe dò line tránh vật cản cách ổn định xác - Cải tiến xa nhanh hơn, sừ dung động có Encoder - Xây dựng thuật tốn hồn chỉnh 36 Đồ án tốt nghiệp thực cố gắng nỗ lực thân bảo tận tình giáo viên hướng dẫn, nhiên thiếu sót khiếm khuyết tránh khỏi Em mong nhận ý kiến đóng góp thầy giáo hội đồng toàn thể bạn để đồ án em hồn thiện Việc thiết kế robot dị đường sử dụng thuật tốn PID hồn thành vào hoạt động, tự dò vạch chưa phát huy hết t nh Trong q trình làm đồ án em có tìm hiểu thêm chức quét mã vạch sản phẩm điều kiện chưa cho phép nên em chưa thể áp dụng vào đồ án Nếu có điều kiện em tiếp tục phát triển hệ thống đáp ứng nhu cầu ngày cao người Em hy vọng ứng dụng robot dị đường ứng dụng đời sống hàng ngày khơng đơn mơ hình 37 TÀI LIỆU THAM KHẢO [1] Tran Quoc Cuong, Tran Thanh Phong, (May 2012), Speed Control of Dc Motor By PWM Method Using Microcontroller Faculty of Industrial Engineering, Tien Giang University, ISSN: 1859 4530 [2] WAN ROBAAH BINTI W AHMAD, (November 2008), A DC Motor Controller Using PID Algorithm Implementation on PIC, Faculty of Electrical & Electronics Engineering, University Malaysia Pahang [3] http://efa.tnut.edu.vn/Article/Download/242 [4] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan1 [5] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan2 [6] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan3 [7] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan4 PHỤ LỤC #include float Kp = 40, Ki = ,Kd = 170; float error = 0, P = 0, I = 0, D = 0, PID_value = 0; float previous_error = 0; int sensor[5] = {0,0,0,0,0}; int gia_tri_ban_dau = 150; int PID_phai, PID_trai; int stop_distance = 20;// Khoảng cách phát vật cản //Kết nối SRF 05 OR 04 const int trigPin = 11; // kết nối chân trig với chân 11 arduino const int echoPin = 12; // kết nối chân echo với chân 12 arduino long duration; // int distance; // biến khoảng cách int mode; int bluetoothTx = 8; // định nghĩa chân chân truyền tín hiệu int bluetoothRx = 13;// định nghĩa chân chân nhận tín hiệu SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); //định nghĩa chân motor trái #define ENA 38 #define In1 #define In2 //định nghĩa chân motor phai #define ENB 10 #define In3 #define In4 char blue;// vùng nhớ để so sánh kí tự trả từ app int spd; // giá trị băm xung( tay ga) void setup() { bluetooth.begin(115200); bluetooth.print("$$$"); delay(100); bluetooth.println("U,9600,N"); bluetooth.begin(9600); Serial.begin(9600); / định nghĩa chân tín hiệu in & out pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(In1, OUTPUT); pinMode(In2, OUTPUT); pinMode(In3, OUTPUT); pinMode(In4, OUTPUT); pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT); } void motor_left(int spd, byte dir) { if (dir == 0) // motor trái quay tới { digitalWrite(In2, LOW); digitalWrite(In1, HIGH); } else if (dir == 1) // motor trái quay lùi 39 { digitalWrite(In2, HIGH); digitalWrite(In1, LOW); } else if (dir == 2)// motor trái đứng yên { digitalWrite(In2, LOW); digitalWrite(In1,LOW); } analogWrite(ENA, spd );// băm xung cho motor trái } // dieu khien motor phai void motor_right(int spd, byte dir) { if (dir == 0) // motor phải quay tới { digitalWrite(In3, LOW); digitalWrite(In4, HIGH); } else if (dir == 1)//motor phải quay lùi { digitalWrite(In3, HIGH); digitalWrite(In4, LOW); } else if (dir ==2)//motor phải dứng lùi { digitalWrite(In3, LOW); digitalWrite(In4, LOW); } analogWrite(ENB, spd ); } void forw () // chay { motor_right(spd , 0); motor_left( spd , 0); } 40 void back () // chay lui { motor_right(spd , 1); motor_left( spd , 1); } void right () // quay trai { motor_right(spd , 2); motor_left( spd , 0); } void left () // quai phai { motor_left( spd , 2); motor_right( spd , 0); } void tack()// dung { motor_left( spd , 2); motor_right( spd , 2); } void leftforw () // quai phai cham { motor_left( spd-20 , 0); motor_right( spd , 0); } void rightforw () // quai phai nhanh { motor_left( spd , 0); motor_right( spd-20 , 0); } void rightback () // quai phai nhanh { motor_left( spd , 1); motor_right( spd-20 , 1); 41 } void leftback () // quai phai nhanh { motor_left( spd-20 , 1); motor_right( spd , 1); } void robot_android() { if ( bluetooth.available() ) { blue =bluetooth.read(); } switch (blue ){ case('0'): spd = 70; case('1'): spd = 80; break; case('2'): spd = 100; break; case('3'): spd = 110; break; case('4'): spd = 127; break; case('5'): spd = 140; break; case('6'): spd = 160; break; case('7'): spd = 200; 42 break; case('8'): spd = 230; break; case('9'): spd = 255; break; case ('S'): tack(); break; case ('F'): forw(); break; case ('B'): back(); break; case ('L'): left(); break; case ('R'): right(); break; case ('H'): leftback(); break; case ('J'): rightback(); break; case ('I'): rightforw(); break; case ('G'): leftforw(); break; } } void loop() { 43 if (bluetooth.available()) { blue = bluetooth.read(); } if(blue == 'I') { mode = 1; Serial.println(" che do line"); } while (mode == 1) { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance= duration*0.034/2; Serial.print("Distance: "); Serial.println(distance); if(distance < stop_distance) // khoảng cách nhỏ giới hạn { digitalWrite (In1,HIGH); digitalWrite(In2,LOW); digitalWrite (In3,LOW); digitalWrite(In4,LOW); analogWrite (ENB, 170); analogWrite (ENA, 170); delay(400); digitalWrite (In1,HIGH); digitalWrite(In2,LOW); digitalWrite (In3,LOW); digitalWrite(In4,HIGH); analogWrite (ENB, 160); analogWrite (ENA, 160); delay(600); digitalWrite (In1,LOW); digitalWrite(In2,LOW); 44 digitalWrite (In3,LOW); digitalWrite(In4,HIGH); analogWrite (ENB, 160); analogWrite (ENA, 160); delay(800); digitalWrite (In1,HIGH); digitalWrite(In2,LOW); digitalWrite (In3,LOW); digitalWrite(In4,HIGH); analogWrite (ENB, 160); analogWrite (ENA, 160); delay(400); } else { read_sensor_values(); calculate_pid(); motor_control(); if (bluetooth.available()) { blue = bluetooth.read(); } if(blue == 'G') { mode = 2; Serial.println(" che blue"); } }} while(mode == 2) { robot_android(); if (bluetooth.available()) { blue = bluetooth.read(); } if(blue == 'I') { 45 mode = 1; Serial.println(" che do line"); } }} void read_sensor_values() { sensor[0]=digitalRead(A0); sensor[1]=digitalRead(A1); sensor[2]=digitalRead(A2); sensor[3]=digitalRead(A3); sensor[4]=digitalRead(A4); if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==1)&&(sensor[4]==1) ) error=5; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==0)&&(sensor[4]==1) ) error=4; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==1)&&(sensor[4]==1) ) error=3; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==1)&&(sensor[4]==0) ) error=2; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==1)&&(sensor[4]==0) ) error=1; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==0)&&(sensor[4]==0) ) error=0; else if((sensor[0]==0)&&(sensor[1]==1)&&(sensor[2]==1)&&(sensor[3]==0)&&(sensor[4]==0) ) error=-1; 46 else if((sensor[0]==0)&&(sensor[1]==1)&&(sensor[2]==0)&&(sensor[3]==0)&&(sensor[4]==0) ) error=-2; else if((sensor[0]==1)&&(sensor[1]==1)&&(sensor[2]==0)&&(sensor[3]==0)&&(sensor[4]==0) ) error=-3; else if((sensor[0]==1)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==0)&&(sensor[4]==0) ) error=-4; else if((sensor[0]==1)&&(sensor[1]==1)&&(sensor[2]==1)&&(sensor[3]==0)&&(sensor[4]==0) ) error=-5; } void calculate_pid() { P = error; I = I + error;// sai so trc cong sai so hien tai D = error - previous_error;//sai so hien tai tru sai so trc previous_error = error; PID_value = (Kp*P) + (Ki*I) + (Kd*D); } void motor_control() { digitalWrite(In1,HIGH); digitalWrite(In2,LOW); digitalWrite(In3,LOW); digitalWrite(In4,HIGH); PID_phai = gia_tri_ban_dau - PID_value; PID_trai = gia_tri_ban_dau + PID_value; PID_phai = constrain(gia_tri_ban_dau PID_value,0,160); PID_trai = constrain(gia_tri_ban_dau + PID_value,0,160); analogWrite(ENB,PID_phai); analogWrite(ENA,PID_trai); } 47 ... thời gian làm đề tài với hướng dẫn tận tình ThS Trần Thị Trà Vinh, đề tài em thực vấn đề sau: - Tổng quan robot dò đường - Thuật tốn PID sử dụng robot dị đường - Thiết kế chế tạo robot dò đường... - Thực đề tài: “XE MÔ HÌNH DỊ LINE VÀ TRÁNH VẬT CẢN KẾT HỢP ĐIỀU KHIỂN BẰNG BLUETOOTH” giúp người thực nắm lý thuyết đo lường điều khiển, hiểu nguyên lý điều khiển, tập lệnh - Sản phẩm đề tài. .. ta muốn robot hướng đến Vị trí thực Vmo(t): vị trí thực robot, lệch bên trái lệch bên phải so với đường robot Lỗi e(t): độ sai lệch vị trí mục tiêu vị trí thực robot, 28 giá trị âm dương 0, tính

Ngày đăng: 25/10/2022, 15:43

w