电量检测思想之软件施密特触发器

      问题来源?

      很多搞电子的朋友在做项目的时候基本上都会遇到用MCU的ADC采集电压来监视电量使用情况。作为一种粗略的电量检测方法在很多电子设备上用得很广泛,尤其是需要显示类似电池图标的方法来显示电量。我们都知道通过检测电压的方法来监视电量只能大概知道使用的一个范围,而且电压一般随时会有小幅波动。这里举个例子,假设我们要显示四格电池的图标。电压区间范围设置为小于A设备关机,A-B电池显示空,B-C电池显示一格,C-D电池显示两格,D-E电池显示三格,大于E电池显示4格(即满格)。现在会遇到这种麻烦,假设某一时刻采集到的电压刚好使图标显示三格(即电压值为D),我们知道电压随时是有小幅波动的,在这种情况下电压值可能会在D的附近来回跳动,导致的结果是电池图标一会儿显示两格,一会儿显示三格。那么如何解决这个问题呢?这时候就要用到施密特触发器的思想I

什么叫施密特触发器?

门电路有一个阈值电压,当输入电压从低电平上升到阈值电压或从高电平下降到阈值电压时电路的状态将发生变化。施密特触发器是一种特殊的门电路,
与普通的门电路不同,施密特触发器有两个阈值电压,分别称为正向阈值电压和负向阈值电压。在输入信号从低电平上升到高电平的过程中使电路状态发
生变化的输入电压称为正向阈值电压,在输入信号从高电平下降到低电平的过程中使电路状态发生变化的输入电压称为负向阈值电压。正向阈值电压与负向阈值电压之差称为回差电压。
它是一种阈值开关电路,具有突变输入——输出特性的门电路。这种电路被设计成阻止输入电压出现微小变化(低于某一阈值)而引起的输出电压的改变
何谓软件施密特触发器?
软件施密特触发器就是利用上面所说的施密特触发器原理。这里我直接写一段代码来说明问题。
unsigned char level = 0; //表示电压档位
unsigned int Read_adc = 0;
Read_adc = Function_get_adc(); //经过多次采样去最大最小取平均值
if(level == 0){
if(Read_adc >= B + 2) { //这里的2是随便设定的,可以根据实际情况更改
level = 1}}
if(level == 1){
if(Read_adc >= C + 2){
level = 2;}else if(Read_adc < B - 2){
level = 0;}}
if(level == 2){
if(Read_adc >= D + 2){
level = 3;}else if(Read_adc < C - 2){
level = 1;}}
if(level == 3){
if(Read_adc >= E + 2){
level = 4;}else if(Read_adc < D - 2){
level = 2;}}
if(level == 4){
if(Read_adc < E - 2){
level = 3;}}
这里的“B+2”和“B-2”(以B为例)就是上面所说的回差。
希望对用到这方面内容的朋友有所帮助,如有不对之处烦请指正,谢谢大家!





  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
电池电量检测电路图是一种用于检测电池电量的电路设计,用于测量电池的剩余电量。它可以通过测量电池电压来判断其电量是否足够。 电池电量检测电路图主要包括以下几个组件:电池、电阻、比较器、运算放大器和显示器等。 首先,电池是电路中的电源,它提供电流给其他器件工作。其电压随着电量的变化,将被测量并输入到电路中。 其次,电阻是用来限制电流流过的元件,通常被称为电流检测电阻。它连接在电池的正极和负极之间,使得通过电阻的电压与电流成正比。 然后,比较器是用来比较输入信号与参考电压的大小,当输入电压与参考电压达到设定的阈值时,比较器会输出一个逻辑高电平。通过比较器的输出,我们可以判断电池电量是否达到预定的水平。 运算放大器是用来放大电路中的信号,使得电路的输出更为精确。在电池电量检测电路中,运算放大器可以用来放大比较器的输出信号,使得它能够驱动显示器等外部设备。 最后,显示器用来显示电池电量信息。可以是LED灯、LCD液晶等不同类型的显示器。通过将比较器和运算放大器的输出连接到显示器上,我们可以实时地监测电池电量信息。 总之,电池电量检测电路图是一个有序的电路设计,通过测量电池电压以及利用比较器、运算放大器和显示器等元件,可以实现对电池电量的可靠检测

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值