01、起因:
近来渐觉腰腿疼,医生建议我多走动晒晒太阳,所以有了这个提醒晒太阳的戒指...还是火柴棍?接下来我尽量以通俗易懂的语言来讲讲我的设计过程,如有纰漏,望各位宝友指正。
02、开篇:
来来来,瞧一瞧看一看,可穿戴设备种类繁多,功能各异,有带翅膀会飞的,有长了鳍水里游的....
我今天给大家带来的东西可就厉害了。它不但能量体温,还能每天提醒你晒太阳,还不用充电,厉不厉害?
有人会说:晒太阳有什么了不起的。诶,晒太阳当然很重重要,早上9点,下午4点,晒晒太阳神清气爽,延年益寿,固本培元,健康生活好帮手啊。
再看看我们的戒指,它小巧又轻便,环保又大方,这裸露的电路板,这扎实的用料...只要998,只要998,健康人生带回家,只此三枚,来来来有钱的过来交钱,没钱的......
03、方案介绍:
03-1、硬件方案介绍:
料想大家平时需要照顾的电子设备实在是太多了,肯定是腾不出手给这玩意充电的。所以此处选择太阳能充电方案,在晒太阳的同时给圈圈续命,大家都省事。
这玩意是套手指头上的,所以体积得小,选料必须遵循以下三条铁律:
小封装
低功耗
外围电路简单
确定如下硬件框图:太阳能电池BPW34把光能转化为电。adp5090将这部分电能升压后储存到纽扣电池,同时也负责把电池的电量输送给负载电路。这储能和放电都有保护机制,轻易不会搞坏器件。另外这里的模拟开关max4644是必不可少的,它关系到当电池电量耗尽后系统能否自动恢复。
03-2、电路各部分详解:
想要利用太阳能发电就得用到硅光电池,我这里选用的是bpw34(不仅长得好看尺寸也刚刚好)。每片可以提供1mW(0.5v 2ma)的电量,虽然这点能量很小但却实是很小。
(注:硅光电池发电原理:完美世界中有这么一段,一众人杰以及上古妖兽带着大包小包跑到百断山偷宝贝,不料被牛魔王的兄弟神猴王逮住,猴王催动场势攻击,众人奋力抵抗。这里我们叫这群带着麻袋偷东西的白嫖党,简称P;这位牛气冲天的神猴王叫牛王,简称N。战斗异常激烈,前排数人元气损耗殆尽,苦苦支撑......双方就此结下梁子,史称PN结。这时候照进来一道光,哦,不..那是一旁看到猴王身后圣药眼冒金光的石昊。我们这位场外选手是相当了得,先是对着猴王一个滑铲,激发态势,扩大战局。再朝着仙桃来一个回手掏。猴王大怒,口念咒语:拿来吧,你.... 一种人杰手中的圣药便纷纷飞回猴王手中。这个圣药借势飞回的过程就叫光生电流)
最后,我们常见的led也是一个太阳能电池,受到光照便会有电流产生,只是电流小一些。
有了能量来源接下来就是能量转换了。这里选用ADI公司的adp5090芯片做能量采集管理,它可以将低压小功率(16 uW到200 mW,电压0.38 V至3.3 V)能量收集到可充电电池。具有灵活的可编程电压监控器(2.2 V至5.2 V),使得芯片可以为多种二次电池充电。高效的mppt功能,均衡能量源与电池的传输功率,在保证能量最大利用率的同时使得系统能够能长期可靠运行。人性的备份电池设计是负载电路最坚强的后盾(为了节省空间此处没有用到)。
一片BPW34所能提供的最大充电电流如下图,还算可观。
max9938是一个sot23-5封装的低功耗高次侧单向电流监控芯片,该芯片能把采样电阻两端mV级的电压按比例放大后输出。芯片本身功耗很低,但因为内部架构问题,充电时会有一百uA的电流沿着左侧通路消耗掉。所以我在芯片GND引脚接了个上拉电阻,只有在系统需要采集电流时才拉回GND采样。
max4644:美信的小体积低功耗模拟开关,用法简单,六个腿,接法类似于继电器,正常供电后调节输入信号即可改变内部开关状态。同样耗电极低,很适合低功耗系统。
电池选择:
本系统可选用的二次电池不多,在小尺寸聚合物电池、可充电纽扣电池、超级电容中我选择了ms621,这是一款性价比很高的锂电池。电压范围(2-3.2V)容量5.5mAh,具有极低的自放电电流。常用来做系统备份电池,此处我用作主电源。比较遗憾的是它的额定放电电流也小的可怜,官方推荐0.25mA,这也就只够点个灯,一下子切断了我对其他稀奇古怪功能的幻想。
03-3、负载电路:
负载电路怎么少的了单片机,手头有一堆小蜜蜂(EFM8),3*3mm的体积功能却一点都不少。尤其在低功耗方面相当给力,睡眠平均功耗可做到1uA。自带一个恒流源,有两种模式,低功耗模式1-63uA,步进1uA;正常模式8-504uA,步进8uA。另外该芯片内部falsh可以当作EEPROM来用的,又节省了一片片外存储,美滋滋。
关于点灯:系统供电电池电压为(2-3.1V),满电的电池加上0.25mA负载后电压会很快降到2.7v左右。单片机P0.7作为电源置高,拉低对应的引脚即可电量对应的led。
04、软件设计:
时间有限,只能先做一个简单的软件框架,用来验证触摸,测温,计时和报警功能,以后慢慢调吧。
EFM8的RTC和低功耗部分是真不好调。RTC相关寄存器藏得很深,必须先使能读写,才能操作。DEBUG时读出来的值并不一定是真实值,调试时绕了好大的弯。低功耗部分调起来也不太顺畅,功耗压不到数据手册的标称值....
总之代码还没打磨好,先贴个测试代码,后有更新的话间附件。
05、遇到的问题:
05-1、进度把控:
想着是要做柔性板的,画完图到了打样的时候,一问板厂做一次柔性板得300软妹,这谁顶得住。于是乎萌生自己徒手做板子的想法,买柔性基材、蚀刻材料,打印,再腐蚀....一顿操作下来,钱没少花,进度=0;
05-2、要规范操作:
拿到电路板先调了充电功能。图省事没有拆电池,后来焊完调试遇到各种问题,该上拉的电压拉不动,不该出现杂波乱跳。排查后发现是芯片损坏了,现在想想多半是带电焊接惹的祸;
05-3、善后:
在调试软件的时候,一上来就让芯片进入低功耗模式了,结果忘记设置唤醒源了,然后芯片就再也连不上了,变砖了。调代码必须留一手啊。
06、写在最后的话:
如果你能看到这里,估计也是做技术的吧。道阻且长,善待自己,祝万事顺心。
同时感谢硬禾举办的这次活动,这种限时完成的活动,对我的拖延症有所裨益。