Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 116 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
116
Dung lượng
7,2 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG THIẾT KẾ MƠ HÌNH KIỂM ĐẾM TRÊN DÂY CHUYỀN GVHD: TRƯƠNG NGỌC ANH SVTH : PHAN THANH HOÀNG DUY MSSV: 13141042 SVTH : LÊ ĐỨC THUẬN MSSV: 13141349 SKL 0 Tp Hồ Chí Minh, tháng 08/2017 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ MÔ HÌNH KIỂM ĐẾM TRÊN DÂY CHUYỀN GVHD: ThS Trương Ngọc Anh SVTH 1: Phan Thanh Hoàng Duy MSSV: 13141042 SVTH 2: Lê Đức Thuận MSSV: 13141349 Tp Hồ Chí Minh – 08/2017 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: THIẾT KẾ MƠ HÌNH KIỂM ĐẾM TRÊN DÂY CHUYỀN GVHD: ThS Trương Ngọc Anh SVTH 1: Phan Thanh Hoàng Duy MSSV: 13141042 SVTH 2: Lê Đức Thuận MSSV: 13141349 Tp Hồ Chí Minh – 08/2017 an TRƯỜNG ĐẠI HỌC SPKT TPHCM Khoa Điện - Điện Tử Bộ Môn Điện Tử Công Nghiệp – Y Sinh 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 08 năm 2017 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Phan Thanh Hồng Duy Lê Đức Thuận Điện Tử Cơng Nghiệp Đại học quy 2013 MSSV: 13141042 MSSV: 13141349 Mã ngành: 13141 Mã hệ: Lớp: 13141DT3 I TÊN ĐỀ TÀI: THIẾT KẾ MƠ HÌNH KIỂM ĐẾM TRÊN DÂY CHUYỀN II NHIỆM VỤ Các số liệu ban đầu: - Tham khảo hệ thống đếm công ty Vietcontrol Solutions JSC công ty cổ phần giải pháp kỹ thuật Ấn Tượng, cảm biến, quy trình hoạt động hệ thống đếm cơng ty - Tìm hiểu loại cảm biến công ty cho hệ thống thiết kế Nội dung thực hiện: - Tìm hiểu nghiên cứu cấu tạo phần cứng, nguyên lý hoạt động, tính module Arduino, Lora, cảm biến quang, cảm biến đo độ dài, led matrix P10 16x32cm, led đoạn - Lựa chọn giải pháp thiết kế hệ thống, thi cơng mơ hình đếm sản phẩm, mơ hình băng chuyền - Thiết kế hệ thống điều khiển, lưu đồ giải thuật chương trình điều khiển mơ hình, phần mềm quản lý hệ thống - Thiết kế hoàn chỉnh mơ hình thực tế - Chạy thử nghiệm cân chỉnh hệ thống hệ thống đếm sản phẩm - Viết sách luận văn - Bảo vệ tốt nghiệp III NGÀY GIAO NHIỆM VỤ: 10/03/2017 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/08/2017 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Trương Ngọc Anh CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii an TRƯỜNG ĐẠI HỌC SPKT TPHCM Khoa Điện - Điện Tử Bộ Môn Điện Tử Cơng Nghiệp – Y Sinh 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 08 năm 2017 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Phan Thanh Hoàng Duy MSSV: 13141042 Họ tên sinh viên 2: Lê Đức Thuận MSSV: 13141349 Tên đề tài: THIẾT KẾ MƠ HÌNH KIỂM ĐẾM TRÊN DÂY CHUYỀN Tuần Tuần (13/3 - 19/3) Tuần (20/3 – 26/3) Tuần (27/3 – 2/4) Tuần (3/4 – 9/4) Tuần (10/4 – 16/7) Tuần (17/4 – 23/7) Tuần (24/4 – 30/5) Tuần (1/5 – 7/5) Tuần (8/5 – 14/5) Tuần 10 (15/5 – 21/5) Tuần 11 (22/5 – 28/5) Tuần 12 (29/5 – 5/6) Tuần 13 (5/6 – 11/6) Nội dung Xác nhận GVHD Tìm hiểu đếm cơng nghiệp, chọn giải pháp thích hợp, thiết kế sơ đồ khối, lựa chọn linh kiện Thiết kế, lập trình thi cơng khối đếm Thiết kế, lập trình thi cơng khối quang báo Thiết kế, lập trình thi cơng khối giao tiếp với máy tính Kết nối, giao tiếp khối qua module Lora giao tiếp với máy tính Viết phần mềm quản lý hệ thống Viết báo cáo Viết phần mềm quản lý hệ thống Viết báo cáo Chạy mơ hình, cân chỉnh mạch Viết báo cáo iii an Tuần 14 (12/6 – 18/6) Tuần 15 (19/6 – 25/6) Tuần 16 (26/6 – 2/7) Tuần 17 (3/7 – 9/7) Tuần 18 (10/7 – 16/7) Tuần 19 (17/7 – 23/7) Tuần 20 (24/7 – 2/8) Tuần 20 (3/8 – 10/8) Đặt khung hệ thống hồn thiện mơ hình Viết báo cáo Viết báo cáo Làm khung băng chuyền cho hệ thống Viết báo cáo Làm slide (10-22 slide), báo cáo đề tài Hoàn thiện báo cáo Nộp báo cáo Bảo vệ đồ án tốt nghiệp GV HƯỚNG DẪN iv an LỜI CAM ĐOAN Chúng cam đoan đồ án tốt nghiệp công trình nghiên cứu chúng tơi hướng dẫn Th.S Trương Ngọc Anh Kết công bố đồ án tốt nghiệp trung thực không chép từ cơng trình khác Người thực đề tài Phan Thanh Hoàng Duy Lê Đức Thuận v an LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, nhóm thực đề tài nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy bạn bè Nhóm thực đề tài xin gửi lời cảm ơn đến tồn thể q thầy trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, đặt biệt quý thầy cô khoa ĐiệnĐiện tử, người trau dồi vốn kiến thức quý báu cho nhóm thực đề tài, giúp cho nhóm có kiến thức sở chun mơn vững vàng, tạo điều kiện giúp đỡ nhóm q trình học tập Nhóm thực đề tài xin gửi lời cảm ơn chân thành đến thầy TRƯƠNG NGỌC ANH, người hướng dẫn tận tình, cung cấp tài liệu, giải pháp suốt q trình nhóm thực đề tài Nhóm thực đề tài xin cảm ơn anh chị trước, người bạn, người em, gia đình ủng hộ, giúp đỡ, động viên nhóm thực đề tài Đề tài nhóm hồn thành khơng tránh thiếu sót, nhóm thực đề tài mong nhận góp ý, phê bình, dẫn quý thầy cô bạn Người thực đề tài Phan Thanh Hoàng Duy Lê Đức Thuận vi an MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iii Cam đoan v Lời cảm ơn vi Mục lục vii Liệt kê hình vẽ x Liệt kê bảng vẽ xiii Tóm tắt xiv CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.3 Mục tiêu 1.4 Nội dung nghiên cứu 1.5 Giới hạn 1.6 Bố cục CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu hệ thống đếm bao 2.2 Giới thiệu phần cứng 2.2.1 Module thu phát RF LoRa a Giới thiệu b Chế độ hoạt động module LoRa c Giới thiệu chân AUX 10 d Các chế độ truyền LoRa 10 e Cấu hình Module RF LoRa 14 2.2.2 Vi Điều Khiển 16 2.2.3 Cảm biến quang điện 17 a Cấu tạo nguyên lý hoạt động 17 b Phân loại cảm biến quang 17 c Yêu cầu lựa chọn cảm biến cho hệ thống 18 d Cảm biến quang BX700-DDT 19 vii an e Chỉnh ngưỡng loại đèn báo cảm biến 21 2.2.4 Bộ mã hóa vịng quay (Encoder) 21 a Cấu tạo nguyên lý hoạt động Encoder 21 b Yêu cầu lựa chọn encoder cho hệ thống 21 c Encoder E6B2-CWZ6C (Omron) 22 2.3 Các chuẩn giao tiếp sử dụng 24 2.3.1 Chuẩn giao tiếp UART 24 2.3.2 Chuẩn giao tiếp SPI 25 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 27 3.1 Giới thiệu 27 3.2 Tính tốn thiết kế hệ thống 27 3.2.1 Thiết kế sơ đồ khối hệ thống 27 a Sơ đồ khối trạm đếm 27 b Sơ đồ khối trạm quang báo 28 c Sơ đồ khối trạm trung tâm 28 d Sơ đồ khối toàn hệ thống 29 3.2.2 Tính toán thiết kế mạch 30 a Khối đoạn 30 b Khối quang báo matrix P10 33 c Khối hiển thị led đơn 34 d Khối đếm 35 e Khối cảnh báo 37 f Khối PC 38 g Khối LoRa 38 h Khối vi xử lý 40 i Khối nguồn 41 j Giải pháp lưu EEPROM 42 3.2.3 Sơ đồ nguyên lý toàn mạch 46 a Sơ đồ nguyên lý trạm trung tâm 45 b Sơ đồ nguyên lý trạm quang báo 46 c Sơ đồ nguyên lý trạm đếm 47 CHƯƠNG THI CÔNG HỆ THỐNG 49 4.1 Giới thiệu 49 viii an PHỤ LỤC { while (mySerial.available()) // nhận số đếm phản hồi từ lora hiển thị C# { String data_from_lora_slave = mySerial.readString().substring(1); String respond_slave= data_from_lora_slave.substring(0,7); if (respond_slave =="L01-ONN") { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(X1, HIGH); digitalWrite(D1, LOW); } else if (respond_slave =="L01-OFF") { digitalWrite(LED_BUILTIN, LOW); digitalWrite(D1, HIGH); digitalWrite(X1, LOW); } Serial.print(data_from_lora_slave); digitalWrite(V1, HIGH); delay(100); digitalWrite(V1, LOW); } while (Serial.available()) // gửi số từ C# qua lora { char data = (char)Serial.read(); data_software += data; if (data == '\n') { stringComplete = true; } } if (stringComplete) { int dai= data_software.length(); data_software1=data_software.substring(0,dai-1); dia_chi_slave= data_software.substring(0,3); if(dia_chi_slave=="L01") { data_software_tam=data_software; flag_set=1; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an xviii PHỤ LỤC truyen_theo_dia_chi(10,data_software1); data_software= ""; stringComplete = false; } if(dia_chi_slave=="L02") { truyen_theo_dia_chi(2,data_software); data_software= ""; stringComplete = false; } else { data_software = ""; stringComplete = false; } } } ISR(TIMER1_COMPA_vect) { seconds++; if(seconds == 5) { if(flag_set == 1) { truyen_theo_dia_chi(1,data_software_tam); flag_set=0; data_software = ""; stringComplete = false; } seconds=0; } } • Chương trình trạm đếm BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an xix PHỤ LỤC #include "analogComp.h" #include #include #include #include SoftwareSerial mySerial(9,8); // RX, TX #define cam_bien #define encoder_a #define encoder_b #define motor #define M0_M1 #define clockPin 12 //chân SH_CP 74HC595 #define latchPin 11 #define dataPin 10 //Chân DS 74HC595 boolean tinh_chieu_dai = false; boolean start_chuyen=false; boolean enable_send=false; int seconds; int chieu_dai=0; int chieu_dai_bao=20; long so_set, so_dem; long so_xung=0; String data_from_master,addr_slave; String str_so_dem; const byte Seg[11] = { 0b00111111,//0 0b00000110,//1 0b01011011,//2 0b01001111,//3 0b01100110,//4 0b01101101,//5 0b01111101,//6 0b00000111,//7 0b01111111,//8 0b01101111,//9 0b11111111,// tắt led BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an xx PHỤ LỤC }; void COMPARE() { EEPROM_UPDATE(0,so_dem); Serial.println("A"); } void ENCODER() { if(tinh_chieu_dai==true) // bắt đầu tính chiều dài { if(digitalRead(4) == LOW) so_xung++; else so_xung ; if(so_xung==1000) { chieu_dai=chieu_dai+10; so_xung=0; } if(digitalRead(2) == HIGH) // phát cạnh xuống khơng cho tính chiều dài { tinh_chieu_dai=false ; so_xung=0; chieu_dai_bao=20; chieu_dai=0; } if(chieu_dai == chieu_dai_bao + 10 ) // chiều dài 1,5 bao => tính bao { so_dem = so_dem+1; HIENTHI_LED7DOAN(so_dem); chieu_dai_bao = chieu_dai_bao+20; enable_send=true; truyen_theo_dia_chi(0,"L01-DEM-" + str_so_dem); } } } void PHAT_HIEN() { if(start_chuyen==true) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an xxi PHỤ LỤC { so_dem = so_dem+1; tinh_chieu_dai =true; str_so_dem= String(so_dem); enable_send=true; HIENTHI_LED7DOAN(so_dem); //delay(1000); } } void HIENTHI_LED7DOAN(unsigned long point) { int donvi = point % 10; int chuc = point / 10 % 10; int tram = point / 100 % 10; int ngan = point / 1000 % 10; int chuc_ngan = point / 10000; if(chuc_ngan==0) { chuc_ngan=11;// ma led tat if(ngan==0) { ngan=11; if(tram==0) { tram=11; if(chuc==0) { chuc=11; } } } } digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, MSBFIRST, Seg[donvi]); shiftOut(dataPin, clockPin, MSBFIRST, Seg[chuc]); shiftOut(dataPin, clockPin, MSBFIRST, Seg[tram]); shiftOut(dataPin, clockPin, MSBFIRST, Seg[ngan]); shiftOut(dataPin, clockPin, MSBFIRST, Seg[chuc_ngan]); digitalWrite(latchPin, HIGH); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an xxii PHỤ LỤC void normal() { digitalWrite(M0_M1, 0); } void sleep() { digitalWrite(M0_M1, 1); } void EEPROM_UPDATE(int ADDR, int VALUE) { EEPROM.update(ADDR,VALUE); delay(100); EEPROM.update(ADDR+1,VALUE>>8); delay(100); } int EEPROM_READ(int ADDR) { int VALUE =( EEPROM.read(ADDR+1)