(Đồ án hcmute) thiết kế bộ điều khiển vị trí động cơ dc servo giao tiếp hmi

83 35 0
(Đồ án hcmute) thiết kế bộ điều khiển vị trí động cơ dc servo   giao tiếp hmi

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CƠ KHÍ CHẾ TẠO MÁY ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC SERVO - GIAO TIẾP HMI (PHỤC VỤ VHO GIẢNG DẠY) GVHD: ThS DƯƠNG THẾ PHONG SVTH: HUỲNH VIỆT LUÂN MSSV: 11146064 SVTH: PHẠM VIỆT TRÌNH MSSV: 11146126 SKL 0 6 Tp Hồ Chí Minh, tháng 1/2016 an TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA CƠ KHÍ CHẾ TẠO MÁY ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC SERVO - GIAO TIẾP HMI (phục vụ cho giảng dạy) SVTH : HUỲNH VIỆT LUÂN MSSV : 11146064 SVTH : PHẠM VIỆT TRÌNH MSSV : 11146126 GVHD: Ths DƢƠNG THẾ PHONG Tp Hồ Chí Minh, tháng năm 2016 i an CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, ngày - tháng - năm 2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: HUỲNH VIỆT LUÂN PHẠM VIỆT TRÌNH MSSV: 11146064 MSSV: 11146126 Ngành: Công nghệ kỹ thuật Cơ Điện Tử Lớp: 111462 Giảng viên hƣớng dẫn: DƢƠNG THẾ PHONG ĐT: 0942558992 Ng y nhận ề tài: Ngày nộp ề tài: Tên ề tài: THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC SERVO - GIAO TIẾP HMI( phục vụ cho giảng dạy) Các số liệu, tài liệu ban ầu: Tham khảo hệ thống, ề tài, mơ hình từ khóa trƣớc ể lại Nội dung thực ề t i:  Thiết kế, thi công panel iều khiển  Đọc, xử lí tín hiệu encoder arduino ể iều khiển ộng DC  Xây dựng giao diện HMI Sản phẩm: Mơ hình Panel iều khiển TRƢỞNG NGÀNH GIẢNG VIÊN HƢỚNG DẪN ii an CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Họ tên Sinh viên: HUỲNH VIỆT LUÂN MSSV: 11146064 PHẠM VIỆT TRÌNH MSSV: 11146126 Ngành: Cơng nghệ kỹ thuật Cơ Điện Tử Tên ề tài: THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC SERVO - GIAO TIẾP HMI( phục vụ cho giảng dạy) Họ v tên Giáo viên hƣớng dẫn: DƢƠNG THẾ PHONG NHẬN XÉT Về nội dung ề tài & khối lƣợng thực hiện: Ƣu iểm: Khuyết iểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) T.p Hồ Chí Minh ngày tháng năm 20… Giáo viên hướng dẫn (Ký & ghi rõ họ tên) iii an CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: HUỲNH VIỆT LUÂN MSSV: 11146064 MSSV: 11146126 PHẠM VIỆT TRÌNH Ngành: Công nghệ kỹ thuật Cơ Điện Tử Tên ề tài: THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC SERVO - GIAO TIẾP HMI( phục vụ cho giảng dạy) Họ tên Giáo viên phản biện: NGUYỄN MINH KHAI NHẬN XÉT Về nội dung ề tài & khối lƣợng thực hiện: Ƣu iểm: Khuyết iểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày iv an tháng năm 20… LỜI CẢM ƠN Lời ầu tiên xin chân thành cảm ơn ến quý Thầy, Cô trƣờng Đại Học Sƣ Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, ngƣời ã trực tiếp giảng dạy, truyền ạt kiến thức chuyên ngành bổ ích mà cịn kiến thức xã hội q báu Đó tảng bản, hành trang vô quý giá, l bƣớc ầu tiên cho bƣớc vào nghiệp sau n y tƣơng lai Cùng với ó l hỗ trợ ầy ủ sở vật chất nhƣ môi trƣờng nghiên cứu ã tạo iều kiện cho chúng tơi mở mang kiến thức có góc nhìn khoa học kỹ thuật Đề t i ƣợc hoàn thành nhờ hỗ trợ lớn từ giáo viên hƣớng dẫn Chúng xin gởi lời cám ơn chân th nh ến thầy Ths.Dƣơng Thế Phong, giảng viên Bộ môn Cơ iện tử, khoa Cơ khí chế tạo máy, trƣờng Đại Học Sƣ Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Ngƣời ã tận tình quan tâm, giúp ỡ thời gian qua, giải áp thắc mắc v hƣớng dẫn cho kiến thức lý thuyết nhƣ hỗ trợ thiết bị kỹ thuật, khuyến khích chúng tơi lúc gặp khó khăn q trình thực ề tài Đồng thời gửi lời cảm ơn tới tập thể kĩ thuật viên công ty Tự ộng hóa S5 ã tận tình giúp ỡ, hỗ trợ kiến thức chun mơn ể chúng tơi hồn thành ề t i Chúng xin bày tỏ lòng biết ơn sâu sắc ến ba mẹ ã bên cạnh, hỗ trợ, ộng viên, khuyến khích chúng ho n th nh ề tài Xin cảm ơn tất bạn bè, ngƣời ã ồng hành suốt quãng ƣờng ại học nhƣ suốt thời gian thực ề tài Tp Hồ Chí Minh, ng y tháng năm 2016 Ngƣời thực Huỳnh Việt Luân Phạm Việt Trình v an TĨM TẮT ĐỀ TÀI Hiện nay, với phát triển công nghệ kỹ thuật ời hàng loạt sản phẩm tự ộng hóa nhằm áp ứng nhu cầu ng y c ng tăng thị trƣờng Sản phẩm tự ộng hóa ngày cải tiến ể cải thiện hiệu lao ộng, thông qua hệ thống thông minh tiện lợi v tƣơng tác hiệu với ngƣời dùng Việc tạo thiết bị lúc sử dụng thiết bị iều khiển thông minh PLC, giám sát, giao tiếp ƣợc với ngƣời dùng thông qua HMI xử lý vận h nh cấu áp ứng b i tốn ƣợc quan tâm Ngồi việc tạo iều khiển thơng minh, việc thiết kế, lắp ặt ể thiết bị thành khối thống nhất, hồn chỉnh dễ sử dụng góp phần l m nên ƣu iểm cho sản phẩm cơng nghệ Vì vậy, thiết kế chế tạo Panel iều khiển thông minh giúp giải ƣợc vấn ế Trong phạm vi ề tài này, cung cấp sở lý thuyết cần có, ồng thời trình bày giải thuật v phƣơng án thiết kế thi công cho “Panel điều khiển động DC servo” Đồ án việc ứng dụng công tác giảng dạy nghiên cứu mơi trƣờng ại học, cịn ứng dụng ể iều khiển tốc ộ vị trí ộng công suất lớn công nghiệp vi an ABSTRACT Currently, along with the development of digital technology, a series of automatic products “have been born” to meet the needs of growing market They are increasingly innovated to improve labor efficiency through a system that is so convenient, intelligent and effectively interacts with users The creation of a device that can simultaneously use intelligent control equipment PLC, surveillance, even communicate with the users through the HMI processing and operational structure is such a concerned problem Besides creating an intelligent controller, designing and installing equipments to form them into a united, completed, and easy for using also contribute to advantages of technology products Therefore, designing and manufacturing a smart control panel will help solve this problem Within the scope of this topic, we will provide the required theoretical basis and also present the algorithms and design options for the construction of a "Panel DC servo motor control." This project is applied for not only teaching and researching in university environment but also for speed and position controlling of the larger industrial capacity engine vii an MỤC LỤC LỜI CẢM ƠN v TÓM TẮT ĐỀ TÀI vi ABSTRACT vii MỤC LỤC viii DANH MỤC CÁC TỪ VIẾT TẮT x DANH MỤC HÌNH ẢNH xi DANH MỤC BẢNG BIỂU xiii Chƣơng 1: TỔNG QUAN 1.1 Đặt vấn ề: 1.2 Lý chọn ề tài: 1.3 Mục tiêu ề tài: 1.4 Giới hạn ề tài: 1.5 Tình hình nghiên cứu: 1.6 Ý nghĩa thực tiễn: 1.7 Mô tả hệ thống: Chƣơng 2: CƠ SỞ LÝ THUYẾT 2.1 LÝ THUYẾT VỀ ĐỘNG CƠ: 2.1.1 Động bƣớc 2.1.2 Động servo 2.2 CÁC GIẢI THUẬT ĐIỀU KHIỂN VỊ TRÍ 14 2.2.1 Điều khiển ON/OFF: 14 2.2.2 Điều khiển mờ(fuzzy): 14 2.2.3 Bộ iều khiển PID: 16 Chƣơng 3: THIẾT KẾ - THI CÔNG PANEL ĐIỀU KHIỂN 25 3.1 Thiết kế Panel iều khiển: 25 3.2 Thi công – lắp ặt thiết bị kĩ thuật vào hệ thống: 25 3.2.1 Thông số thiết bị ƣợc sử dụng: 25 3.2.2 Thi công Panel iều khiển 31 Chƣơng 4: GIẢI THUẬT ĐIỀU KHIỂN - LẬP TRÌNH PHẦN MỀM 32 viii an 4.1 Hệ thống iều khiển: 32 4.1.1 Sơ khối iều khiển: 32 4.1.2 Chức khối: 32 4.1.3 Giải thuật iều khiển: 33 4.2 Lập trình phần mềm: 37 4.2.1 STEP 7-micro/WIN: 37 4.2.2 Touchwin Edit Tool: 40 4.2.3 Arduino Software (IDE): 40 Chƣơng 5: KẾT QUẢ THỰC NGHIỆM 43 5.1 Thực nghiệm chạy thử: 43 5.2 Kết quả: 46 5.3 Kết luận: 46 5.4 Hƣớng phát triển: 47 TÀI LIỆU THAM KHẢO 48 PHỤ LỤC 49 Phụ lục A: Chƣơng trình iều khiển STEP 7-micro/WIN 49 Phụ lục B: Thiết kế giao diện HMI Touchwin Edit Tool 51 Phụ lục C: Chƣơng trình cho VĐK Arduino Mega 2560 56 Phụ lục D: Bản thiết kế Panel iều khiển 62 Phụ lục E: Nguyên tắc hoạt ộng Encoder 67 ix an Hình B.7 Thiết lập nhập tốc ộ vị trí Hình B.8 Thiết lập Label 55 an Phụ lục C: Chƣơng trình cho VĐK Arduino Mega 2560 #include //// thu vien encoder #include /// timer int encA=18; /// chan dọc encoder int encB=22; int P_pwm=44; //chân PWM cua cau H tu ARDUINO int P_dir=45; //chân chieu cau_H nân tu ARDUINO int PP_pul=2; //chân chieu ARDUINO nhan tu PLC int PP_dir=16; //chân chieu ARDUINO nhan tu PLC long sp, p_err, err, p, i, d, pid; float kp = 0.2, ki = 0, kd = 0; int ktra=0, flag=0, flag2=0, cnt=0; float rec=0, point=1, num=1, am=1; Encoder knobLeft(encA, encB); // chuong trinh doc xung encoder void setup() { // put your setup code here, to run once: digitalWrite(encA,HIGH); //dien tro treo cho chan doc encoder digitalWrite(encB,HIGH); pinMode(P_pwm, OUTPUT); pinMode(P_dir, OUTPUT); Timer1.initialize(25000); //sample time 25ms Timer1.attachInterrupt(timerIsr); Serial.begin(9600); delay(500); 56 an Serial.println("OK~~~"); } void loop() { Serial.println(knobLeft.read(),DEC); } void serialEvent(){ if(Serial.available()>0){ char data=Serial.read(); switch(data){ case 'p':ktra=1;break; case 'i':ktra=2;break; case 'd':ktra=3;break; case 's':ktra=4;break; case '`': flag=1; break; case '~': flag=0; p=0;i=0;d=0;pid=0;err=0;p_err=0; analogWrite(P_pwm, 0); knobLeft.write(sp); break; case '-':am=-1;break; case '.':point=0.1;break; case 'z': rec*=(num*am); 57 an switch(ktra){ case 1:kp=rec;break; case 2:ki=rec;break; case 3:kd=rec;break; case 4:sp=(long)rec;break; } rec=0;ktra=0;am=1;num=1;point=1; break; default: num*=point; if(ktra)rec=rec*10+float(data-'0'); break; } } } void timerIsr() { if(!flag) { if(cnt>=40){ cnt=0; Serial.print(knobLeft.read(),DEC); Serial.print("\t"); Serial.print(sp,DEC); Serial.print("\t"); 58 an Serial.print(kp,4); Serial.print("\t"); Serial.print(ki,4); Serial.print("\t"); Serial.print(kd,4); Serial.print("\t"); Serial.print(pid,DEC); Serial.print("\t"); Serial.println(digitalRead(P_dir)); } cnt+=1; } else{ if(flag2==0){ flag2=1; analogWrite(P_pwm, calc_PID(knobLeft.read(), sp)); // if(cnt>=40){ // cnt=0; // Serial.print(err,DEC); // Serial.print("\t"); // Serial.print(knobLeft.read(),DEC); // Serial.print("\t"); // Serial.print(sp,DEC); // Serial.print("\t"); // Serial.print(p,DEC); // Serial.print("\t"); 59 an // Serial.print(i,DEC); // Serial.print("\t"); // Serial.print(d,DEC); // Serial.print("\t"); // Serial.print(pid,DEC); // Serial.print("\t"); // Serial.println(digitalRead(P_dir)); // } // cnt+=1; flag2=0; } } } int calc_PID(long p_val,long sp){ err=sp-p_val; p = (long)((float)err * kp); if(p>=255)p=255; if(p=255)i=255; if(i=255)d=255; if(d=0){digitalWrite(P_dir,LOW);} else {digitalWrite(P_dir,HIGH);} if(pid>=240){pid=240;} if(pid0?pid:pid*(-1); return (int)pid; } 61 an Phụ lục D: Bản thiết kế Panel điều khiển Bản vẽ tổng quát 62 an Bản vẽ sơ nguyên lý mạch iện 63 an Bản vẽ PLC S7-200 CPU-222 64 an Bản vẽ mạch cầu H 65 an Bản vẽ DC Servo 66 an Phụ lục E: Nguyên tắc hoạt động Encoder Hệ thống optical encoder bao gồm nguồn phát quang (thƣờng hồng ngoại – infrared), cảm biến quang ĩa có chia rãnh Optical encoder lại ƣợc chia thành loại: encoder tuyệt ối (absolute optical encoder) v encoder tƣơng ối (incremental optical encoder) Trong a số DC Motor, incremental optical encoder ƣợc dùng v mơ hình ộng servo án n y chúng tơi sử dụng encoder tƣơng ối Hình E 0.1 Optical Encoder Encoder thƣờng có kênh (3 ngõ ra) bao gồm kênh A, kênh B kênh I (Index) Trong hình bạn thấy ý lỗ nhỏ bên phía ĩa quay v cặp phát thu dành riêng cho lỗ nhỏ n y Đó l kênh I encoder Cữ lần motor quay ƣợc vòng, lỗ nhỏ xuất vị trí cặp phát thu, hồng ngoại từ nguồn phát xuyên qua lỗ nhỏ ến cảm biến quang, tín hiệu xuất cảm biến Nhƣ kênh I xuất “xung” vòng quay motor Bên ngo i ĩa quay ƣợc chia thành rãnh nhỏ cặp thu phát khác dành cho rãnh Đây kênh A encoder, hoạt ộng kênh A tƣơng tự kênh I, iểm khác vịng quay motor, có N “xung” xuất kênh A N số rãnh ĩa v ƣợc gọi l ộ phân giải (resolution) encoder Mỗi loại encoder có ộ phân giải khác nhau, có ĩa chĩ có v i rãnh nhƣng có trƣờng hợp ến h ng nghìn rãnh ƣợc chia Để iều khiển ộng cơ, bạn phải biết ộ phân giải encoder ang dùng Độ phân giải ảnh hƣởng ến ộ xác iều khiển phƣơng pháp iều khiển Khơng ƣợc vẽ hình 2, nhiên encoder cịn có cặp thu phát khác ƣợc ặt ƣờng tròn với kênh A nhƣng lệch chút (lệch M+0,5 rãnh), ây l kênh B encoder Tín hiệu xung từ kênh B có tần số với kênh A nhƣng lệch pha 90o Bằng cách phối hợp kênh A v B ngƣời ọc biết chiều quay ộng 67 an Hình E 0.2 Hai kênh A B lệch pha encoder Hình thể trí cảm biến kênh A B lệch pha Khi cảm biến A bắt ầu bị che cảm biến B hồn tồn nhận ƣợc hồng ngoại xuyên qua, v ngƣợc lại Hình thấp dạng xung ngõ kênh Xét trƣờng hợp motor quay chiều kim ồng hồ, tín hiệu “ i” từ trái sang phải Bạn quan sát lúc tín hiệu A chuyển từ mức cao xuống thấp (cạnh xuống) kênh B ang mức thấp Ngƣợc lại, ộng quay ngƣợc chiều kim ồng hồ, tín hiệu “ i” từ phải qua trái Lúc này, cạnh xuống kênh A kênh B ang mức cao Nhƣ vậy, cách phối hợp kênh A B khơng xác ịnh ƣợc góc quay (thơng qua số xung) mà cịn biết ƣợc chiều quay ộng (thông qua mức kênh B cạnh xuống kênh A) 68 an S an K L 0 ... iều khiển  Tìm thơng số PID  Thiết kế giao diện iều khiển HMI 1.4 Giới hạn đề tài: Trong thực tế sản xuất, “THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ DC SERVO? ?? nói riêng v lĩnh vực thiết kế, thi cơng... 11146064 MSSV: 11146126 PHẠM VIỆT TRÌNH Ngành: Cơng nghệ kỹ thuật Cơ Điện Tử Tên ề tài: THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC SERVO - GIAO TIẾP HMI( phục vụ cho giảng dạy) Họ tên Giáo viên phản... vậy, thiết kế ƣợc iều khiển ộng giúp ích cho việc nghiên cứu, dạy học cho giảng viên lẫn sinh viên trình giảng dạy Vì nhóm ịnh chọ ề t i: “THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC SERVO – GIAO TIẾP

Ngày đăng: 02/02/2023, 09:24

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

Tài liệu liên quan