标准版
#第六届立创电赛#低功耗指纹开门装置

创建时间:3年前

视频

描述

<h1>1、项目功能介绍</h1> <pre><code> 本设计为一款应用于寝室的低功耗指纹锁,让普通宿舍门带有指纹解锁功能,也可以应用于自家的房门,免去我们在日常生活中忘记带钥匙,进不去寝室的烦恼。安全性还欠缺保障,但是并不会因为外部电路的短接之类的开门。 采用18650电池供电,低功耗设计,安装简单,板载充电接口,设备待机电流22uA,一节锂电池可以使用3-6个月,实测从2021年7月8日正式装上,电池充满电(2000Mah,冲至4.2V),每天开门至少10次以上(寝室6个人),到2021年9月5日止,当前电压为3.86V,使用40%左右电量,实际测试,低功耗达到了要求。 </code></pre> <p><img src="//image.lceda.cn/pullimage/QwE01erqKN7UKFQA8p9KecwvAQgoIy96zBDWO6CC.jpeg" alt="QQ图片20210712114903.jpg"></p> <h2><strong>使用方法:</strong></h2> <p><strong>一、添加指纹</strong></p> <ol> <li>按最右边按键唤醒设备,点亮显示屏;</li> <li>手指放在指纹传感器上,再按下最左边的按键,添加指纹。一个手指可添加多次(四周与中心共5个,可以增加识别正确率);</li> <li>按下中间的按键会提示是否删除所有指纹;</li> <li>长时间无操作会进入休眠状态。</li> </ol> <p><strong>二、设置舵机行程</strong></p> <ol> <li>先在休眠模式实现开门功能一次。完成后,这时舵机的转子就在关门的状态,还要确定一下确定舵机转动方向,;</li> <li>指纹舵机转动角度一定,但是安装舵机臂时的起始角度可以改变,调整舵机臂起始角度,主要不要让舵机堵转,容易损坏舵机;</li> <li>将设备用双面泡沫胶,找好合适位置粘在门上(放手指在指纹传感器上时使用方便,排线距离足够,舵机有合适的位置安装);</li> <li>用绳子将舵机臂最远端的小孔与门把手相连,舵机转动就会带动门把手转动。调整好舵机的起始角度,让舵机转动到终止角度时正好可以开门(注意舵机臂的受力问题,否则会很容易就损坏舵机)。</li> </ol> <h1><strong>2、制作难点</strong></h1> <h2><strong>1)、主要设备功耗控制</strong></h2> <pre><code> 低功耗设计不仅仅是体现在主控芯片,也包括了锂电池充电电路,舵机驱动电路,以及OLED显示屏和指纹模块等。 由于不涉及到大功率的外围设备,而且单片机IO直接驱动更方便,所以采用了PMOS管进行设备供电的管理,在不用到这些设备时能够切断它们的电源,这样就可以有效控制功耗。设备是通过指纹模块的触摸感应进行唤醒,指纹模块的触摸电路工作电流为5uA。 </code></pre> <h2><strong>2)、电压采集功耗处理</strong></h2> <pre><code> 一般电压采集需要用到两个电阻进行分压,然后再计算实际电压,但是电阻是会产生功率消耗的,假设电源电压3.7V,采用两个10K的电阻分压,根据欧姆定律,电流就有惊人的1.85mA,一节2000Mah的锂电池,从4.2V放电到3.7V,按照80%电量计算只能待机1600/24/1.85=36天,还不包括开门时舵机损耗的电量,所以就需要换一种采集电压的方法。 </code></pre> <h3>最初方案:</h3> <pre><code> 因为STC15W408AS单片机可以通过测量内部的BandGap基准电压值(1.27V)左右,大致计算出输入的电源电压,从而得出电池电压,节省了一个IO口,还进一步节省了功耗。 用户实现自己的低压检测功能的实现方法:首先用户需要在VCC很精准的情况下(比如5.0V),测量出内部BandGap参考电压的ADC转换值(比如为BGV5),并将这个值保存到EEPROM中,然后在低压检测的代码中,在实际VCC变化后,测量出的内部BandGap参考电压的ADC转换值(比如为BGVx),最后通过计算公式: 实际VCC = 5.0V * BGV5 / BGVx,即可计算出实际的VCC电压值。 </code></pre> <p>但是这个方案有缺陷,每个STC15单片机的BandGap电压不一样,每个单片机下载进去都需要自己修改代码进行适配,非常麻烦。所以更新了方案2</p> <h3>更新方案:</h3> <pre><code> 使用STC15单片机自带的AD口测量3.3V稳压芯片输出的电压,读取AD值为V33,我们知道。STC15单片机AD口的最大测量电压就是电源电压,且最大AD值为256,则电源电压与V33就有如下关系: VCC/256=3.3/V33 推导出:VCC=256*3.3/V33,从而就可以较准确得到电池电压。误差与LDO输出的3.3V稳压值有关。 </code></pre> <h2>3)代码压缩</h2> <pre><code> 代码包括OLED显示、AS608指纹通讯驱动、按键扫描、电压测量、蜂鸣器、eeprom掉电保存、舵机驱动,软件延时等;     STC15W408AS的程序存储空间只有8K;     最初整个代码写下来已经超过8K了;后面各种压缩代码,终于达到现在的6、7K;     最主要的就是不要进行浮点运算,超级占用内存。比如之前计算电池电压,正常步骤:VCC=256*3.3/V33,这样就会有浮点计算的代码;     而且我们根本用不到精确到小数后6位的电压值,只需要后2位就行。所以我们可以先把要计算的数放大100倍,最后计算结果取整就行比如:VCC=256*330/V33。 </code></pre> <p><br> <br></p> <h1>3、项目属性</h1> <p>首次公开,19年制作了一款指纹锁(不带低功耗设计,体积大),上过微薄的热搜,未获奖,没参加过学校答辩</p> <h1>4、开源协议</h1> <p>源代码,原理图,PCB等均开源。 GPL 3.0协议</p> <h1>5、硬件部分</h1> <ul> <li>指纹模块和OLED模块的供电电压为3.3V,设备的工作需要指纹的触摸来唤醒,因而指纹的触摸感应需要一直供电,所以需要一个较低的静态电流线性稳压源,以降低功耗;</li> <li>整体待机功耗实测22uA左右,主要是指纹触摸感应和线性LDO的静态电流,STC15单片机的掉电模式可以将电流控制在0.1uA以下;</li> <li>锂电池充电用的TP4057;</li> <li>舵机,OLED,指纹主供电等都是通过mos管控制,实现超低功耗待机;</li> <li>蜂鸣器主要是用来实现低压报警,开门提示等功能。</li> </ul> <h1><strong>6、软件部分</strong></h1> <ol> <li>代码里面的波特率115200,不同的指纹模块的波特率不同,可以参考STC-ISP软件的程序例程自行修改;</li> <li>指纹模块的通用协议是通用的晟元AS608协议,keil5编写的C语言代码;</li> <li>用STC-ISP下载程序时,冷启动不仅要断开电源,还要断开TXD,RXD引脚,因为单片机处在低功耗模式,仅仅是TXD,RXD中的漏电流就可以让单片机不断电,达不到冷启动的要求,可能造成下载代码失败。</li> <li>推荐使用官方软件:stc-isp-v6.88F 具体设置设置界面如下: <img src="//image.lceda.cn/pullimage/9EELUor9L9eO2zFSKEzi13QvjZpGvVCVdA3XuGGf.png" alt="图片.png"></li> <li>本设计工程结构分成很多个源文件,不同的功能分开写,并且每个函数前面都有注释,标明函数的功能。 <img src="//image.lceda.cn/pullimage/M1MKZSFQC8HaSyt3sAnqZJQaRlm3nLivWRypEmBw.png" alt="图片.png"></li> </ol> <h1>7、BOM清单</h1> <p>详细的见工程; 大部分元器件都可以在立创商城可以买到; 指纹模块AS608协议通用,当前支持FPC0.5和sh1.0,都是卧贴。</p> <h1>8、大赛LOGO验证</h1> <p><img src="//image.lceda.cn/pullimage/8C3Ughp4YtHd98YBFrafdgKUb2oN7dI2oAYsIgl4.jpeg" alt="23FB746CBC8E0E3693925E9D1032865B.jpg"></p> <h3>演示视频</h3> <p>使用演示视频:<a href="https://b23.tv/FoQWJQ" target="_blank">https://b23.tv/FoQWJQ</a> 详细介绍视频:<a href="https://b23.tv/dYXHFc" target="_blank">https://b23.tv/dYXHFc</a></p>

文档

Sheet_1

PCB_PCB_STC15W408AS低功耗指纹锁_2021-06-30_2021-09-11

BOM

暂无

附件

附件名 下载
代码V2.zip
代码V1.zip
PCB_V1.0.json
原理图_V1.0.json

评论(33)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
xiaoyutongxue 回复
<p>大佬,HT7330-A好像只能输出3V吧,不能输出3.3V,原理图是不是有些问题欸</p>
lihua_nice 回复
<p>@xiaoyutongxue 谢谢提醒,我修改成原来的版本了。</p>
hun517 回复
<p>白嫖失败。程序不知道怎么灌,看不懂</p>
lihua_nice 回复
<p>@hun517  额,51单片机下载程序很简单的啊,代码那部分我没写好?我改一下</p>
hun517 回复
<p>不是不是,是我没用过51单片机,看不懂是我自己的问题。感谢大佬的开源</p>
御坂0x1BF52号 回复
<p>有点东西~学习了</p>
WC7086 回复
<p>都2021年了,为啥还用micro USB</p>
lihua_nice 回复
<p>@WC7086 因为手头就这种usb,而且相当便宜啊</p>
hun517 回复
<p>指纹模块找不到,请问可以给个连接吗</p>
lihua_nice 回复
<p>@hun517 通用的AS608指纹,晟元协议的指纹都行的,可以用那个sh1.0的接口。只要注意线序和指纹波特率就行。</p>
lihua_nice 回复
<p>@hun517 7👈啊IH4QXI7T283啊 <a href="https://m.tb.cn/h.f3qQmsr?sm=b7dd88" target="_blank">https://m.tb.cn/h.f3qQmsr?sm=b7dd88</a> 圆形呼吸灯半导体指纹模块模组 考勤门禁指纹锁 晟元AS608送源码      注意修改代码的波特率为这个指纹的115200,而且装的时候注意接线顺序。</p><br/><p><br><br/><br><br/><br><br/><br></p>
lihua_nice 回复
<p>@hun517 代码记得把波特率改到57600  <a href="https://m.tb.cn/h.f3qQmsr?sm=b7dd88" target="_blank">https://m.tb.cn/h.f3qQmsr?sm=b7dd88</a><br><br/><br></p>
hun517 回复
<p>感谢大大。但这个接口是1.0的。你PCB上不上0.5的吗。可以用吗</p>
lihua_nice 回复
<p>@hun517 @hun517 V2版本多了一个1.0的接口,你不敢接0.5那个就行了。</p>
hun517 回复
<p>CN1那个吗?那FPC1可以不焊接元件吗</p>
lihua_nice 回复
<p>@hun517 是的</p><br/><p><br><br/><br></p>
WC7086 回复
<p>@lihua_nice 4<img src="//" alt=""><br/>₴PA9YXsgZPpQ<br/><img src="//" alt=""><br/> <a href="https://m.tb.cn/h.f4j9mpR?sm=8500d9" target="_blank">https://m.tb.cn/h.f4j9mpR?sm=8500d9</a>  贴片USB-3.1插座 16P 双向type-c母座 4脚直插 高清传输接口<br/>这是我找到的最便宜的 type c了,感觉价格和其他micro USB差不多了</p>
znk2001 回复
<p>我想在立创商城直接买原件,看见第五个没有啊,应该是个电容,有什么型号可以替代吗?</p>
lmnb66 回复
<p>大佬,控制舵机低功耗的mos管(NCE30P30K),为什么不用SI2305,我看到数据手册都有12V的耐压和4A的电流啊。</p>
Epiphany7725 回复
<p>你好,好像指纹模块没得买了</p>
apollo007 回复
<p>666</p>
lihua_nice 回复
<p>淘宝店铺:可待电子</p>
郑天远辉 回复
<p>指纹模块可以换成as608吗?</p>
zeroking 回复
<p>大佬,ADC分压那里,欧姆定律不是3.7/20k只有0.185mA吗?</p>
lihua_nice 回复
<p>哈哈哈,算错了。不过185uA也高了。</p>
shitou12138 回复
<p>没有元器件清单啊?</p>
shitou12138 回复
<p>没有元器件清单啊?</p>
Andrew-W 回复
<p>你的原理有问题啊,稳压管会烧,指纹模块也会烧,用的是你的板子,也没有短路,屏幕点不亮,做过很多尝试,直接供3.3V也是不会亮</p>
hualaoguoguo 回复
<p>这个咋没有BOM啊?</p>
lixb001 回复
<p>都需要什么啊,怎么没有配置清单</p>
lihua_one 回复
<p>这个bom生成的应该不准,所以没有生成,指纹模块借口可以换成你方便买到的,协议应该都是可以通用的(AS608 晟元协议),说mos会烧的,注意一下你的正负极是不是错了(主要就是指纹,应为接线定义网上的都不同),主板上舵机接口有没有短路。<br/>之前也做了第三版,优化了设计和程序功能,后续会开源一下</p>
lihua_one 回复
<p>本人作者小号</p>
lihua_one 回复
<p>在立创eda里面原理图可以导出bom,但是注意核对好。</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow