标题:
锂电池电量指示(ATtiny13)
[打印本页]
作者:
51黑bug
时间:
2016-6-24 23:39
标题:
锂电池电量指示(ATtiny13)
由于需要,买了几块16340的锂电池,为了便宜,没买那种带保护板的,手上还有一块ATtiny13,想着就搭一块电池电量指示电路,因为锂电池的电量与电压有关,只要测电压就行,我假设4.2V以上为过压,3.8V以上为3格电量,3.3V以上为2格电量,3.1V以上为1格电量,以下为低电量,开始看了不少文章说tiny13的基准源很不准,差个0.5V都有可能,实际做出来后,在室内20度,和室外5度时使用误差只有0.2V,还算满意!
工作步骤,由定时器1S唤醒一次空闲模式下的程序,启动一次AD,再次进入空闲模式,直到AD中断唤醒,判断电池电压,如果在3.1~4.2V之间算正常,低于3.1V,1格指示灯闪烁,提示低压,高于4.2V,3格指示灯闪烁,提示高压,还有一个按键,可激活AD,实时察看当前电量,tiny13的供电就是要测得锂电池提供的,电压变化,整个电路的电流也在变化,没有指示灯提示的情况下,3.1V~120ua,4.2V~160ua。
电路比较简单的,毕竟T13才6个IO口,为了USBASP下载方便,REST口没占用,只剩下5个IO,除去AD口,只有4个IO口了,再次为了简单,按键和指示灯没有复用,所以指示灯只有3个IO口了!
电路接线如下:
PB2做为AD输入,由20k和68k的贴片电阻分取电源电压后输入,此口为了省电,在程序中禁用了数字功能;
PB1(INT0)做为按键口,内部定义上拉了,外面就没接上拉电阻,也可以用其他口做按键中断,不一定用外中断0,第一次使用T13,保险起见才用的INT0;
PB0,PB4,PB3做为led的输出口,led接1k电阻接电源;
PB5由105和10k电阻做上电复位,当然也可不接。
程序中时钟频率在600KHz,原来降到250KHz时,竟然不能下载程序了,还是在ourdev中的高人指点才解决了不能下载的问题,所以频率定在600KHz,定时器也1024分频了,平时除了定时器开启,AD在定时器激活时才开启,其他内部设备都关闭。
作者:
越快乐越堕落
时间:
2016-6-25 13:02
根本就不需要单片机 用324就可以
作者:
工作狂
时间:
2018-4-1 19:10
用LM324 339 或者用几个 TL431 都可以实现 要起到保护作用,可以加两MOS管控制 过充 过放 过压或者过流保护
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1