打印

AD检测锂电池电量

[复制链接]
1984|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pidan678|  楼主 | 2015-1-19 18:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,10位AD (只用了8位) 锂电电量用四个LED灯来表示
单片机 STM8S003
VREF=5V (78L05输出)
锂电应该在3.0到4.2之间  用四LED表示电量(>3.8V全亮,>3.6&&<3.7亮三个……)
现在问题是  在临界点时  LED会闪

比如adtemp==205时,采样值总是205上下跳变


一般AD值  应该做什么处理  除抖动



int main(void)
{
....
  while (1)
  {
adtemp=采样值;
....
adtemp取过10次,求平均
         if(adtemp>=205)
            {
....   
            }
       if(180<=adtemp<=196)
            {
....        
            }
       if(adtemp<188)
            {
...           
            }

         
  }
}

相关帖子

沙发
宋业科| | 2015-1-20 08:05 | 只看该作者
检测要有回差的。

使用特权

评论回复
板凳
pidan678|  楼主 | 2015-1-20 08:20 | 只看该作者
宋业科 发表于 2015-1-20 08:05
检测要有回差的。

怎么处理?

使用特权

评论回复
地板
pidan678|  楼主 | 2015-1-20 10:32 | 只看该作者
:(

使用特权

评论回复
5
dragon_hn| | 2015-1-20 11:02 | 只看该作者
参考斯密特触发器.

使用特权

评论回复
6
玄德| | 2015-1-20 12:24 | 只看该作者

高于100就亮(或灭),低于80再灭(或亮)。

使用特权

评论回复
7
huayuliang| | 2015-1-20 20:00 | 只看该作者
其实就是软件实现滞回比较器(施密特触发器)。

使用特权

评论回复
8
benbpig| | 2015-4-21 15:19 | 只看该作者
果然有人用003做这个,楼主你的原理图能不能共享下?非常感谢!另外你的的基准源是怎么弄的?003是不是只能用电源电压作为基准源?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

223

主题

404

帖子

5

粉丝