Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid Thiết kế và thi công robot dò đường sử dụng thuật toán pid
Thiết kế thi cơng robot dị đường sử dụng thuật toán PID MỤC LỤC MỤC LỤC - DANH MỤC CÁC BẢNG - DANH MỤC CÁC HÌNH - PHẦN MỞ ĐẦU - CHƢƠNG 1: TỔNG QUAN ROBOT DÒ ĐƢỜNG - 1.1 Tổng quan ứng dụng vi điều khiển - 1.2 Giới thiệu robot dò đường - 1.2.1 Giới thiệu - 1.2.2 Hoạ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 - 10 2.1 Yêu cầu đề tài - 10 2.2 Giải pháp thiết kế - 10 2.2.1 Sơ đồ khối - 10 2.2.2 Phân tích chức khối - 10 2.2.3 Nguyên lý hoạt động hệ thống - 11 2.3 Lựa chọn linh kiện - 13 2.3.1 Khối điều khiển - 13 2.3.2 Module điều khiển động L293D - 18 2.3.3 Module cảm biến hông ngoại TCRT5000 - 20 2.3.4 Động giảm tốc DC - 21 2.3.5 LED (Light Emitting Diode) - 21 2.3.6 Nguồn Adapter 12V2A - 22 CHƢƠNG III: PHÂN TÍCH THUẬT TỐN PID VÀ ỨNG DỤNG TRONG ROBOT DÒ ĐƢỜNG - 23 3.1 Giới thiệu - 23 3.2 Định nghĩa thuật toán PID - 23 3.3 Phƣơng pháp điều chế độ rộng xung (PWM) - 24 3.4 Giải thuật điều khiển vi tích phân tỉ lệ (PID) - 25 3.5 Ứng dụng giải thuật robot dò đƣờng - 26 3.5.1 Mô hình PID áp dụng cho robot dị đường - 26 3.5.2 Giải thuật PID - 27 SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi công robot dị đường sử dụng thuật tốn PID 3.5.3 Hiệu chỉnh thuật toán PID - 28 3.6 Giới thiệu phần mềm Arduino IDE - 29 3.6.1 Giao diện - 29 3.6.2 Vùng lệnh - 29 3.6.3 Vùng thông báo (debug) - 30 3.6.4 Một số lưu ý - 30 CHƢƠNG VI: THIẾT KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƢỜNG - 31 4.1 Thiết kế đƣờng cho robot - 31 4.2 Chế tạo hoàn thành sân cho robot - 31 4.2.1 Tấm Formex - 31 4.2.2 Hệ thống đường line cho robot - 32 4.3 Hoàn thành Robot dò đƣờng - 33 4.4 Kết thực nghiệm mơ hình robot - 33 PHẦN KẾT LUẬN TÀI LIỆU THAM KHẢO PHỤ LỤC NHẬN XÉT CỦA CÁN BỘ HƢỚNG DẪN SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi cơng robot dị đường sử dụng thuật toán PID DANH MỤC CÁC BẢNG Bảng Đặc điểm kỹ thuật Arduino Uno R3 - 15 - SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi công robot dị đường sử dụng thuật tốn PID DANH MỤC CÁC 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 - 10 Hình 2.2 Mạch cảm biến LED - quang trở - 12 Hình 2.3 Mạch điều khiển motor sử dụng L298 - 13 Hình 2.4 Arduino UNO R3 - 15 Hình 2.5 Vi xử lý ATmega328 - 17 Hình 2.6 Sơ đồ chân ATmega328 - 17 Hình 2.7 Module L293D - 18 Hình 2.8 Chân kết nối RC522 - 20 Hình 2.9 Động DC giảm tốc - 21 Hình 2.10 LED - 22 Hình 2.11 Nguồn adapter 12v2A - 22 Hình 3.1 Giản đồ thời gian xung PWM - 24 Hình 3.2 Sơ đồ khối giải thuật PID - 25 Hình 3.3 Sơ đồ khối ứng dụng giải thuật PID vào robot dò đường - 27 Hình 3.4 Giao diện phần mềm Arduino IDE - 29 Hình 3.5 Các nút lệnh Arduino IDE - 29 Hình 3.6 Vùng thơng báo Arduino IDE - 30 Hình 3.7 Chọn cổng kết nối cho Arduino Uno R3 - 30 Hình 4.1 Mô đường phần nềm Paint 3D - 31 Hình 4.2 Tấm formex dùng làm cho robot - 32 Hình 4.3 Băng keo dùng làm đường line - 32 Hình 4.4 Sân sau chế tạo - 33 Hình 4.5 Hồn thiện robot dị đường - 33 Hình 4.6 Cảm biến hồng ngoại - 34 - SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi cơng robot dị đường sử dụng thuật toán PID 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 “Thiết kế thi cơng robot dị đường áp dụng thuật toán PID” để làm đồ án tốt nghiệp 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 hồn thành đồ án Em xin chân thành cảm ơn! SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID 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ể SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID 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 SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi công robot dị đường sử dụng thuật tốn PID 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 SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi cơng robot dị đường sử dụng thuật toán PID 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… SVTH: Trần Tuấn Anh – CCVT15A002 Trang - - Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID CHƢƠNG II: THIẾT KẾ VÀ TÌM HIỂU LINH KIỆN CỦA HỆ THỐNG 2.1 Yêu cầu đề tài Sử dụng thuật toán PID áp dụng vào khối điều khiển Arduino UNO R3 thơng qua cảm biến dị đường để xuất tín hiệu cho Module L298 điều khiển bánh xe vạch 2.2 Giải pháp thiết kế 2.2.1 Sơ đồ khối Để thực thiết kế chế tạo robot dị đường sử dụng thuật tốn PID em đưa sơ đồ thiết kế sau: Hình 2.1 Sơ đồ khối robot dị đường 2.2.2 Phân tích chức khối - Khối cấp nguồn: Khối cấp nguồn 5VDC có chức cấp nguồn 5V cho khối hoạt động Khối cấp nguồn 12VDC có chức cấp nguồn 12V cho khối điều khiển động hoạt động SVTH: Trần Tuấn Anh – CCVT15A002 Trang - 10 - Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID 3.6.3 Vùng thơng báo (debug) Hình 3.6 Vùng thơng báo Arduino IDE Những thông báo từ IDE hiển thị Để ý góc bên phải hiển thị loại board Arduino cổng COM sử dụng Luôn ý tới mục chọn sai loại board cổng COM, bạn upload code Chúng ta tìm thấy vài hướng dẫn khắc phục lỗi thường gặp lập trình Arduino Lỗi Arduino? Và lỗi thường gặp lập trình Arduino 3.6.4 Một số lưu ý Khi lập trình, cần chọn port (cổng kết nối gắn board vào) board (tên board mà bạn sử dụng) Giả sử, dùng mạch Arduino Uno, gắn board vào máy tính cáp USB nhận COM4 bạn chỉnh lập trình Hình 3.7 Chọn cổng kết nối cho Arduino Uno R3 SVTH: Trần Tuấn Anh – CCVT15A002 Trang - 30 - Thiết kế thi cơng robot dị đường sử dụng thuật toán PID CHƢƠNG VI: THIẾT KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƢỜNG 4.1 Thiết kế đƣờng cho robot Từ ý tưởng có sẵn sử dụng phần nềm Panit 3D để mô đường giúp cho việc chế tạo đường robot dò đường dễ dàng Hình 4.1 Mơ đường phần nềm Paint 3D 4.2 Chế tạo hoàn thành sân cho robot 4.2.1 Tấm Formex Tấm formex ( hay gọi TẤM PVC FOAM, TẤM FORMEX, TẤM FORM, TẤM FORMAT) thay vật liệu gỗ trình thi cơng số ứng dụng quảng cáo, trang trí, sản phẩm có đặc tính nhẹ in ấn, in pp bồi, bế, cắt tạo hình,chạm khắc lên cách dễ dàng đồng thời uốn d o Sử dụng formex để làm cho robot dò đường SVTH: Trần Tuấn Anh – CCVT15A002 Trang - 31 - Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID Hình 4.2 Tấm formex dùng làm cho robot 4.2.2 Hệ thống đường line cho robot Sử dụng băng keo cách nhiệt để làm đường line cho robot độ bám dính tốt, đàn hồi băng keo tốt, k ch thước phù hợp với k ch thước để làm đường line cho robot Hình 4.3 Băng keo dùng làm đường line SVTH: Trần Tuấn Anh – CCVT15A002 Trang - 32 - Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID 4.3 Hồn thành Robot dị đƣờng Hình 4.4 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 hoà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 Hình 4.5 Hồn thiện robot dò đường SVTH: Trần Tuấn Anh – CCVT15A002 Trang - 33 - Thiết kế thi cơng robot dị đường sử dụng thuật toán PID 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 Hình 4.6 Cảm biến hồng ngoại SVTH: Trần Tuấn Anh – CCVT15A002 Trang - 34 - Thiết kế thi cơng robot dị đường sử dụng thuật toán PID PHẦN KẾT LUẬN KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂ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 tốn PID Đồ á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 tồn thể bạn để đồ án em hoàn thiện Việc thiết kế robot dị đường sử dụng thuật tốn PID hoàn thành vào hoạt động, tự dò vạch chưa phát huy hết t nh Trong trình làm đồ án em có tìm hiểu thêm chức qt 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 SVTH: Trần Tuấn Anh – CCVT15A002 Trang - 35 - Thiết kế thi công robot dị đường sử dụng thuật tốn PID 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/bai-viet/1130-bo-dieu-khien-pid-gioi-thieu-thuat-toanphan-1 [5] http://arduino.vn/bai-viet/1130-bo-dieu-khien-pid-gioi-thieu-thuat-toanphan-2 [6] http://arduino.vn/bai-viet/1130-bo-dieu-khien-pid-gioi-thieu-thuat-toanphan-3 [7] http://arduino.vn/bai-viet/1130-bo-dieu-khien-pid-gioi-thieu-thuat-toanphan-4 SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi công robot dị đường sử dụng thuật tốn PID PHỤ LỤC #include #include AF_DCMotor motor1(3); AF_DCMotor motor2(4); //float Kp=17,Ki=0,Kd=13; double error=0,PID_value,Setpoint; float previous_error=0, previous_I=0; int sensor[5]={0, 0, 0, 0, 0}; //int initial_motor_speed=100; float lech=0; void read_sensor_values(void); void calculate_pid(void); void motor_control(void); double Input, Output; int initial_motor_speed,dem; double Kp=27,Ki=0, Kd=7; PID myPID(&error,&PID_value,&Setpoint, Kp, Ki, Kd, DIRECT); void setup() { pinMode(A0,INPUT); //PWM Pin pinMode(A1,INPUT); //PWM Pin pinMode(A2,INPUT); //Left Motor Pin pinMode(A3,INPUT); //Left Motor Pin pinMode(A4,INPUT); //Right Motor Pin SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID Serial.begin(9600); // set up Serial library at 9600 bps Serial.println("Motor test!"); // turn on motor Setpoint=5; motor1.setSpeed(255); motor1.run(RELEASE); motor2.setSpeed(255); motor2.run(RELEASE); myPID.SetMode(AUTOMATIC); initial_motor_speed = 120; } void loop() { read_sensor_values(); calculate_pid(); motor_control(); // Serial.println(PID_value); // Serial.println(lech); } void read_sensor_values() { SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi công robot dị đường sử dụng thuật tốn PID sensor[0]=digitalRead(A0); //sensor[0]=0; sensor[1]=digitalRead(A1); sensor[2]=digitalRead(A2); sensor[3]=digitalRead(A3); sensor[4]=digitalRead(A4); //sensor[4]=0; if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==0)&&(se nsor[4]==1)) { lech=1; error=1; } else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==1)&&(se nsor[4]==1)) { lech=1; error=2; } else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==1)&&(se nsor[4]==0)) { SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID lech=1; error=3; } else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==1)&&(se nsor[4]==0)) { lech=1; error=3,5; } else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==0)&&(se nsor[4]==0)) { error=5; } else if((sensor[0]==0)&&(sensor[1]==1)&&(sensor[2]==1)&&(sensor[3]==0)&&(se nsor[4]==0)) { lech=2; error=3,5; } else if((sensor[0]==0)&&(sensor[1]==1)&&(sensor[2]==0)&&(sensor[3]==0)&&(se nsor[4]==0)) { lech=2; SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi công robot dị đường sử dụng thuật tốn PID error=3; } else if((sensor[0]==1)&&(sensor[1]==1)&&(sensor[2]==0)&&(sensor[3]==0)&&(se nsor[4]==0)) { lech=2; error=2; } else if((sensor[0]==1)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==0)&&(se nsor[4]==0)) { lech=2; error=1; } else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==0)&&(se nsor[4]==0)) { //dem++; error=0; } } void calculate_pid() { SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi cơng robot dị đường sử dụng thuật toán PID myPID.Compute(); } void motor_control() { // Calculating the effective motor speed: int left_motor_speed = initial_motor_speed-PID_value; int right_motor_speed = initial_motor_speed+PID_value; if(left_motor_speed255)right_motor_speed=255; // Serial.println(left_motor_speed); // printf // The motor speed should not exceed the max PWM value Serial.println(dem); // Serial.println(left_motor_speed); // printf // The motor speed should not exceed the max PWM valuez if(lech==1){ motor1.setSpeed(left_motor_speed); //Left Motor Speed motor2.setSpeed(right_motor_speed); //Right Motor Speed } else if(lech==2) SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi cơng robot dị đường sử dụng thuật tốn PID { motor2.setSpeed(left_motor_speed); //Left Motor Speed motor1.setSpeed(right_motor_speed); //Right Motor Speed } //following lines of code are to make the bot move forward /*The pin numbers and high, low values might be different depending on your connections */ motor1.run(FORWARD); motor2.run(FORWARD); } SVTH: Trần Tuấn Anh – CCVT15A002 Thiết kế thi công robot dị đường sử dụng thuật tốn PID NHẬN XÉT CỦA CÁN BỘ HƢỚNG DẪN ……………………………………………………………….………………………… …… ……………………………………………………………….…………………… ………… ……………………………………………………………….……………… ……………… ……………………………………………………………….………… …………………… ……………………………………………………………….…… ………………………… ……………………………………………………………… ……………………………… ………………………………………………………… …….……………………………… …………………………………………………… ………….……………………………… ……………………………………………… ……………….……………………………… ………………………………………… …………………….……………………………… …………………………………… ………………………….……………………………… ……………………………… ……………………………….……………………………… Đà Nẵng, ngày tháng năm 2018 NGƢỜI HƢỚNG DẪN ThS Trần Thị Trà Vinh SVTH: Trần Tuấn Anh – CCVT15A002 ... - Thi? ??t kế thi công robot dị đường sử dụng thuật tốn PID CHƢƠNG III: PHÂN TÍCH THUẬT TỐN PID VÀ ỨNG DỤNG TRONG ROBOT DỊ ĐƢỜNG 3.1 Giới thi? ??u Thuật tốn dị đường thường sử dụng thi? ??t kế robot dò. .. 30 - Thi? ??t kế thi cơng robot dị đường sử dụng thuật toán PID CHƢƠNG VI: THI? ??T KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƢỜNG 4.1 Thi? ??t kế đƣờng cho robot Từ ý tưởng có sẵn sử dụng phần nềm Panit 3D để mô đường. .. cơng robot dị đường sử dụng thuật tốn PID Hình 3.3 Sơ đồ khối ứng dụng giải thuật PID vào robot dò đường Trước đề cập ứng dụng giải thuật PID vào robot dò đường, tác giả đưa định nghĩa thuật ngữ