STM32 RC522智能门锁

本文讲述了如何为宿舍门锁添加STM32RC522实现NFC自动开锁功能,涉及硬件选择(包括低功耗人体感应模块),接线与开发过程中的挑战,以及后续优化方案。作者分享了在项目实施中遇到的多个问题和解决方法。
摘要由CSDN通过智能技术生成

STM32 RC522智能门锁

为宿舍的老旧门锁添加一个自动开锁装置,实现用手机刷NFC即可实现自动开锁(夏天就只需要一个手机就可以食堂、宿舍走了)
需求:智能、低功耗

一、方案

1. 硬件选择

1) 测试:测试阶段使用arduino + rc522,测试了rc522虽然叫RFID读卡器,但是也也可以对手机的NFC卡进行读取。(实际上,NFC是RFID的一个子集,主要用于近场高速通信)。
2)功耗:由于RC522的功耗比较高,有几十mA,对于2000mAh电池用不了多久。需要低功耗处理,采用人体感应模块从门地下突出,检测到人则打开模块一段时间,无人则关闭全部进行休眠。
3)方案:stm32开发板、人体感应模块、RC522、电机、电机驱动、一个PMOS(用于控制RC522的VCC引脚是否供电),锂电池供电(锂电池可长期接一个充电模块,反向无多少损耗)

2. 接线

stm32的spi接RC522、PA0(待机模式外部唤醒引脚)接人体感应模块,4个引脚通过电机驱动连接电机,一个引脚通过pmos的B极控制RC522的VCC。

二、开发

1)使用stm32cubemx+ide进行开发,在mx中进行图形化配置,并在时钟设置中设计一个比较低的频率。
2)代码逻辑:唤醒或开机后,初始化成功后,每隔500ms启动RC522进行读取和卡号匹配,最后运行到人体感应模块高电平消失后的10s。这段时间内有匹配到卡号,则驱动电机进行开门,最后关闭rc522电源并进入低功耗。
3)功率测试:启动后电流在10mA,RC522测试过程中功耗20mA(每次读取的时候打开天线,读取完成后关闭天线),待机模式50uA(其中人体感应模块使用40uA)。预计可以使用一个月。

三、辛酸历程

这个我才是想说的,一个这么简单的东西,不画板子就用现有的开发板和模块,岂不是一个下午就可以完成。然而,4个模块遇到6个问题,我想我所有的问题都遇到了。

  1. 人体感应模块:最开始是人体感应模块总是输出高电平,但是并没有人在前面。【人体感应模块离前面太近,比如桌面、盒子挡在前面就会出现问题,导致一直以为有人输出高电平,对准空的地方即可】
  2. 人体感应模块:使用外部烧录器供电就会出现关机后出现上升沿唤醒。【外部3.3V供电,在待机的时候电流突变导致电压不稳。使用5V供电解决】
  3. rc522:RC522本来是想用现成的ULN2003控制其gnd引脚的,但是有时候发现无法正常启动,RC522的GNS引脚电压为0.7V。【ULN2003的达林顿管,不像mos管那样,其导通后还是会有压降。后面改用pmos(也可以nmos,但是手上只有pmos),加一个电阻在BE即可】
  4. stm32:最开始使用的stm32,无法使用ide进行烧录,显示GDB服务器错误啥的。【换了一个开发板解决,大概率是因为stm32cubeide会对stm32芯片进行监测,发现盗版就会报错。开始以为是烧录器问题,还是不行。不过烧录器是jlink复刻的盗版也是会警告说非法,但是不影响使用】
  5. 移植到门上就无法正常工作。【最闹心的,在测试过程中就发现有时候RC522读取不到,有时候正常工作,可以工作的时候移植到门上,就无法工作。修改时钟、将SPI引脚的miso上拉、取消RC522的休眠等都是有时候可以有时候不行,以为是导线问题但是万用表测试没问题,最后最后,原来是stm32最小板的引脚焊接有问题,其gnd并没有焊接上去(看起来圆润饱满,但是之前温度不够导致并没有焊接在上卖弄)】

四、后续优化方案

  1. 由于开门几乎没有声音,可以加一个led引出门外,表示开门成功,否则过了时间就无法开门了。
  2. 电机的驱动能力有限。
  • 25
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32 RC522上位机是一种用于与RC522芯片通信的上位机。RC522芯片是一款射频卡片读写器,可用于读取和写入13.56MHz射频卡片的数据。而STM32是一款32位的微控制器,具有丰富的外设和强大的处理能力。 STM32 RC522上位机能够通过串口或者USB接口与STM32单片机进行通信,实现对RC522芯片的控制与管理。上位机一般由上位机软件和硬件组成。硬件部分包括串口模块或USB模块,用于与STM32单片机进行数据交换。软件部分一般由上位机应用程序组成,负责与用户交互、控制RC522芯片的功能以及处理数据。 通过STM32 RC522上位机,我们可以实现以下功能: 1. 读取和写入射频卡片的数据:通过上位机软件,我们可以发送指令给STM32单片机,控制RC522芯片读取和写入射频卡片的数据,实现对卡片的读写操作。 2. 卡片识别与验证:上位机软件可以通过发送命令给STM32单片机,控制RC522芯片对射频卡片进行识别与验证,判断卡片是否有效或是否有权限进行操作。 3. 数据处理和存储:上位机软件可以对从RC522芯片读取的数据进行处理和存储,例如将读取的卡片信息保存到数据库或者发送给其他系统进行进一步处理。 4. 卡片操作记录管理:上位机软件可以记录每次对射频卡片的操作,包括读取、写入、验证等操作,方便用户进行管理和查询。 总而言之,STM32 RC522上位机是一种用于与RC522芯片通信的设备,通过与STM32单片机进行通信,实现对射频卡片的读写、验证和数据处理等功能,为射频卡片应用提供了方便和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值