基于STM32的智能门锁系统的设计.docx
- 文档编号:30857564
- 上传时间:2024-04-02
- 格式:DOCX
- 页数:28
- 大小:3.04MB
基于STM32的智能门锁系统的设计.docx
《基于STM32的智能门锁系统的设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的智能门锁系统的设计.docx(28页珍藏版)》请在冰豆网上搜索。
摘要
随着人们安全意识的不断提高和安全技术的发展,传统的机械锁将被智能门锁逐渐取代。
使用指纹,密码或其他方式替换钥匙,用户不再需要担心出门时忘记带上钥匙或者意外丢失了钥匙,而站在门外,或者当他们逛街回家带一个大袋子时,站在门外翻包找钥匙等情况,这为日常生活提供了很多便利。
本设计由STM32F103C8T6单片机核心电路板、生物指纹识别电路、薄膜矩阵键盘电路、RFID-RC522射频感应电路、LCD12864液晶显示电路以及蜂鸣器模块电路组成。
支持指纹、NFC、密码以及感应卡四种方式进行开锁。
通过LCD12864液晶显示屏显示系统操作界面,分别有运行界面、密码管理界面、指纹管理界面以及IC卡管理界面。
本系统具有分级管理权限,管理员才可以进行增删信息,比如修改密码、添加或者删除指纹信息以及IC卡信息等;支持虚位密码,在正确密码前后可随意输入数字,保护真实密码;多次密码或指纹开锁失败则劫持开锁,使用管理员密码即可开锁并恢复正常。
关键词:
智能门锁;STM32;指纹识别;射频识别模块;虚位开锁密码
Abstract
Withthecontinuousimprovementofpeople'ssafetyawarenessandthedevelopmentofsafetytechnology,traditionalmechanicallockswillbegraduallyreplacedbyintelligentdoorlocks.Usefingerprints,passwordsorotherwaystoreplacethekey,usersnolongerneedtoworryaboutforgettingtobringthekeywhentheygooutoraccidentallylosingthekey,andstandingoutsidethedoor,orstandingoutsidethedoorwhentheygohomeshoppingwithabigbagforexample,findingakey,thisprovidesalotofconveniencefordailylife.
ThisdesigniscomposedofthecorecircuitboardofSTM32F103C8T6singlechipmicrocomputer,biologicalfingerprintidentificationcircuit,filmmatrixkeyboardcircuit,RFID-RC522radiofrequencyinductioncircuit,LCD12864liquidcrystaldisplaycircuitandbuzzermodulecircuit.Supportfingerprint,NFC,passwordandproximitycardtounlock.ThesystemoperationinterfaceisdisplayedthroughtheLCD12864liquidcrystaldisplay,whichrespectivelyhasarunninginterface,apasswordmanagementinterface,afingerprintmanagementinterface,andanICcardmanagementinterface.Thissystemhashierarchicalmanagementauthority,andadministratorscanaddordeleteinformation,suchaschangingpasswords,addingordeletingfingerprintinformationandICcardinformation,etc.Itsupportsvirtualpasswords,youcanenternumbersbeforeandafterthecorrectpasswordtoprotecttherealpassword;multiplepasswordsorifthefingerprintunlockingfails,theunlockingishijacked,andtheadministratorpasswordcanbeusedtounlockandreturntonormal.
Keywords:
smartdoorlock;STM32singlechipmicrocomputer;fingerprintidentification;radiofrequencyidentificationmodule;virtualpassword
目 录
第一章绪论 1
1.1课题背景及其意义 1
1.2国内的研究状况 1
1.3论文结构安排 2
第二章整体方案设计 3
2.1需求分析 3
2.2系统整体方案 3
2.3系统整体框架图 4
第三章硬件电路的设计 5
3.1硬件电路总体设计 5
3.2传感器模块电路设计 5
3.2.1STM32单片机核心电路设计 5
3.2.2ATK-AS608生物指纹识别模块 7
3.2.3RFID-RC522读卡模块 9
3.2.4LCD12864液晶显示模块 12
3.2.5薄膜矩阵键盘模块 15
3.2.6AMS1117-3.3v电源模块 16
3.2.7有源蜂鸣器模块 17
第四章系统软件设计分析 18
4.1单片机程序开发环境 18
4.2ARM软件库开发流程 18
4.3系统软件流程图 19
第五章系统的焊接与调试 21
5.1电路焊接 21
5.2系统调试 21
5.2.1系统程序调试 22
5.2.2系统硬件调试 22
5.3实物测试 22
参考文献 24
致谢 25
附录 26
第一章绪论
1.1课题背景及其意义
传统锁具一直都是使用钥匙进行开锁,人们常会遇到钥匙丢失或者忘记钥匙放在哪里而找不到等各种问题。
如果使用指纹、密码或其他方式代替钥匙,用户不再需要担心外出时忘记携带钥匙,不小心丢失钥匙以至于重新配钥匙,也不用因为丢失钥匙要更换门锁,或者出去购物背着大包回家时,不得不站在门外翻包找钥匙等情况,为日常生活提供了诸多便利。
锁具的发展历程几乎与人类文明度过了相同的漫长岁月。
如今出现了各种各样的高端锁类,锁具的发展历史持续了很久。
现在,锁具最重要的发展变化之一是智能锁,这是互联网技术和智能识别技术一起出现的新一代产品。
智能门锁不同于传统锁类的重要特性,因为它具有更智能的用户识别、安全性以及可管理性。
不是为了简单的方便,而是为了构建更加统一的智能生态网络和让智能门锁进入物联网范畴。
因此,在确保高安全性的同时,灵敏的检测和人性化的功能成为现代智能门锁努力的方向。
1.2国内的研究状况
如今智能化生活的逐渐普及,智能家居的概念越来越流行,智能门锁市场也逐渐流行起来,形成了一个新的出路。
如今,有许多种智能家庭终端。
无钥匙时代的逐步到来,不仅促进了智能门锁行业的快速发展,也推动了智能门锁行业随着人工智能的兴起而爆发。
如今,许多的酒店和公寓基本都会配置智能门锁,住户完全不需要使用钥匙也不必要担心钥匙丢失问题,只需要进行指纹识别、IC卡或者密码等即可开门,提供了非常好的使用体验,这基本成为了高档酒店的标准配置。
这也借此为智能门锁的发展提供了巨大的市场,智能门锁行业也趁机快速发展。
随着智能时代的逐步到来,人们对便捷的生活方式也越来越依赖,向往一切都在自己掌握的状态。
随着智能门锁行业的不断发展和完善,产品也越来越多样化,功能也在不断增加。
比如人脸识别、语言控制、密码输入、IC卡识别等等,还有一些可以记录开门情况并上报信息给用户,大大提高了安全性能。
而且智能门锁的样式也的千姿百态,小巧美观,满足了许多用户的个性的要求。
智能门锁在中国的市场渗透正在加深。
根据消费者购买智能门锁考虑因素的调查结果,86.8%的消费者重视智能门锁的安全性。
对消费者来说,第一个最重要的考虑是实用性和方便性,第二个是质量。
根据消费者的考虑和智能门锁行业的发展趋势,安全性、便利性和适用性将成为产品的主流。
然而,消费者最关心的安全问题将进一步加强,智能门锁作为真正意义上的隐私保护者的作用将逐渐显现出来。
1.3论文结构安排
第一章:
主要介绍本设计的课题背景意义及国内研究状况;
第二章:
主要是对系统的需求分析以及介绍系统整体方案的设计;
第三章:
主要介绍系统整体硬件电路的设计和各个传感器模块电路的设计;
第四章:
主要介绍系统软件设计开发环境和开发流程,以及系统整体的软件设计流程;
第五章:
主要介绍系统整体电路的焊接与硬件的调试,以及最终整体系统软硬件联调。
第二章整体方案设计
2.1需求分析
搭建简单的智能门锁系统作品,需要相应的硬件与软件结合,本设计基于STM32的智能门锁系统主要实现的功能要求有:
(1)显示屏显示操作界面;
(2)使用者可以通过设置按键进入管理界面,可以修改密码,管理指纹库以及IC卡信息管理;
(3)密码断电也不会丢失,具有断电存储功能;
(4)支持虚伪密码,在正确密码前后可随意输入数字,保护真实密码;
(5)录入正确的指纹之后,当手指放在指纹识别模块上面,检测到指纹正确之后便会打开门锁;
(6)添加IC卡信息后,IC卡放在读卡模块上进行读取识别,检测到IC卡信息正确打开门锁;
(7)通过按键输入开锁密码,密码匹配正确则开锁;
(8)如果指纹、IC卡、密码等信息识别匹配错误,五次以上识别错误系统便会锁死;
(9)系统具备管理员密码,即使忘记密码之后,管理员密码也可以打开电磁锁。
以上的功能都需要使用不同的传感器模块来实现,比如输入密码需要使用矩阵按键模块;指纹识别需要用到生物指纹识别模块;IC卡识别需要使用射频读取模块;信息显示需要用到LCD显示屏等。
通过STM32主芯片连接各种传感器进行数据处理,实现上述各项功能。
2.2系统整体方案
硬件系统设计与软件系统设计的组合构成了基于STM32的智能门锁系统设计。
硬件系统的设计由STM32F103C8T6单片机核心板电路、AS608生物指纹识别电路、RC522读卡模块识别电路、薄膜矩阵键盘电路、LCD12864液晶显示电路和蜂鸣器电路组成。
在软件系统设计中,对指纹识别模块采集的指纹数据经过图像归一化、图像二值化、细化以及多重滤波等方式进行处理,再与存储的指纹进行识别匹配,同时在LCD12864液晶显示屏上显示处理过程信息。
对通过RFID-RC522射频模块检测的IC卡进行匹配,查找内存中是否存在该卡信息,LCD12864液晶显示屏显示相关信息。
对通过矩阵键盘输入的密码进行遍历匹配,查找输入的密码信息中是否存在正确密码,并且通过LCD液晶显示屏实时显示相关的操作信息。
2.3系统整体框架图
为了实现上述需求,需要对各个传感器电路进行设计搭建,系统整体框架如下图2.1所示。
STM32F103C8T6
指纹识别电路
矩阵键盘电路
射频模块电路
LCD12864显示电路
蜂鸣器电路
图2.1系统整体框图
第三章硬件电路的设计
3.1硬件电路总体设计
一种基于STM32的智能门锁系统的整体构成主要硬件是AS608生物指纹识别模块、RC522读卡模块、薄膜矩阵键盘模块、LCD12864液晶显示屏模块、有源蜂鸣器模块、以及STM32F103低功耗系列单片机及其电路组成的电路。
还有电源部分,分别提供合适的电压电源给STM32单片机,硬件功能框如图3.1所示。
图3.1硬件电路功能框图
3.2传感器模块电路设计
3.2.1STM32单片机核心电路设计
本设计采用STM32F103主控芯片,以ARM32位Cortex-M3高性能CPU为核心,工作频率为72MHz。
该芯片具有三种低功耗模式,包括睡眠模式,所有外围设备仅在CPU停止以及发生中断或事件时才连续运行,停止模式以最小的功耗保持寄存器和SRAM的内容[1]。
同时,当STM32f103进入停止或待机状态时,相关的时钟不会停止,电池电压仅向实时时钟RTC和备份寄存器供电,以最大程度地提高能效并以最小的功耗完成任务。
该芯片具有最高的集成度,内置复位电路、带唤醒功能的低电压检测功能、稳压器、兼容5V输入输出引脚以及精确的内部RC振荡器等,这为开发人员带来了灵活性。
除了与突出的简单结构和制造工艺相关的节能特性之外,STM32f103系列还提供了额外的功能,使开发人员能够提高应用程序设计的效率和可行性。
STM32f103还设置了两种调试模式,包括串行调试SWD接口,可通过ST-Link或J-Link进行调试。
多达112个快速I/O端口,可轻松实现数字和模拟I/O。
单片机核心板电路图如图3.2所示。
图3.2STM32单片机核心板接口原理图
实物图如下图3.3所示。
图3.3STM32单片机核心板实物图
3.2.2ATK-AS608生物指纹识别模块
ATK-AS608生物指纹识别模块是ALIENTEK公司推出的一种高性能光学指纹识别模块[2]。
AS608指纹识别模块采用了中国著名的指纹识别芯片公司杭州晟元芯片技术有限公司的AS608指纹识别芯片[2]。
该芯片具有很高的效率去获取图像并进行数据特征的提取和处理。
该模块有串行通信端口和USB通信接口。
用户使用该模块,不需要理会内部的繁杂操作,比如图像处理和指纹识别算法,只需要通过串口发送指令来进行控制即可。
该模块可应用的场景有许多种,例如指纹锁,保险箱,指纹门禁系统,考勤机等。
3.2.2.1ATK-AS608指纹识别模块主要技术参数
(1)工作电压(V):
3.0~3.6V,典型值:
3.3V;
(2)工作电流(mA):
经典值:
40mA,范围:
31~60mA;
(3)USART通讯:
波特率(9600×N),N=1~12。
默认N=6,bps=57600;
(4)USB通讯:
2.0FS(2.0全速);
(5)传感器图像大小(pixel):
256*288pixel;
(6)指纹存容量:
300枚(ID:
0~299);
(7)工作环境:
温度(℃):
-20~60,湿度<90%(无凝露)。
3.2.2.2ATK-AS608接口的引脚说明
ATK-AS608指纹识别模块采用8芯1.25mm间距单排插座,其接口的引脚说明如下:
(1)第1引脚(Vi):
模块电源正输入端;
(2)第2引脚(Tx):
串口数据发送;
(3)第3引脚(Rx):
串口数据接收;
(4)第4引脚(GND):
信号地;
(5)第5引脚(WAK):
感应信号输出端,默认高电平有效;
(6)第6引脚(Vt):
触摸感应电源输入端,3.3v供电;
(7)第7引脚(U+):
USBD+;
(8)第8引脚(U-):
USBD-。
3.2.2.3模块指令格式
模块通过串口与外部控制器进行通讯,模块进行通讯需要使用正确的命令包格式,这根据各个传感器模块的不同而命令包格式也不同。
该模块具有命令包格式、数据包格式和结束包格式三种指令格式,各个指令包的数据格式如下图3.4所示。
图3.4AS608模块指令格式
发送到模块和接收模块的数据包格式相同。
l数据包只有在收到命令包或结束包后再发送。
l数据包长度=从包长度到校验和的总字节数。
l校验和=包标识符+校验和的所有字节。
l在生成模块地址之前,它是默认的0xFFFFFF。
主机使用命令生成模块的地址后,一定要使用生成的地址发送和接收所有数据包。
否则模块将拒绝接收发送的数据包。
3.2.2.4ATK-AS608模块应答格式
响应是指将相关命令的执行状态以及执行结果发送给主机。
响应包含后续软件包可以遵循的参数。
主机接收到模块的响应包后,可以确认包的接收和模块的指令执行。
模块响应包包含一个参数:
确认代码。
确认码表示指令已完成。
模块响应格式如下图3.5所示。
图3.5AS608模块应答格式
3.2.2.5模块电路及其外观
AS608模块内部PCB如图3.6所示。
图3.6AS608模块PCB电路
其实物图如下图3.7所示。
图3.7AS608模块实物图
3.2.3RFID-RC522读卡模块
RFID-RC522读卡模块集成MFRC522芯片电路,具有低电压、低成本、小体积和非接触式读取的特点。
该模块使用方便,成本低廉,采用3.3v电压供电,使用SPI接口进行通信,它与主机间通信采用SPI模式,有利于减少连线,缩小PCB板体积,降低成本,可以保证模块稳定可靠的工作、读卡距离远。
该模块功能框图如下图3.8所示。
图3.8RFID-RC522功能框图
3.2.3.1RFID-RC522射频模块主要技术参数
(1)工作电流:
13—26mA(DC);
(2)工作电压(V):
2.5-3.3V电源;
(3)工作频率:
13.56MHz;
(4)工作温度:
21—80℃;
(5)放置温度:
40—84℃;
(6)相对湿度:
5%—96%;
(7)内部振荡器连接27.12MHz石英晶振,有可编程定时器和内部自检。
3.2.3.2RFID-RC522接口的引脚说明
RFID-RC522模块采用7芯1.25mm间距单排插座,其接口的引脚说明如下:
(1)第1引脚(SDA):
数据接口;
(2)第2引脚(SCK):
时钟接口;
(3)第3引脚(MOSI):
SPI接口,主发从收;
(4)第4引脚(MISO):
SPI接口,主收从发;
(5)第5引脚(NC):
悬空;
(6)第6引脚(RST):
复位信号;
(7)第7引脚(3.3V):
电源输入。
3.2.3.3RFID-RC522通讯格式
RC522与微控制器之间通过SPI接口进行高速串行通信。
在SPI通信中,RFID-RC522模块是从属模块,时钟信号SCK由主机产生,主设备通过MOSI引脚发送数据到从设备;模块通过MISO引脚与主设备进行数据交互。
图3.9连接到带有SPI接口的微控器
一、读数据
通过SPI接口从模块读取数据的通信格式如下图3.10所示。
图3.10读数据时MOSI和MISO的字节顺序
二、写数据
通过SPI接口往模块写入数据的通信格式如下图3.11所示。
图3.11写数据时MOSI和MISO的字节顺序
三、模块地址字节
每个模块都有其对应的模块地址,当需要选用某个模块时,就需要通过SPI发送该模块的地址。
模块地址字节格式如下图3.12所示。
图3.12模块地址字节格式
3.2.2.4模块封装及其外观
RFID-RC522模块采用飞利浦制造商C522原装芯片设计读卡器电路。
使用方便,成本低。
其芯片封装如图3.13所示。
图3.13RC522芯片封装
其实物图如下图3.14所示。
图3.14RFID-RC522模块实物图
3.2.4LCD12864液晶显示模块
液晶作为一种显示装置,广泛应用于仪器仪表和电子设备等低功耗产品,在数字电路中,所有的数据都用0和1来保存,通过对LCD控制器进行不同的数据操作,可以得到不同的结果[5]。
常用汉字有6000多种,使用ASCII表中的128个最小值来收集两个汉字,即汉字的内部代码。
剩余的128位保留给英文字符。
有带字体和不带字体的两种类型。
第一种是没有字体的LCD,这就需要用户提供自己的字体库,可以设置各种字体显示样式,设计更加灵活。
第二章是带字体的LCD,但是只能显示GB2312类型。
每个都有优点和缺点,并且可以根据不同的应用场景灵活选择。
其LCD12864液晶显示模块的原理图如下图3.15所示。
图3.15LCD12864液晶显示模块原理框图
3.2.4.1LCD12864液晶显示模块基本参数
(1)工作电压:
+3.0--+5.5V,直流;
(2)分辨率:
128×64点;
(3)模块内置中文字库,提供8192个16×16点阵汉字[6];
(5)通讯方式:
串行、并口可选;
(6)显示颜色:
蓝屏;
(7)工作温度:
0℃~54℃;
(8)放置温度:
-21℃~63℃。
3.2.4.2模块引脚说明
LCD12864液晶显示模块采用20芯1.25mm间距单排插座,其接口的引脚说明如下图3.16所示。
图3.16LCD12864引脚说明
3.2.4.3LCD12864液晶显示模块接口时序
1、并行通讯方式时序图:
图3.17MPU写数据到模块时序图
图3.18MPU从模块读数据时序图
2、串行通讯方式时序图:
图3.19串行连接时序图
3.2.4.4模块用户指令集
每次对模块进行操作,都需要确认模块不忙,也就是说,在读取BF标志时,BF必须为0。
图3.20用户指令集
3.2.4.5LCD12864模块外观
外观尺寸:
93×70×12.5mm,视域尺寸:
73×39mm。
图3.21模块外观尺寸
LCD12864液晶显示模块实物图如下图3.22所示。
图3.22LCD12864模块实物图
3.2.5薄膜矩阵键盘模块
键盘的矩阵结构比单个按键一对一直接连接引脚的方法复杂,相应的读取识别也更复杂。
本设计选用的是薄膜矩阵键盘,它的引脚采用标准的7芯杜邦头,间距0.254cm,可以直接插在排针上连接到电路;键盘背面白色贴纸可以揭去,牢固粘贴在物体表面,方便放置。
其电路原理图如下图3.23所示。
图3.23LCD12864模块实物图
3.2.6AMS1117-3.3v电源模块
该AMS1117系列电压调节器有可调和各种固定电压版本。
这里采用的AMS1117模块是固定输出版本,固定输出3.3v电压。
为STM32单片机提供工作电源。
模块的电路原理图如下图3.24所示。
图3.24AMS1117-3.3v模块原理图
3.2.6.1AMS117-3.3v模块基本参数
(1)正常工作输入电压:
4.4V-7V(DC);
(2)正常工作输出:
3.3V,800.5mA;
(3)1.2V电压差:
输入只比输出高1.2V即可正常工作;
(4)带电源指示灯。
3.2.6.2AMS117-3.3v模块外观
模块尺寸:
8.6mm´12.33mm(指尖般大小)。
其实物图如下图3.25所示。
图3.25AMS1117-3.3v模块实物图
3.2.7有源蜂鸣器模块
有源蜂鸣器采用多晶片集成电路(SOT塑封装),此集成电路采用金丝球焊接,生产工艺复杂,使用寿命长,性能稳定,产品合格率高。
有源蜂鸣器内部带震荡源,所以只要通电就会发出声响。
3.2.7.1基本参数
(1)电压:
3V直流电压;
(2)最大电流:
30MA;
(3)最小声压:
86db/10cm;
(4)谐振频率:
2.5---0.3kHZ;
(5)工作温度:
-20----70度;
(6)重量:
2g。
3.2.7.2有源蜂鸣器模块外观
有源蜂鸣器模块的高度为0.9cm,半径0.5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 智能 门锁 系统 设计