找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8614|回复: 2
打印 上一主题 下一主题
收起左侧

锂电池电量指示(ATtiny13)

[复制链接]
跳转到指定楼层
楼主
ID:127902 发表于 2016-6-24 23:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        由于需要,买了几块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在定时器激活时才开启,其他内部设备都关闭。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:99130 发表于 2016-6-25 13:02 | 只看该作者
根本就不需要单片机 用324就可以
回复

使用道具 举报

板凳
ID:33897 发表于 2018-4-1 19:10 | 只看该作者
用LM324 339  或者用几个 TL431 都可以实现  要起到保护作用,可以加两MOS管控制 过充 过放 过压或者过流保护  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表