Đồ án tốt nghiệp Đại học sư phạm kỹ thuật Hưng Yên:Đồ án tốt nghiệp khoa Điện Điện tử trường Đại học sư phạm kỹ thuật Hưng Yên. Tên đề tài tốt nghiệp: Thiết kế, chế tạo mô hình phân loại sản phẩm sử dụng công nghệ RFID.
1 Danh mục từ viết tắt RFID: Radio frequency identification - công nghệ nhận dạng đối tượng sóng radio CMND: Chứng minh nhân dân NFC: Near Field Communication Lời nói đầu Ngày ngành cơng nghệ thơng tin có bước phát triển vượt bậc Chỉ từ việc phát minh transistor năm 1947, sản phẩm công nghệ thông tin len lỏi đến tất ngành nghề xã hội từ ngành giáo dục, ngân hàng, tài đến dịch vụ khác… Chính lẽ đó, chúng em chọn đề tài “Thiết kế, chế tạo mơ hình phân loại sản phẩm sử dụng công nghệ RFID” Công nghệ xuất lâu ứng dụng chưa triển khai rộng rãi Với việc chọn đề tài này, chúng em hi vọng góp phần cơng sức bé nhỏ vào việc triển khai ứng dụng Tuy nhiên, điều kiện kinh tế khó khăn thời gian có hạn, nên bọn em thiết kế thi cơng hệ thống đơn giản Để triển khai áp dụng vào thực tế phải đầu tư thêm nhiều tiền bạc thời gian để hoàn thiện sản phẩm Song, với việc thiết kế thành công hệ thống này, chúng em thu nhiều kinh nghiệm để thi cơng sản phẩm hoàn thiện tương lai Qua chúng em xin chân thành cảm ơn thầy Nguyễn Tiến Dũng thầy cô khác khoa Điện- Điện Tử Trường Đại Học Sư Phạm Kĩ Thuật Hưng Yên tận tình giúp đỡ chúng em thực đề tài Sinh viên thực hiện: Nguyễn Văn Điển Bùi Thị Thanh Nhài Chương Tổng quan đề tài 1.1 Đặt vấn đề Ngày với ứng dụng khoa học công nghệ vào đời sống Thế giới ngày thay đổi, văn minh, đại Sự phát triển điện tử tạo thiết bị có đặc điểm bật như: độ xác cao, tốc độ nhanh, gọn nhẹ có phần ứng dụng cao góp phần nâng cao suất người Sự đời công nghệ RFID (Radio frequency identification - công nghệ nhận dạng đối tượng sóng radio) ý tưởng độc đáo Trên thực tế, RFID ứng dụng nhiều như: cấy lên vật nuôi để nhận dạng nguồn gốc theo dõi vật nuôi tránh thất lạc bị đánh cắp; đưa vào sản phẩm công nghiệp để xác định thông tin mã số series, nguồn gốc sản phẩm, kiểm soát sản phẩm nhập xuất… Trong thư viện, thẻ RFID gắn với sách giúp giảm thời gian tìm kiếm kiểm kê, chống tình trạng ăn trộm sách RFID ứng dụng lưu trữ thông tin bệnh nhân y khoa (mang theo người bệnh nhân, đặc biệt bệnh nhân tâm thần) Ngoài ra, kỹ thuật RFID xác định vị trí, theo dõi, xác thực lại người, đối tượng giúp nâng cao an ninh biên giới cửa mơ hình hệ thống quản lý RFID sân bay DHS (hội an ninh quốc gia Mỹ) áp dụng từ 1/2005 Tại Mỹ từ tháng 10/2006 Anh, Đức, Trung Quốc từ 2008, hộ chiếu CMND gắn chip RFID lưu thông tin tên tuổi, quốc tịch, giới tính, ngày tháng năm sinh, nơi sinh, ảnh số… Công nghệ RFID có mặt giới từ thập niên 70 xuất Việt Nam năm gần vào khoảng cuối năm 2009 nhờ có hỗ trợ hữu hiệu từ công nghệ số bán dẫn, có chip nhận dạng nhỏ gắn vào tem thuốc, động vật, sản phẩm Dự báo, vòng từ 3-5 năm tới, cơng nghệ phổ biến chip RFID 0,18 micromet - Còn Việt Nam khoảng vài năm trở lại bắt đầu bắt gặp nhiều ứng dụng công nghệ RFID thực tiễn sống hàng ngày, ví dụ bãi giữ xe, hay máy chấm cơng nhân viên… Với mục đích nghiên cứu hoạt động thiết kế khối module sử dụng công nghệ RFID, nhóm em lựa chọn đề tài “Thiết kế chế tạo mơ hình phân loại sản phẩm sử dụng cơng nghệ RFID” 1.2 Lý chọn đề tài Với xu cơng nghiệp hóa diễn nhanh chóng, với phát triển kinh tế Việt nam nay, đồng thời khu công nghiệp, nhà máy, văn phòng với đủ loại quy mơ ngành nghề khác ngày tăng lên số lượng quy mô hoạt động Để vận hành đơn vị sản xuất kinh doanh, cần đòi hỏi nhiều hạng mục vật tư, máy móc, thiết bị, cơng nghệ, người kèm theo nhiều tài nguyên hay quy trình nhằm đảm bảo trình sản xuất kinh doanh diễn cách có hiệu cao Một phần thiếu để quản lý người hiệu suất làm việc hệ thống quản lý nhân Mục tiêu nhằm đảm bảo cho trình điều hành sản xuất hiệu cao tối ưu hóa 1.3 Tính cấp thiết, mục đích nghiên cứu Với thân người thực đề tài, hội tốt để tự kiểm tra lại kiến thức mình, đồng thời có hội để nỗ lực vận động tìm hiểu, tiếp cận nghiên cứu với vấn đề chưa biết, chưa hiểu rõ nhằm trang bị cho thân nhiều kiến thức bổ ích sau ứng dụng vào thực tế sống Phát huy kỹ làm việc theo nhóm, khả tự suy nghĩ tìm tòi, học hỏi, phát huy lực thân Ngồi tạo sản phẩm có tính ứng dụng thực tế 1.4 Mục đích đề tài Tìm hiểu nghiên cứu công nghệ RFID - - Thiết kế thi công mạch sử dụng công nghệ RFID, đồng thời giao tiếp máy tính với reader đọc hiển thị nội dung thẻ khoảng cách gần Mạch điện khơng qua phức tạp, đảm bảo an tồn dễ sử dụng Giá thành vừa phải 1.5 Nhiệm vụ đề tài Thiết kế mơ hình Thiết kế phần cứng, lập lưu đồ thuật toán viết chương trình theo yêu cầu: phân loại đếm sản phẩm theo loại mã Bảo vệ tải ngắn mạch Hiển thị số lượng sản phẩm LCD Thuyết trình đầy đủ, trình bày khoa học Chương Cơ sở lý thuyết • • 2.1 Giới thiệu công nghệ RFID 2.1.1 Khái niệm Công nghệ RFID (Radio Frequency Identification) công nghệ nhận dạng đối tượng sóng vơ tuyến, cho phép thiết bị đọc thông tin chứa chip khoảng cách xa, không cần tiếp xúc trực tiếp, khơng thực giao tiếp vật lý hai vật khơng nhìn thấy Công nghệ cho ta phương pháp truyền, nhận liệu từ điểm đến điểm khác Kỹ thuật RFID sử dụng truyền thông không dây dải tần số vô tuyến để truyền liệu từ tag(thẻ) đến reader(bộ đọc) Tag có thẻ đính kèm gắn vào đối tượng nhận dạng chẳng hạn sản phẩm, hộp góa kê Reader scan liệu tag gửi thông tin đến sở liệu có lưu trữ liệu tag Ba thành phần tag, reader anten khối hệ thống RFID Khi thay đổi lượng, kích thước, thiết kế anten, tần số hoạt động, số lượng liệu, phần mềm để quản lý xuất liệu tạo nhiều ứng dụng Công nghệ RFID giải nhiều tốn kinh doanh thực tế 2.1.2 Thành phần hệ thống RFID Một hệ thống RFID tập hợp thành phần nhằm thực giải pháp RFID Nói chung hệ thống RFID bao gồm thành phần : Thẻ : Đây thành phần bắt buộc hệ thống RFID Thiết bị đọc thẻ: Đây thành phần bắt buộc Angten thiết bị đọc thẻ: Đây thành phần bắt buộc phải có Ngày • số reader tích hợp anten lên nó,vì kích thước giảm nhiều Khối điều khiển: Đây thành phần quan trọng, nhiên hầu hết reader • hệ tích hợp thành phần lên chúng Các cảm biến, truyền động, báo hiệu: Đây thành phần tùy chọn, • sử dụng đầu vào hệ thống RFID • Máy chủ hệ thống phần mềm: Trên lý thuyết, hệ thống RFID hoạt • động cách độc lập mà không cần tới thành phần Tuy nhiên thực tế, khơng có thành phần hệ thống RFID gần vơ giá trị Cơ sở hạ tầng truyền thông: Thành phần quan trọng tập hợp bao gồm mạng có dây không dây, sở hạ tầng kết nối nối tiếp, để kết nối thành phần liệt kê phía với Dưới biểu đồ hệ thống RFID: Hình 2.1 Sơ đồ hệ thống RFID [3] Còn mơ hình mẫu biểu đồ với thành phần cụ thể thực tế: a Hình 2.2 Một ví dụ hệ thống RFID thực tế [3] Bây ta chi tiết vào thành phần hệ thống RFID 2.1.3 Các thẻ RFID Phân loại theo dải tần số Tần số phụ thuộc vào kích cỡ sóng radio sử dụng việc giao tiếp thành phần hợp thành nên hệ thống Hệ thống RFID toàn giới hoạt động chủ yếu theo ba nhóm: tần số thấp (LF), tần số cao (HF) tần số siêu cao (UHF) Các sóng radio truyền khác dải tần số với nhiều thuận lợi hạn chế mối liên kết với việc sử dụng nhóm tần số Nếu hệ thống RFID hoạt động dải tần số thấp, có phạm vi đọc ngắn tốc độ đọc liệu chậm hơn, lại tăng khả đọc bề mặt chất lỏng, phạm vi gần bề mặt kim loại Nếu hệ thống hoạt động dải tần số cao, nhìn chung có tốc độ • chuyển liệu nhanh hơn, phạm vi đọc dài so với hệ thống sử dụng dải tần số thấp, nhiên lại nhạy cảm với can thiệp sóng radio gây chất lỏng chất kim loại mơi trường LF RFID • Nhóm LF bao phủ tần số khoảng từ 30KHz tới 300 KHz Các hệ thống LF RFID tiêu biểu hoạt động 125 KHz, có vài hệ thống hoạt động 134 KHz Nhóm tần số đáp ứng phạm vi đọc ngắn khoảng 10 cm, có tốc độ đọc chậm so với dải tần số cao, nhiên lại khơng dễ bị tác động can thiệp sóng radio Các ứng dụng LF RFID bao gồm việc kiểm sốt tài sản theo dõi vật ni Các tiêu chuẩn cho hệ thống theo dõi động vật LF miêu tả rõ ISO 14223 ISO/IEC 18000-2 Dải LF không công nhận ứng dụng thực toàn giới vài khác biệt mức độ tần số lượng tồn giới HF RFID Nhóm HF hoạt động phạm vi từ MHZ đến 30 MHz Đa số hệ thống HF RFID hoạt động 13,56 MHz với phạm vi đọc vào khoảng 10 cm tới mét Các hệ thống HF thí nghiệm độ nhạy vừa phải để can thiệp HF RFID thường sử dụng cho việc bán vé, toán, ứng dụng chuyển liệu Có vài tiêu chuẩn HF RFID đặt tiêu chuẩn ISO 15693 cho việc theo dõi mặt hàng, hay tiêu chuẩn ECMA-340 ISO/IEC 18092 cho Near Field Communication (NFC) – thiết bị tầm ngắn sử dụng việc trao đổi liệu thiết bị Các tiêu chuẩn HF khác bao gồm: tiêu chuẩn ISO/IEC 14443 A tiêu chuẩn ISO/IEC 14443 cho công nghệ MIFARE sử dụng thẻ thông minh thẻ khoảng cách gần; tiêu chuẩn JIS X 6319-4 cho FeliCa – hệ thống thẻ thông minh thường sử dụng thẻ tính tiền điện tử • UHF RFID Nhóm UHF hoạt động phạm vi từ 300 MHz đến GHz Các hệ thống tuân theo tiêu chuẩn UHF Gen2 cho hệ thống RFID sử dụng nhóm từ 860 đến 960 MHz Trong có số khác biệt tần số từ vùng đến vùng khác, hệ thống UHF Gen2 RFID hầu lại hoạt động khoảng 900 915 MHz Phạm vi đọc hệ thống UHF thụ động khoảng 12 mét, UHF RFID có tốc độ chuyển liệu nhanh so với LF hay HF UHF RFID thường nhạy cảm với can thiệp, nhiều nhà chế tạo sản phẩm UHF tìm cách để thiết kế thẻ, ăng-ten, đầu đọc nhằm trì hiệu suất cao mơi trường có điều kiện khó khăn Các thẻ UHF thụ động dễ chế tạo chi phí sản xuất rẻ so với thẻ LF HF UHF RFID sử dụng đa dạng ứng dụng, từ quản lý việc kiểm kê hàng hóa hoạt động bán lẻ tới chống hàng dược phẩm giả, hay cài đặt cấu hình cho thiết bị không dây Phần lớn dự án RFID sử dụng UHF trái với LF HF, tạo phân khúc nhanh thị trường RFID Nhóm UHF quy định tiêu chuẩn tồn cầu gọi tiêu chuẩn ECPglobal Gen2 (ISO 18000-6C) UHF 10 void enable_btai(void) { if(digitalRead(dkbtai)==LOW) { delay(300); dembt++; if(dembt > 2) { dembt = 1; } if(dembt == 1) { digitalWrite(btai,HIGH); digitalWrite(ledbt,HIGH); ktra = 0; } if(dembt == 2) { digitalWrite(btai,LOW); digitalWrite(ledbt,LOW); ktra = 0; } } } // chuong trinh kiem tra ma sap pham void kt_ma(void) { if(ma != 0) { if(ma == spcua1) { 55 lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("C1-SP:"); lcd.setCursor(6, 1); lcd.print(spcua1); while(digitalRead(cb1)==HIGH); if(digitalRead(cb1)==LOW) { delay(300); motor(1); spc1++; lcd.clear(); lcd.setCursor(0, 0); // hien thi so sp o cua lcd.print("C1:"); lcd.print(spc1); lcd.setCursor(5, 0); // hien thi so sp o cua lcd.print("C2:"); lcd.print(spc2); lcd.setCursor(10, 0); // hien thi so sp o cua lcd.print("C3:"); lcd.print(spc3); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("DANG CHO THE "); ma = 0; } else {}; } else if(ma == spcua2) 56 { lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("C2-SP:"); lcd.setCursor(6, 1); lcd.print(spcua2); while(digitalRead(cb2)==LOW); if(digitalRead(cb2)==HIGH) { delay(300); motor(2); spc2++; lcd.clear(); lcd.setCursor(0, 0); // hien thi so sp o cua lcd.print("C1:"); lcd.print(spc1); lcd.setCursor(5, 0); // hien thi so sp o cua lcd.print("C2:"); lcd.print(spc2); lcd.setCursor(10, 0); // hien thi so sp o cua lcd.print("C3:"); lcd.print(spc3); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("DANG CHO THE "); ma = 0; } } else if(ma == spcua3) 57 { lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("C3-SP:"); lcd.setCursor(6, 1); lcd.print(spcua3); while(digitalRead(cb3)==HIGH); if(digitalRead(cb3)==LOW) { delay(300); spc3++; lcd.clear(); lcd.setCursor(0, 0); // hien thi so sp o cua lcd.print("C1:"); lcd.print(spc1); lcd.setCursor(5, 0); // hien thi so sp o cua lcd.print("C2:"); lcd.print(spc2); lcd.setCursor(10, 0); // hien thi so sp o cua lcd.print("C3:"); lcd.print(spc3); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("DANG CHO THE "); ma = 0; } } else { 58 digitalWrite(btai,LOW); digitalWrite(ledbt,LOW); digitalWrite(ledsp,HIGH); lcd.clear(); lcd.setCursor(0, 0); lcd.print("MA SP:"); lcd.setCursor(6, 0); lcd.print(ma); lcd.setCursor(0, 1); lcd.print("SP K O TRONG KHO"); while(digitalRead(menu)==HIGH && digitalRead(dchinh)==HIGH); if(digitalRead(menu)==LOW) { caidat_ma(); delay(300); digitalWrite(ledsp,LOW); ma = 0; } if(digitalRead(dchinh)==LOW) { ma = 0; delay(300); digitalWrite(ledsp,LOW); lcd.clear(); lcd.setCursor(0, 0); // hien thi so sp o cua lcd.print("C1:"); lcd.print(spc1); lcd.setCursor(5, 0); // hien thi so sp o cua lcd.print("C2:"); lcd.print(spc2); 59 lcd.setCursor(10, 0); // hien thi so sp o cua lcd.print("C3:"); lcd.print(spc3); lcd.setCursor(0, 1); lcd.print("DANG CHO THE "); ktra = 0; } } } } // chuong trinh cai dat ma san pham cho tung cua void caidat_ma(void) { if( digitalRead(menu)==LOW ) { delay(500); lcd.clear(); lcd.setCursor(5, 0); lcd.print("CUA 1:"); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua1); while(1) { if(digitalRead(dchinh)==LOW) { delay(300); demcua++; if(demcua > 4) { 60 demcua = 1; } if(demcua==1) { spcua1 = masp1; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua1); } if(demcua==2) { spcua1 = masp2; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua1); } if(demcua==3) { spcua1 = masp3; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua1); } if(demcua==4) { 61 spcua1 = ma; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua1); } } if(digitalRead(menu)==LOW) { demcua = 1; delay(500); break; } } lcd.clear(); lcd.setCursor(5, 0); lcd.print("CUA 2:"); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua2); while(1) { if(digitalRead(dchinh)==LOW) { delay(300); demcua++; if(demcua > 4) { demcua = 1; } 62 if(demcua==1) { spcua2 = masp2; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua2); } if(demcua==2) { spcua2 = masp3; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua2); } if(demcua==3) { spcua2 = masp1; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua2); } if(demcua==4) { spcua2 = ma; lcd.setCursor(0, 1); 63 lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua2); } } if(digitalRead(menu)==LOW) { demcua = 1; delay(500); break; } } lcd.clear(); lcd.setCursor(5, 0); lcd.print("CUA 3:"); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua3); while(1) { if(digitalRead(dchinh)==LOW) { delay(300); demcua++; if(demcua > 4) { demcua = 1; } if(demcua==1) { 64 spcua3 = masp3; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua3); } if(demcua==2) { spcua3 = masp1; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua1); } if(demcua==3) { spcua3 = masp2; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SP: "); lcd.print(spcua3); } if(demcua==4) { spcua3 = ma; lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); 65 lcd.print("SP: "); lcd.print(spcua3); } } if(digitalRead(menu)==LOW) { demcua = 1; delay(500); break; } } lcd.clear(); lcd.setCursor(0, 0); // hien thi so sp o cua lcd.print("C1:"); lcd.print(spc1); lcd.setCursor(5, 0); // hien thi so sp o cua lcd.print("C2:"); lcd.print(spc2); lcd.setCursor(10, 0); // hien thi so sp o cua lcd.print("C3:"); lcd.print(spc3); lcd.setCursor(0, 1); lcd.print("DANG CHO THE "); ktra = 0; } } void setup() { pinMode(cb1, INPUT_PULLUP); // khai bao cam bien o dang nhan tin hieu dau vao 66 pinMode(cb2, INPUT_PULLUP); // khai bao cam bien o dang nhan tin hieu dau vao pinMode(cb3, INPUT_PULLUP); // khai bao cam bien o dang nhan tin hieu dau vao pinMode(dkbtai, INPUT_PULLUP); pinMode(menu, INPUT_PULLUP); pinMode(dchinh, INPUT_PULLUP); pinMode(ledsp, OUTPUT); pinMode(ledbt, OUTPUT); pinMode(btai, OUTPUT); Timer1.initialize(200); Timer1.attachInterrupt(Blink); Serial.begin(9600); //Thông báo LCD 1602 lcd.begin(16, 2); // Cài đặt chức điều khiển servo cho chân servo esv1.attach(sv1); esv2.attach(sv2); esv1.write(50); esv2.write(90); SPI.begin(); mfrc522.PCD_Init(); // tat led va btai digitalWrite(ledbt,LOW); digitalWrite(ledsp,LOW); digitalWrite(btai,LOW); // hien thi cot 0, dong lcd.setCursor(0, 0); lcd.print(" DH SPKT HY"); lcd.setCursor(0, 1); lcd.print("DO AN TOT NGHIEP"); 67 delay(2000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("GVHD: NG-T-DUNG"); lcd.setCursor(0, 1); lcd.print("SVTH: NHAI-DIEN"); delay(2000); lcd.clear(); lcd.setCursor(0, 0); // hien thi so sp o cua lcd.print("C1:"); lcd.print(spc1); lcd.setCursor(5, 0); // hien thi so sp o cua lcd.print("C2:"); lcd.print(spc2); lcd.setCursor(10, 0); // hien thi so sp o cua lcd.print("C3:"); lcd.print(spc3); lcd.setCursor(0, 1); lcd.print("DANG CHO THE "); void loop() { if(ktra == 0) { // Tim the moi if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Doc the if ( ! mfrc522.PICC_ReadCardSerial()) { return; } 68 for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256 + uidDecTemp; } // Halt PICC mfrc522.PICC_HaltA(); ma = uidDec ; kt_ma(); } if(ktra==1) { caidat_ma(); enable_btai(); } } void Blink() { if( digitalRead(menu)==LOW digitalRead(dkbtai)==LOW ) ktra = 1; } || digitalRead(dchinh)==LOW || 69