MẠCH ĐÓNG mở cửa DÙNG RFID DÙNG VI điều KHIỂN PIC16F (có code và layout) MẠCH ĐÓNG mở cửa DÙNG RFID DÙNG VI điều KHIỂN PIC16F (có code và layout) MẠCH ĐÓNG mở cửa DÙNG RFID DÙNG VI điều KHIỂN PIC16F (có code và layout) MẠCH ĐÓNG mở cửa DÙNG RFID DÙNG VI điều KHIỂN PIC16F (có code và layout) MẠCH ĐÓNG mở cửa DÙNG RFID DÙNG VI điều KHIỂN PIC16F (có code và layout)
ĐỒ ÁN MẠCH ĐÓNG MỞ CỬA DÙNG RFID DÙNG VI ĐIỀU KHIỂN PIC16F MỤC LỤC DANH MỤC CÁC HÌNH VẼ IV DANH MỤC CÁC TỪ VIẾT TẮT VI CHƯƠNG TỔNG QUAN VỀ CÔNG NGHỆ RFID 1.1 GIỚI THIỆU 1.1.1 Giới thiệu sơ lược công nghệ RFID .1 1.1.2 Giới thiệu sơ lược hoạt động mạch 1.2 HƯỚNG NGHIÊN CỨU 1.2.1 Đặt vấn đề 1.2.2 Mục đích nghiên cứu CHƯƠNG MẠCH ĐÓNG MỞ CỬA DÙNG RFID 2.1 CÁC LINH KIỆN DÙNG TRONG MẠCH 2.1.1 PIC16F887 2.1.2 Module RC522 2.1.3 LCD 2.1.4 IC LM7805 2.1.5 IC LM1117 2.1.6 Relay 2.1.7 Loa báo 10 2.2 GIỚI THIỆU VỀ MẠCH ĐÓNG MỞ CỬA BẰNG RFID 10 CHƯƠNG THIẾT KẾ MẠCH TỔNG QUÁT 11 3.1 SƠ ĐỒ KHỐI .11 3.2 SƠ ĐỒ NGUYÊN LÍ TỪNG KHỐI 12 3.2.1 Khối nguồn 12 3.2.2 Khối RFID .12 3.2.3 Khối vi điều khiển 13 3.2.4 Khối hiển thị 13 3.2.5 Khối Relay .14 3.2.6 Khối loa báo 14 3.3 SƠ ĐỒ GIẢI THUẬT 15 3.3.1 Sơ đồ giải thuật đọc mã thẻ RFID 15 3.3.2 Sơ đồ giải thuật hệ thống cửa 16 3.4 SƠ ĐỒ NGUYÊN LÍ TỔNG CỦA MẠCH .17 3.5 THIẾT KẾ PCB 18 CHƯƠNG THI CÔNG PHẦN CỨNG VÀ THỰC NGHIỆM 20 4.1 THI CÔNG PHẦN CỨNG 20 4.2 THỰC NGHIỆM 21 CHƯƠNG KẾT LUẬN 23 5.1 KẾT QUẢ 23 5.2 ỨNG DỤNG 23 5.3 MỘT SỐ HẠN CHẾ 23 5.4 HƯỚNG PHÁT TRIỂN .23 TÀI LIỆU THAM KHẢO 24 PHỤ LỤC A 25 DANH MỤC CÁC HÌNH VẼ Hình 2-1: PIC16F887 Hình 2-2: Sơ đồ chân PIC16F887 [1] Hình 2-3: Module RC522 [2] Hình 2-4: Sơ đồ chân module RC522 [3] .6 Hình 2-5: Màn hình LCD 16x2 .7 Hình 2-6: Sơ đồ chân LCD 16x2 [4] .7 Hình 2-7: IC LM7805 [5] Hình 2-8: IC LM1117 [6] .9 Hình 2-9: Relay 5V [7] Hình 2-10: Loa báo 10 Hình 2-11: Sơ đồ tổng quát mạch đóng mở cửa RFID .10 Hình 3-1: Sơ đồ khối mạch 11 Hình 3-2: Khối nguồn 12 Hình 3-3: Khối RFID 12 Hình 3-4: Giao tiếp SPI [8] 13 Hình 3-5: Khối vi điều khiển .13 Hình 3-6: Khối hiển thị .13 Hình 3-7: Khối Relay 14 Hình 3-8: Khối loa báo 14 Hình 3-9: Sơ đồ giải thuật đọc mã thẻ 15 Hình 3-10: Mã thẻ 15 Hình 3-11: Sơ đồ giải thuật hệ thống cửa 16 Hình 3-12: Sơ đồ nguyên lí mạch 17 Hình 3-13: Vẽ mạch in 18 Hình 3-14: Sơ đồ mạch in hệ thống .19 Hình 4-1: Mạch thực tế .20 Hình 4-2: Cấp nguồn cho mạch 21 Hình 4-3: Qt thẻ RFID có mã thẻ 21 Hình 4-4: Quét thẻ RFID có mã thẻ sai 22 DANH MỤC CÁC TỪ VIẾT TẮT RFID Radio Frequency Identification LCD Liquid Crystal Display PCB Printed Circuit Board PIC Programable Intelligent Computer Vcc Voltage Colector to Colector GND Ground SPI Serial Peripheral Interface NFC Near Field Communications MOSI Master Out Slave In MISO Master In Slave Out SCK Serial Clock SDA Serial Data Line VĐK Vi Điều Khiển IC Integrated Circuit EEPROM Erasable Programmable Read Only Memory E Enable RS Register Select RW Read Write RAM Random Access Memory I2C Inter Intergrated Circuit USART Universal Synchronous and Asynchronous Serial ADC Analog to Digital Converter SW Switch DC Direct Current IRQ Interrupt Request ĐỒ ÁN Trang 1/30 CHƯƠNG TỔNG QUAN VỀ CÔNG NGHỆ RFID 1.1 Giới thiệu Mạch đóng mở cửa công nghệ RFID mạch sử dụng phổ biến Mạch đóng mở cửa cơng nghệ RFID có tính cho phép người có thẻ RFID với lập trình bên vi điều khiển đóng mở cửa vào Vì có thẻ RFID mở cửa nên cửa sử dụng cơng nghệ RFID có tính bảo mật cao Hiện đóng mở cửa RFID sử dụng phổ biến cho nhà thông minh, trường học, thư viện… 1.1.1 Giới thiệu sơ lược công nghệ RFID - Công nghệ RFID cho phép đầu đọc RFID đọc thông tin chip thẻ RFID khoảng cách xa (không lớn) mà không cần tiếp xúc với với - phương thức truyền nhận liệu điểm - điểm RFID truyền khơng dây sóng vơ tuyến liệu chip thẻ RFID đến đầu đọc RFID Đầu đọc nhận liệu thẻ gửi điều khiển - để xử lí thông tin lấy từ chip Ngày dạng RFID thông dụng dạng RFID bị động có nghĩa thẻ RFID khơng có nguồn riêng, chip khơng tiếp xúc với đầu đọc khơng tích điện Thẻ hoạt động cách dùng nguồn lượng truyền sóng vơ tuyến gửi từ đầu đọc thẻ 1.1.2 Giới thiệu sơ lược hoạt động mạch - Giả sử trường hợp cửa đóng, người dùng muốn mở cửa phải qt thẻ RFID (thẻ có mã lập trình vi điều khiển) lên module đọc thẻ RFID cửa mở, đồng thời LCD dòng chữ cho phép vào loa phát tiếng kêu nhỏ báo hiệu cửa mở Tương tự có trường hợp - đóng cửa Nếu trường hợp đối tượng qt thẻ sai (thẻ có mã khơng lập trình vi điều khiển) cửa khơng mở, đồng thời LCD lên dòng chữ cảnh báo loa phát tiếng kêu lớn dài để báo thẻ sai 1.2 Hướng nghiên cứu Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 2/30 1.1.3 Đặt vấn đề Qua phần giới thiệu sơ lược mạch đóng mở cửa cơng nghệ RFID biết hoạt động Ngày nay, với phát triển khoa học công nghệ điện tử mạch đóng mở cửa cơng nghệ RFID tiện ích giúp đảm bảo an tồn cho nhà hay phòng Để giải cho vấn đề tơi xin giới thiệu mạch đóng mở cửa cơng nghệ RFID với số linh kiện khác 1.1.4 Mục đích nghiên cứu Mục đích mạch đóng mở cửa nghiên cứu nguyên lý hoạt động mạch, vi điều khiển PIC16F887 với số linh kiện khác để phục vụ cho nhu cầu người thời buổi ngày phát triển Qua việc tìm hiểu, sinh viên hệ thống lại kiến thức học trường Đại học Tôn Đức Thắng, từ kiến thức học sinh viên áp dụng vào thực tế nâng cao kiến thức chuyên môn cho thân Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 3/30 CHƯƠNG MẠCH ĐÓNG MỞ CỬA DÙNG RFID 1.3 Các linh kiện dùng mạch 1.1.5 PIC16F887 Hình 2-1: PIC16F887 - PIC16F887 sản xuất cơng ty microchip, dòng PIC sử dụng rộng rãi Việt Nam, thuộc họ vi điều khiển PIC16F Dòng PIC thuận lợi cho người làm quen với PIC học tập tìm hiểu nhằm tạo tảng lập trình vi điều khiển PIC - Thông số kĩ thuật PIC16F887: Ngơn ngữ lập trình CCS 40 chân, Port (A, B, C, D, E) Tần số tối đa 20MHz Điện áp hoạt động: 2.5V – 5.5V Dòng điện: 25mA RAM 368 x bytes, EEPROM 256 x bytes kênh ADC 10 bit, giao tiếp (USART, I2C, SPI…) Timer: Timer 0, Timer 1, Timer - Sơ đồ chân PIC16F887 Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 4/30 Hình 2-2: Sơ đồ chân PIC16F887 [1] Chức chân: Chân 1: Có chức (MCLR: ngõ vào reset, Vpp: ngõ vào nhận điện áp lập trình cho PIC) Các chân 2, 3, 4, 5: RA0, RA1, RA2, RA3 để nhập xuất liệu AN0, AN1, AN2, AN3 ngõ vào tương tự kênh thứ 0, 1, 2, Chân 6: RA4 nhập xuất liệu/xung clock cho Timer Chân 7: RA5 nhập xuất liệu/ AN4 ngõ vào tương tự kênh số 4/chọn giao tiếp SPI Chân 8, 9, 10: RE0, RE1, RE2 nhập xuất liệu/ AN5, AN6, AN7 ngõ vào tương tự Chân 11, 32: Nối Vcc Chân 12, 31: Nối GND Chân 13, 14: RA7, RA6 nhập xuất liệu/ OSC1, OSC2 nối thạch anh Chân 15, 16, 17: RC0, RC1, RC2 nhập xuất liệu/ dùng cho Timer Chân 18: RC3 nhập xuất liệu/ SCK chế độ giao tiếp SPI Chân 19, 20, 21, 22, 27, 28, 29, 30: xuất nhập liệu Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 15/30 Hình 3-20: Sơ đồ giải thuật đọc mã thẻ Hình 3-21: Mã thẻ Mã thẻ RFID đọc 3d db 07 52 b3 Ta đưa mã thẻ vào chương trình hệ thống đóng mở cửa Như vậy, có thẻ RFID có mã thẻ đóng mở cửa 1.1.19 Sơ đồ giải thuật hệ thống cửa Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 16/30 Hình 3-22: Sơ đồ giải thuật hệ thống cửa 1.8 Sơ đồ nguyên lí tổng mạch Hình 3-23: Sơ đồ ngun lí mạch Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 17/30 Giải thích sơ đồ ngun lí: Giả sử ban đầu cửa đóng, đưa thẻ RFID vào module RC522, module RC522 nhận diện đọc mã thẻ sau gửi dử liệu mã thẻ vể vi điều khiển PIC16F887 giao thức truyền SPI, mã thẻ đọc với mã thẻ lập trình LCD hiển thị thơng báo cửa mở, đồng thời chân RC1 xuất mức cao đưa vào khối relay để mở cửa liệu chân RC0 đưa vào khối loa để phát tiếng kêu báo hiệu cửa mở Tương tự cho trường hợp đóng cửa, ta tiếp tục đưa thẻ RFID có mã thẻ vào module RC522, lúc LCD hiển thị thông báo cửa đóng, đồng thời chân RC1 mức thấp đưa vào khối relay để đóng cửa, liệu chân RC0 đưa vào khối loa để phát tiếng kêu báo hiệu cửa đóng Trường hợp người dùng quét thẻ RFID sai (thẻ có mã thẻ khơng lập trình vi điều khiển) LCD hiển thị dòng chử cảnh báo thẻ không hợp lệ Chân RC1 không xuất mức cao, khối relay khơng kích hoạt, cửa không mở Dữ liệu chân RC0 đưa vào khối loa, loa báo phát âm dài để cảnh báo thẻ sai Nguyên lí áp dụng cho phần lập trình với vi điều khiển PIC16F887 1.9 Thiết kế PCB Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 18/30 Hình 3-24: Vẽ mạch in - Mạch in hệ thống đóng mở thiết kế phần mềm Altium Designer Đây phần mềm chuyên sử dụng để vẽ mạch in Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 19/30 Hình 3-25: Sơ đồ mạch in hệ thống CHƯƠNG 1.10 THI CƠNG PHẦN CỨNG VÀ THỰC NGHIỆM Thi cơng phần cứng Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 20/30 - Sau hoàn thành mạch in tiến hành làm mạch hàn gắn linh kiện Hình 4-26: Mạch thực tế - Mạch sau hàn gắn linh kiện Sử dụng adapter 12VDC để cấp nguồn kiểm tra thấy mạch hoạt động bình thường với lập trình 1.11 Thực nghiệm Hình 4-27: Cấp nguồn cho mạch Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 21/30 Hình 4-28: Qt thẻ RFID có mã thẻ Hình 4-29: Qt thẻ RFID có mã thẻ sai - - Các thông số điện áp đo mạch thực tế: Điện áp ngõ vào: 12V Điện áp vào RFID: 3.2V Điện áp vào LCD: 4.6V Điện áp vào PIC16F887: 4.6V Điện áp vào Relay: 4.5V Kiểm tra thực nghiệm thấy kết thơng số với lý thuyết Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 22/30 CHƯƠNG 1.12 - KẾT LUẬN Kết Mạch hoạt động tương đối tốt, với chương trình lập trình Khi người dùng muốn mở đóng cửa cần quét thẻ Hiểu nguyên lý hoạt động mạch đóng mở cửa RFID Hệ thống đóng mở cửa với yêu cầu đề tài 1.13 Ứng dụng Hiện hệ thống đóng mở cửa công nghệ RFID sử dụng rộng rãi phổ biến trường học, thư viện, nhà thông minh… 1.14 - Một số hạn chế Mạch thiết kế kích thước to so với số lượng linh kiện Chưa lập trình cho nhiều thẻ RFID Mạch có độ bền không cao 1.15 - Hướng phát triển Thiết kế hệ thống đóng mở cửa thực tế Lập trình cho hệ thống đóng mở cửa tự động thay phải qt thẻ để đóng - cửa Nâng cấp ngồi mở cửa RFID, thêm số tính mở cửa bàn phím số hay cảm biến vân tay… Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 23/30 TÀI LIỆU THAM KHẢO [1] http://www.piccircuit.com [2] http://arduino.vn/ [3] www.makerspace.vn [4] www.embed4fun.com [5] http://giapvn.blogspot.com/ [6] http://arduino.vn/ [7] http://projectpoint.in/ [8] http://ytuongnhanh.vn/ [9] http://www.alldatasheet.com/ Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 24/30 PHỤ LỤC A #include #use delay(clock=20000000) #fuses put,hs,nowdt,noprotect,nolvp #define lcd_enable_pin #define lcd_rs_pin #define lcd_rw_pin pin_D5 pin_D7 pin_D6 #define lcd_data4 pin_D4 #define lcd_data5 pin_C7 #define lcd_data6 pin_C6 #define lcd_data7 pin_C2 #include #define MFRC522_cs pin_E2 #define MFRC522_sck pin_C3 #define MFRC522_si pin_C4 #define MFRC522_so pin_C5 #define MFRC522_rst pin_E0 #include char DATA_LOI[5]={ 0x3D, 0xDB, 0x07, 0x52, 0xB3 }; void _Init_lcd(void); int1 THE_1=0, KT = 0, i; Mạch Đóng Mở Cửa Dùng RFID Dùng Vi Điều Khiển PIC16F ĐỒ ÁN Trang 25/30 char user1; int quet_the(char DATA[], char UID[]) { for(int i = 0; i < 5; i++) { if(UID[i] == DATA[i]) { THE_1 = 1; } else { THE_1 = 0; break; } } return THE_1; } void coibao(unsigned int8 hoi, unsigned int8 tieng) { unsigned int8 i,j; for(i=0;i