基于nRF24L01的无线门禁控制系统的设计与实现

控制/MCU

1813人已加入

描述

  本文基于51单片机和无线数据收发芯片nRF24L01,设计了一种无线门禁控制系统,该系统成本低,方案简单,扩展性好.通过人脸识别上位机系统,能够实时检测和识别来访者身份.如果数据库中包含来访者信息,则步进电机打开门锁,LCD显示来访者信息;否则,步进电机不转动,报警器报警,LCD显示报警信息.

  1、系统硬件设计

  1.1、系统结构和功能

  系统结构主要由PC端软件系统,发送端,无线数据传送模块和接收端组成,系统整体结构如图1.

  nRF24L01

  PC端软件主要是检测和识别来访者身份信息,并将信息转换成数据帧形式,通过RS232串口传送给发送端.发送端完成数据帧的加密、无线模块初始化和数据帧的发送.接收端完成数据帧的接收、解密和数据帧的命令响应,并且控制门禁系统.

  1.2、发送端和接收端硬件设计

  发送端和接收端采用的控制芯片是STC公司生产的89C52RC单片机,这是新一代高速,低功耗,超强干扰的单片机,指令代码完全兼容传统8051单片机,12时钟周期,采用11.0592MHz外部晶振起振,工作电压为3.8V~5.5V,DIP40封装,内部集成EEPROM,用户应用程序空间为8K,支持ISP下载程序.

  除了上述主控芯片外,还要预留必要的功能模块驱动接口,主要包括:nRF24L01无线射频芯片接口,步进电机接口,LCD液晶接口和其他的外部扩展接口.

  nRF24L01无线射频芯片接口共有8个引脚,分别为GND,VCC,CE,CSN,SCK,MOSI,MISO和IRQ,其中GND为电源地,VCC为3.3V工作电压,IRQ为外部中断引脚,其余为芯片的控制引脚和数据引脚.采用USB供电,电压约为5V,所以需要将5V电压转换成3.3V电压.电源转换电路主要采用AMS1117-3.3芯片,它是一个正向低压降稳压器,具有1%的有效精度,电路设计如图2.

  nRF24L01

  图2中AMS1117-3.3芯片VIN引脚接5V电压,VOUT输出3.3V电压.加入CJ3极性电容,用于去除稳压前后电路中的纹波.

  nRF24L01无线射频芯片的接口电路设计如图3.

 nRF24L01

  图3中nRF24L01射频模块的CE,SCK,MISO,MOSI,CSN外接1K电阻与单片机P2口连接,IRQ外接1K电阻与单片机外部中断引脚连接,每发送或接收一帧数据后都会触发单片机外部中断.

  步进电机接口为6引脚,其中VDD为5V电压,GND为电源地,其余为步进电机励磁引脚,分别与单片机P1口连接,由P1口提供励磁脉冲.

  液晶屏采用LCD12864,其供电电压为4.5V~5V,工作电流为3mA,内部集成字库.2,3引脚外接2K电位器,用于调节屏幕背光亮度,其余为数据和控制引脚.电路设计如图4.

  nRF24L01

  1.3、nRF24L01硬件设计

  nRF24L01是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片.无线收发器包括:频率发生器、增强型SchockBurstTM[7-8]模式控制器、功率放大器、晶体振荡器、调制器、解调器.输出功率、频道选择和协议设置可以通过SPI接口设置.发射模式下功率-6dBm时电流为9mA,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低.电路设计如图6.

  nRF24L01

  图6     nRF24L01外部电路设计

  1.4步进电机驱动电路设计

  步进电机为28BYJ-48型五线四项八拍型,工作电压为直流5V~12V,正常工作需要一系列连续不断的激励脉冲.由于单片机IO口提供的脉冲信号不够大,需要外加ULN2003信号放大电路,电路设计如图7.图中JP2连接步进电机IO口,JP3连接到单片机IO口.

 nRF24L01

  2、系统软件设计

  2.1、nRF24L01软件设计

  nRF24L01芯片通过设置配置寄存器中PWR-UP位和PRIM-RX位以及CE引脚的电平来控制其工作模式,具体如表1.

  nRF24L01

  文中主要利用前3种工作模式,发送端或接收端检测到各自数据缓冲区中有数据时,由待机模式进入发送或接收模式,数据处理完毕将状态寄存器TX-DS或RX-DR位置高,IRQ引脚产生中断,此时由发送或接收模式进入待机模式,等待数据进入数据缓冲区,IRQ中断后要通过单片机写状态寄存器来复位.

  nRF24L01数据发送或接收主要通过SPI接口实现,采用STC89C52RC单片机IO口模拟出SPI接口的工作时序,SPI读写时序如图8,9.

  nRF24L01

  完成芯片基本功能后需要对芯片进行初始化,保证发送端和接收端的地址宽度,信道工作频率,发射和接收速率以及功率一致.文中对nRF24L01芯片初始化过程如表2.

  nRF24L01

  数据通道0有40位可配地址,当从一个数据通道中接收到数据,并且此数据通道设置为应答方式的话,则nRF24L01在收到数据后产生应答信号,此应答信号的目标地址为接收通道地址.数据通道0地址设置如图10.

nRF24L01

  系统有一个发射端和多个接收端,所以采用的通信协议要简单可靠,在SchockBurstTM协议的基础上将文中通信协议设置成:

  前导码地址(5Byte)有效数据   CRC校验

  前导码用来检测0和1,芯片在接收模式下去除前导码,发送模式下加入前导码.地址5字节,内容为接收地址,可以对发送信道和接收信道分别进行设置,接收端从接收的数据包中自动去除地址,所有地址在门禁系统中都是唯一的.有效发送数据最大为15字节.CRC校验位16bit.所有接收端都将接收带地址码的数据帧,并将接收地址与本地地址进行比较,如相同则再分别验证前导码和CRC校验码,如还相同则将有效数据送入数据缓冲区中再进行处理.

  2.2、步进电机软件设计

  步进电机有三线式、五线式和六线式,但其控制方式均相同,都要以脉冲信号电流来驱动.

  步进电机的励磁方式分为全步励磁和半步励磁.其中全步励磁又分为一相励磁和二相励磁,半步励磁又称一二相励磁.文中步进电机为五线四项八拍电机,考虑到门禁系统的对实时性和快速性的要求,因此,采用二相励磁方式,其主要特点是:输出转矩大,振动小.励磁顺序如表3.

 nRF24L01

  3、实验结果

  通过对整个门禁控制系统的软硬件进行设计,做出测试样品,并且经过10组,每组30次测试,证明该门禁系统具有较好的控制能力.在有障碍物(如墙壁等)遮挡的情况下,10m距离以内,数据帧从发送到门禁控制系统响应平均用时1.4~2.5s,数据帧传送错误率平均在1.67%,即有5组测试中出现了一次数据帧传送错误.门禁控制系统设计如图11.

  

  4、结论

  通过多次大量分组实验,证明文中设计的无线门禁系统有较好的实时性和准确性,在有障碍物条件下,数据传输也能满足实用性要求,达到了预期的设计目标.

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分