0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机实现滞回比较器算法

CHANBAEK 来源:头条号嵌小白 作者:头条号嵌小白 2023-03-08 16:58 次阅读

简介

迟滞比较器是一个具有迟滞回环传输特性的比较器。 又可理解为加正反馈的单限比较器。 在反相输入单门限电压比较器的基础上引入正反馈网络,就组成了具有双门限值的反相输入迟滞比较器。

那么我们在程序设计时也会用到类似于这种功能的算法,比如实现在某个温度点执行动作,当超过这个温度阈值时,设备工作,当低于温度阈值时,设备关闭。 如果温度在阈值上下波动,那么设备也会频繁的启停,这样对用户来讲体验是不友好的,因此需要一种算法来避开这个波动区间,这就是我们要讲的滞回算法。

滞回曲线

蓝色表示上升曲线,红色表示下降曲线。 分析:在上升阶段,大于开启点时,开始执行; 在下降阶段时,小于关闭点时,停止执行。 要实现这个算法,首先我们需要明白一个关键点,怎么判断当前的数据是上升还是下降? 提供一个思路:用当前的数据与上次的数据和设定的阈值进行对比,如果当前的数据大于阈值,但上次的数据小于阈值,那么就可以判断为上升阶段; 反之,如果当前的数据小于阈值,但上次的数据是大于阈值的,那么可以判断为下降阶段。 滞回曲线可以分为三个部分, 关闭、开启和保持。

算法实现

unsigned int InputData=0;//输入数据
unsigned int OldData=0;//上次数据
unsigned char Falling=0;//下降标志位
unsigned char rise=0;	//上升标志位
unsigned char Start = 100;//关闭阈值
unsigned char End	= 150;//开启阈值
printf("Please input data:");
		scanf("%d",&InputData);  //输入数据       
       if((InputData > Start) && (OldData <= Start)) //判断是否为上升阶段
                rise = 1;//上升标志位
       if((InputData < End) && (OldData >= End)) //判断是否为下降阶段
                Falling = 1;//下降标志位
       if(InputData <= Start)//输入的数据小于等于关闭阈值
         {      
              printf("Close
");//执行关闭动作
              rise = 0;//标志位清零
              Falling = 0;
          }        
       else if(InputData < End)//输入的数据小于开启阈值,则分为两种情况
         {   
              if(rise)//上升标志位
                  printf("Close
");//关闭
              if(Falling)//下降标志位
                  printf("Open
");//开启
         }        
       else //输入的数据大于等于阈值
        {       
                printf("Open
");//开启
                rise = 0;
								Falling = 0;//标志位清零
        }       
       OldData = InputData;//记录上一次数据

调试结果

调试界面

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6037

    文章

    44558

    浏览量

    635238
  • 比较器
    +关注

    关注

    14

    文章

    1651

    浏览量

    107217
  • 算法
    +关注

    关注

    23

    文章

    4612

    浏览量

    92887
  • 电压比较器
    +关注

    关注

    18

    文章

    218

    浏览量

    37568
  • 迟滞比较器
    +关注

    关注

    1

    文章

    34

    浏览量

    18437
收藏 人收藏

    评论

    相关推荐

    单片机软件怎么实现迟滞(比较算法

    [table=98%][tr][td]3个电压点3.2V,3.5V,3.8V.对应点亮红,黄,绿,.现在想采用算法滤波,我现在的算法会在临界点有抖动,led会闪烁。绿灯在大于3.8
    发表于 08-26 11:48

    单片机软件怎么实现迟滞(比较算法

    3个电压点3.2V,3.5V,3.8V.对应点亮红,黄,绿,.现在想采用算法滤波,我现在的算法会在临界点有抖动,led会闪烁。绿灯在大于3.8亮,黄灯在3.5-3.8亮,红灯做3.
    发表于 10-31 10:53

    反相比较电路

    反相比较电路
    发表于 05-15 00:47 1w次阅读
    反相<b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>电路

    什么是比较_比较详解

    比较又称施密特触发,迟滞比较。这种
    发表于 02-24 16:51 16.5w次阅读
    什么是<b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>_<b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>详解

    比较如何设计?比较设计仿真以及电阻配置的资料免费下载

    本文档的主要内容详细介绍的是比较如何设计?比较
    发表于 09-18 08:00 95次下载
    <b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>如何设计?<b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>设计仿真以及电阻配置的资料免费下载

    比较的特性和原理分析

    比较在日常应用中非常广泛,所谓,字面意思就是等待一段时间再回来,它是相较于普通单限
    的头像 发表于 03-22 15:33 1.3w次阅读
    <b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>的特性和原理分析

    什么是比较 比较电路分析

    于是在单限值比较中加入了正反馈,反相输入端接输入电压,做成比较,也叫施密特触发
    发表于 04-03 09:33 1.6w次阅读

    基于比较的温度控制系统设计

    本节我们用比较的原理,设置一个温度控制系统,让散热风扇在温度高于40℃时启动,在温度低
    的头像 发表于 04-24 14:53 2061次阅读
    基于<b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>的温度<b class='flag-5'>滞</b><b class='flag-5'>回</b>控制系统设计

    比较的基本结构、特点及应用

    比较是一种广泛应用于电子设备中的电路元件,其主要作用是将两个输入信号进行比较,并输出相应的电平信号。
    的头像 发表于 10-23 17:42 8106次阅读

    反相比较和同相比较的特点有哪些

    比较是一种具有特性的比较
    的头像 发表于 05-24 15:12 4712次阅读

    比较电路的应用有哪些

    比较(Hysteresis Comparator)是一种具有特性的
    的头像 发表于 07-10 11:04 833次阅读

    比较电路的工作原理是什么

    比较,又称为施密特触发(Schmitt Trigger),是一种具有
    的头像 发表于 07-10 11:06 1719次阅读

    比较的工作原理及设计方法

    比较,又称为施密特触发(Schmitt Trigger),是一种具有
    的头像 发表于 07-10 11:14 4282次阅读

    比较的阈值电压是什么

    比较(Hysteresis Comparator)是一种具有特殊特性的
    的头像 发表于 07-30 16:52 1707次阅读
    <b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>的阈值电压是什么

    什么是比较,及阈值参数计算

    导致输出产生高低电平连续跳变。比较可以很好解决这个问题,具有很强的抗干扰能力。
    的头像 发表于 12-22 12:04 239次阅读
    什么是<b class='flag-5'>滞</b><b class='flag-5'>回</b><b class='flag-5'>比较</b><b class='flag-5'>器</b>,及<b class='flag-5'>滞</b><b class='flag-5'>回</b>阈值参数计算