|
|
2年前用8266做过WIFI自动对时时钟,直接用nodemcu/lua控制595,用起来还不错,但手摸总是温温的,接个电流表大概是70ma左右,这种功耗肯定没法接电池了,一直拖着个5V电源线用着。前些天从抽屉底找到一块1000ma的手机电池,手机不知道去哪里了,于是想想怎么可以把电池用上,干掉数码管时钟的电源线,中间折腾就不说了,最后做成的时钟正常运行时是大概1.2ma,估计充满电能用1个月左右,目前稳定跑了2周,目测还行。
上面是时钟,下面是电池。中间两根排针直接输出大概4.0v(锂电是3.7-4.2,测试3.7v时 8266还能工作,再低也许会有问题,该充电了)为电路板供电,加了个tp4056充电带保护小板(网上2-3块钱到处都是)埋在热熔胶里面,旁边留出usb充电口。原本打算打印个像样的外壳,一直没时间弄,目前直接插着用,起码功能是达到了。
原理比较简单,tm1650控制数码管,stc51单片机处于掉电状态,每秒唤醒一次刷新tm1650,主要是为了中间的两个点闪烁。但51本身掉电时定时器误差很大,每分钟从ds1302读取一次时间校正,也保证分钟的显示基本正确。当然ds1302的误差也不小,所以通过51控制esp8266,每天对时两次,校正ds1302的时间。这样基本上误差也就是1-2秒,对于一个以显示分钟的时钟来说并没什么问题。
至于耗电,主要就是数码管和tm1650和stc15每秒的刷新,万用表实测1.2-1.3ma左右,esp8266对时耗电倒是比较高,大概有80-100ma,但一般10秒内就完成,信号好时3-5秒,然后自己去深度睡眠了,影响不大。
发个电路图
电路里面除了电源接口排针,其他的按键还有排针都是为了刷stc51和8266,都是焊好了再调程序,而且这样改程序也方便。
代码附后,tm1650和ds1302驱动都是网上抄回来改的,因为类似的代码太多搞不清来源了,如果有人觉得不妥可以留言沟通。
电路设计和主程序妥妥是自己写的,引用请写出处。
楼下更新代码:
补充内容 (2019-9-30 15:15):
经过近一个月的使用,1块1000ma的手机锂电支持运行时间是20天,到时会因为电压太低锂电保护板截止而关闭,直接充电就好。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|