低成本单IO口的电池电压检测方案

[复制链接]
9984|20
 楼主| awey 发表于 2007-9-8 23:28 | 显示全部楼层 |阅读模式
先声明一下:本检测方法精度很低,只能用于要求不高的场合。

电路只要一个电阻和一个电容,和占用一个IO口,电路如下:

方法:
1、先将IO口设为输出并置成低电平,对电容C放电;
2、再将IO口设为输入,同时启动MCU内部的计数器;
3、电池电压Vbat将通过电阻R对C充电,同时MCU检测IO口的状态;
4、当检测到IO口为高时,停止计数;
5、将IO口重新设为输出0;
6、此时计数值与Vbat的值相对应。

Vbat的计算方法:可以通过查表加插值方法计算出电压值,表的制作方法是:用一组已知的电压测出对应的计数值,写入到程序里。

如果要提高检测的精度,可以单独对每个产品独立调校,将得到的表格数据写入到EEPROM内。

本方案可以用于无AD的MCU,又需要电池电压检测的低成本的应用中。
coldra 发表于 2007-9-8 23:42 | 显示全部楼层

见过这样用的,不错

gyt 发表于 2007-9-9 11:31 | 显示全部楼层

行啊

这就是最简单的A/D转换方案嘛。可行!
qjy_dali 发表于 2007-9-9 22:04 | 显示全部楼层

没错,低成本的情况下,可以这么做

但我觉得现在带ADC的MCU已经够便宜了
ayb_ice 发表于 2007-9-10 07:51 | 显示全部楼层

VBAT一般都大于VCC,这样能行吗?

 楼主| awey 发表于 2007-9-10 08:05 | 显示全部楼层

没问题,1、R很大 2、IO口有保护二极管 3、常态是IO口置零

mqy1977 发表于 2007-9-10 12:17 | 显示全部楼层

顶上一份<使用一个I/O 口实现A/D 转换输入>

http://www.holtek.com.cn/china/tech/appnote/uc/pdf/ha0128s.pdf
wjy1107 发表于 2007-9-10 13:02 | 显示全部楼层

学习了。

zhf0964 发表于 2007-9-10 14:11 | 显示全部楼层

是个不错的方法

如果C采用钽电解电容,
R上串接一个多圈电位器,
可能效果更好一些,也更
便于调试。
古道热肠 发表于 2007-9-10 15:50 | 显示全部楼层

IO口输入的高电平下限有离散性

  一致性恐怕不好,用单片机内部的比较器作AD检测倒是很实用,AT89C2051就有电压比较器,也有对应的例程。
 楼主| awey 发表于 2007-9-10 15:59 | 显示全部楼层

这是我们以前一个产品上用的

不带AD、比较器等的台湾【十速】的4位廉价的单片机,要在LCD上显示电池的电压
(图示的),考虑到成本,用了此方法。对精度要求不高,重点在廉价上,因单片机
才2元多。

IO口的高低电平一致性是很差,而且随温度而变,但是可以通过单点的调校(EEPROM
保存)来提高精度,可以做到0.1V左右。

 楼主| awey 发表于 2007-9-10 16:04 | 显示全部楼层

发此贴的目的只是告诉大家一个实践证明的廉价而可行的方

dadodo 发表于 2007-9-10 16:30 | 显示全部楼层

没办法的情况下确实有用

不过这年头带AD的单片机只卖2.5了。
郝英俊 发表于 2015-7-31 17:20 | 显示全部楼层
为什么我这样使用就是不可以?可以留个QQ吗?方便交流
奔牛滚滚 发表于 2015-8-1 08:59 | 显示全部楼层
然并卵,这个绝对是个高成本的方案
lio_lai 发表于 2015-8-19 13:19 | 显示全部楼层
电容需要用【独石电容】,电动车的电量显示,4个灯显示电量,就是这个方法,单片机用国产153,PCBA成本大约是1元。
457344370 发表于 2015-8-20 12:13 来自手机 | 显示全部楼层
stm8可以用内部电压基准算电池电压
JerryWu75 发表于 2015-8-21 09:15 | 显示全部楼层
MC97F1204S,1.24元, 16pin,最多13路AD,去年用过.
autolog 发表于 2015-8-23 09:57 | 显示全部楼层
普通IO实现ADC,这可是07年的老帖啊
zzh866 发表于 2015-9-5 09:39 | 显示全部楼层
你好,我现在也正在学习STM8的单片机,能跟我讲讲是怎么用内部的电压基准算电池电压吗?我的邮箱是zzh866@sina.com。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

8718

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部