Đồ Án Vi Điều Khiển Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người Thực Hiện Bộ Môn Tự Động Hóa Khoa Điện Điện Tử Trường Cao Đẳng Kỹ Thuật Cao Thắng Tháng 11 năm 2020 Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người thực hiện Nhận xét của Giảng viên hướng dẫn Ký tên Nhận xét của Giảng viên phản biện Ký tên Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người thực hiện Hội Đồng Chấm Bảo Vệ (Trưở.
Tổng quan về đề tài
Sơ lược về công nghệ RFID
Công nghệ RFID cho phép đầu đọc nhận diện thông tin từ chip của thẻ RFID ở khoảng cách xa mà không cần tiếp xúc trực tiếp, thông qua phương thức truyền nhận dữ liệu điểm - điểm.
RFID là công nghệ truyền dữ liệu không dây qua sóng vô tuyến giữa chip trong thẻ RFID và đầu đọc RFID Đầu đọc sẽ thu thập dữ liệu từ thẻ và chuyển tiếp về bộ điều khiển để xử lý thông tin được lấy từ chip.
Ngày nay, RFID bị động là loại phổ biến nhất, trong đó thẻ RFID không có nguồn năng lượng riêng Các chip của thẻ không tích điện nếu không tiếp xúc với đầu đọc Thẻ hoạt động nhờ vào năng lượng được truyền từ sóng vô tuyến phát ra từ đầu đọc thẻ.
Giới thiệu sơ lược về hoạt động mạch
Khi cửa đóng, người dùng cần quét thẻ RFID đúng mã đã lập trình trong vi điều khiển lên module đọc thẻ để mở cửa Ngay lập tức, cửa sẽ mở, màn hình LCD hiển thị dòng chữ "Cho phép vào" và loa phát ra âm thanh nhỏ để thông báo cửa đã mở Tương tự, quá trình này cũng diễn ra khi đóng cửa.
Khi thẻ quét không hợp lệ (thẻ không được lập trình trong vi điều khiển), cửa sẽ không mở Hệ thống sẽ hiển thị thông báo cảnh báo trên màn hình LCD và phát ra âm thanh lớn, kéo dài để thông báo thẻ sai.
Mục đích nghiên cứu
Mạch đóng mở cửa được nghiên cứu nhằm tìm hiểu nguyên lý hoạt động của vi điều khiển PIC16F887A cùng các linh kiện liên quan, phục vụ nhu cầu phát triển của con người Qua quá trình nghiên cứu, sinh viên có cơ hội áp dụng kiến thức lý thuyết vào thực tiễn, từ đó nâng cao chuyên môn và kỹ năng của bản thân.
Mục tiêu của đề tài
• Cung cấp sự tiện lợi cho người sử dụng.
• Dễ dàng quản lý sự truy cập/từ chối
• Tạo mạch có tình kinh tế mà vẫn đảm bảo điều kiện hoạt động
Cấu trúc của quyển đồ án
Quyển đồ án này được cấu trúc
Chương 1: Giới thiệu tổng quát về đề tài
Chương 2: Lý thuyết cơ bản
- Giới thiệu linh kiện trong mạch
Chương 3: Sơ đồ khối và sơ đồ nguyên lý
- Thiết kế sơ đồ khối chi tiết
- Sơ đồ nguyên lý và quy trình hoạt động
- Chương 4: Chương trình điều khiển
- Chương 5: Kết luận và hướng phát triển
Lý thuyết cơ bản 5
Giới thiệu các linh kiện trong mạch
PIC là họ vi điều khiển RISC do công ty Microchip Technology sản xuất Dòng vi điều khiển PIC đầu tiên, PIC1650, được phát triển bởi bộ phận Microelectronics thuộc General Instrument Tên gọi PIC xuất phát từ chữ viết tắt của "Peripheral Interface Controller".
“Máy tính khả trình thông minh” (Programmable Intelligent Computer) là sản phẩm đầu tiên của hãng General Instruments, mang tên PIC1650 Thiết bị này được sử dụng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bit CP1600, do đó, PIC còn được gọi là “Peripheral Interface Controller”.
Bộ điều khiển giao tiếp ngoại vi (PIC) 8-bit được phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CPU CP1600, vốn kém trong lĩnh vực này PIC sử dụng microcode đơn giản trong ROM và mặc dù thuật ngữ RISC chưa được sử dụng thời điểm đó, nhưng thực chất nó là một vi điều khiển với kiến trúc RISC, hoạt động với một lệnh mỗi chu kỳ máy Năm 1985, General Instruments bán bộ phận vi điện tử của họ, dẫn đến việc hủy bỏ nhiều dự án lỗi thời Tuy nhiên, PIC đã được nâng cấp với EPROM, trở thành một bộ điều khiển vào ra khả trình Hiện nay, nhiều dòng PIC được sản xuất với các module ngoại vi tích hợp như USART, PWM, ADC, và bộ nhớ chương trình từ 512 Word đến 32K Word.
PIC16F887A, do công ty Microchip sản xuất, là một vi điều khiển thuộc dòng PIC16F, được sử dụng phổ biến tại Việt Nam Dòng vi điều khiển này rất phù hợp cho những người mới bắt đầu, giúp họ học tập và tìm hiểu, từ đó tạo nền tảng vững chắc trong lập trình vi điều khiển PIC.
Thông số kĩ thuật của PIC 16F877A
PIC16F877A có 40 chân với sự phân chia cấu trúc như sau :
+ Tập lệnh gồm 35 lệnh có độ dài 14 bit Mỗi lệnh đều được thực thi trong một chu kì lệnh
+ Tốc độ hoạt động tối đa cho phép là 20 Mhz với một chu kì lệnh là 200ns
+ Bộ nhớ chương trình 8Kx14 bit, Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
+ Bộ nhớ dữ liệu 368x8 byte RAM
+ Bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte, với khả năng ghi xóa được 1.000.000 lần và có thể lưu trữ trên 40 năm
+ Ngôn ngữ lập trình CCS
+ Có 8 kênh chuyển đổi ADC 10-bit
+ Có 3 bộ định thời: Timer0, timer1 và timer2
+ Chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C
Hình 2.2 Sơ đồ chân PIC 16F877A
Bảng 2.1 Chức năng các chân
- : Hoạt động Reset ở mức thấp
- VPP: Ngõ vào áp lập trình
2 RA0/AN0 -RA0: Xuất/nhập số
-AN0: Ngõ vào tương tự
3 RA1/AN1 -RA1: Xuất/nhập số
-AN1: Ngõ vào tương tự
VREF -RA2 : xuất/nhập số
-AN2 : ngõ vào tương tự
-VREF -: ngõ vào điện áp chuẩn (thấp) của bộ A/D
5 RA3/AN3/VREF+ -RA3 : xuất/nhập số
-AN3 : ngõ vào tương tự
-VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D
OUT -RA4 : xuất/nhập số
-TOCKI : ngõ vào xung clock bên ngoài cho timer0 -C1 OUT : Ngõ ra bộ so sánh 1 7
-RA5 : xuất/nhập số -AN4 : ngõ vào tương tự 4 -SS : ngõ vào chọn lựa SPI phụ -C2 OUT : ngõ ra bộ so sánh 2
8 RE0/ /AN5 -RE0 : xuất nhập số
-RD : điều khiển việc đọc ở port nhánh song song -AN5 : ngõ vào tương tự
9 RE1/ /AN6 -RE1 : xuất/nhập số
-WR : điều khiển việc ghi ở port nhánh song song
- AN6 : ngõ vào tương tự
10 RE2/ /AN7 -RE2 : xuất/nhập số
-CS : Chip lựa chọn sự điều khiển ở port nhánh song song -AN7 : ngõ vào tương tự
13 OSC1/CLKI Ngõ vào dao động thạch anh hoặc xung clock bên ngoài
Ngõ vào OSC1 là dao động thạch anh hoặc xung clock bên ngoài, được cấu tạo theo chế độ Schmitt trigger trong CMOS Ngõ vào CLKI cung cấp nguồn xung bên ngoài và luôn kết hợp với chức năng của OSC1.
14 OSC2/CLKO Ngõ vào dao động thạch anh hoặc xung clock - OSC2 : Ngõ ra dao động thạch anh Kết nối đến thạch anh hoặc bộ cộng hưởng
RC, ngõ ra của OSC2, bằng tần số của OSC1 và chỉ ra tốc độ của chu kỳ lệnh.
-RC0 : xuất/nhập số -T1OCO : ngõ vào bộ dao động Timer 1 -T1CKI : ngõ vào xung clock bên ngoài Timer 1
16 RC1/T1OSI/CCP2 -RC1 : xuất/nhập số
-T1OSI : ngõ vào bộ dao động Timer 1 -CCP2 : ngõ vào Capture 2, ngõ ra compare 2, ngõ ra PWM2
17 RC2/CCP1 -RC2 : xuất/nhập số
-CCP1 : ngõ vào Capture 1, ngõ ra compare 1, ngõ ra PWM1
18 RC3/SCK/SCL -RC3 : xuất/nhập số
-SCK : ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI
-SCL : ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ I2C
19 RD0/PSP0 -RD0 : xuất/nhập số
-PSP0 : dữ liệu port nhánh song song
20 RD1/PSP1 -RD1 : xuất/nhập số
-PSP1 : dữ liệu port nhánh song song
21 RD2/PSP2 -RD2 : xuất/nhập số
-PSP2 : dữ liệu port nhánh song song
22 RD3/PSP3 -RD3: xuất/nhập số
-PSP3 : dữ liệu port nhánh song song
23 RC4/SDI/SDA -RC4 : xuất/nhập số
-SDI : dữ liệu vào SPI
-SDA : xuất/nhập dữ liệu vào I2C
24 RC5/SDO -RC5 : xuất/nhập số
-SDO : dữ liệu ra SPI
25 RC6/TX/CK -RC6 : xuất/nhập số
-TX : truyền bất đồng bộ USART -
CK : xung đồng bộ USART
26 RC7/RX/DT -RC7 : xuất/nhập số
-RX : nhận bất đồng USART
-DT : dữ liệu đồng bộ USART
27 RD4/PSP -RD4: xuất/nhập số
-PSP4 : dữ liệu port nhánh song song
28 RD5/PSP5 -RD5: xuất/nhập số
-PSP5 : dữ liệu port nhánh song song
29 RD6/PSP6 -RD6: xuất/nhập số
-PSP6 : dữ liệu port nhánh song song
30 RD7/PSP7 -RD7: xuất/nhập số
-PSP7 : dữ liệu port nhánh song song
32 VDD Chân nguồn của PIC
33 RB0/INT -RB0 : xuất/nhập số
36 RB3 -RB3 : xuất/nhập số
-Chân cho phép lập trình điện áp thấp ICPS
39 RB6/PGC -RB6 : xuất/nhập số
-PGC : mạch vi sai và xung clock lập trình ICSP
40 RB7/PGD -RB7 : xuất/nhập số
-PGD : mạch vi sai và dữ liệu lập trình ICSP
Module RC522 là thiết bị đọc dữ liệu cho thẻ NFC ở tần số 13.56MHz, nổi bật với thiết kế nhỏ gọn và giá thành hợp lý Sản phẩm này phù hợp cho nhiều ứng dụng như mở cửa, kiểm soát phương tiện và quản lý hàng hóa Trong hệ thống RFID, thẻ RFID và đầu đọc RFID là hai thành phần quan trọng nhất.
Mỗi thẻ RFID được trang bị một chip riêng, mang mã thẻ độc nhất do nhà sản xuất quy định, đảm bảo không trùng lặp với bất kỳ mã thẻ nào khác Thông số kỹ thuật của module RC522 cũng rất quan trọng trong việc sử dụng công nghệ RFID.
Tần số làm việc: 13.56MHz.
Khoảng cách đọc: 1 đếm 2cm.
Hình 2.4 Sơ đồ chân module RC522
Chọn chuẩn giao tiếp SPI:
+ SDA: Chọn chip khi giao tiếp chuẩn SPI (chân được kích hoạt khi mức thấp).
+ SCK: Chân xung CLOCK truyền nối tiếp.
+ MOSI: Truyền khi cấu hình Master, nhận khi cấu hình Slave Dữ liệu truyền từ master đến slave thường được gửi với MSB trước.
+ MISO: Nhận khi cấu hình Master, truyền khi cấu hình Slave Dữ liệu truyền ngược từ slave đến master thường được gửi với LSB trước.
+ IRQ: Chân ngắt Trong mạch không sử dụng đến.
+ RST: Chân reset lại module.
+ 3.3V: Nguồn 3.3V Trong mạch sử dụng IC AMS1117 để cấp nguồn3.3V cho module RC522
Màn hình LCD 1602 xanh lá sử dụng driver HD44780 phổ biến trong các ứng dụng vi điều khiển, hiển thị 16 ký tự trên 2 dòng với chữ màu đen trên phông nền xanh lá Thiết bị này có khả năng hiển thị ký tự đặc biệt, dễ dàng giao tiếp với nhiều loại vi điều khiển và có giá thành rẻ Với nhiều mã code mẫu và tính dễ sử dụng, màn hình này rất phù hợp cho sinh viên trong quá trình học tập và nghiên cứu.
+ Điện áp hoạt động là 2.7-5 V.
+ Nhiệt độ làm việc -35 đến 75 o C.
+ Chữ đen, nền xanh lá
+ Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
+ Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
+ Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
+ Có thể được điều khiển với 6 dây tín hiệu
Sơ đồ chân của LCD 1602
Hình 2.6 Sơ đồ chân LCD Bảng 2.2 Chức năng từng chân
Số chân Ký hiệu chân Mô tả chân
3 V0 Nối với biến trở để điều chỉnh độ tương phản cho LCD
4 RS Chân chọn thanh ghi của LCD
5 RW Chân chọn chế độ đọc hoặc ghi của
6 EN Chân cho phép (chế độ đọc chân E mức cao, chế độ ghi chân
IC LM7805 tạo nguồn 5V cấp cho toàn mạch
+ Chân 1: Điện áp đầu vào Điện áp cấp vào nằm trong khoảng 7V đến 34V.
+ Chân 3: Điện áp ngõ ra Điện áp trong khoảng 4.7V đến 5.2V
+ Áp ngõ vào: 1.5< Vin-Vout