你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
带你飞啊啊 提问时间:2016-8-25 20:39 /
3个电压点3.2V,3.5V,3.8V.对应点亮红,黄,绿,.现在想采用滞回算法滤波,我现在的算法会在临界点有抖动,led会闪烁。绿灯在大于3.8亮,黄灯在3.5-3.8亮,红灯做3.2-3.5直接亮,要求上电在也要有灯亮,求大神指导思路
收藏 1 评论12 发布时间:2016-8-25 20:39

举报

12个回答
废鱼 回答时间:2016-8-26 11:02:19
多次采样,取平均值。如果变化太快,闪烁应该是正常的。
带你飞啊啊 回答时间:2016-8-26 11:39:54
安 发表于 2016-8-26 11:02
多次采样,取平均值。如果变化太快,闪烁应该是正常的。

已经有需要AD滤波了,但为了让几率变得很小很小,还是需要这个迟滞比较的算法,
pythonworld 回答时间:2016-8-26 12:55:40
用if语句判读不行吗?
废鱼 回答时间:2016-8-26 14:01:19
示波器测试一下电压的波形,看看实际采集的是否一致。
yklstudent 回答时间:2016-8-26 16:36:34
判断加延时处理就可以了
带你飞啊啊 回答时间:2016-8-27 09:38:58
pythonworld 发表于 2016-8-26 12:55
用if语句判读不行吗?

用过,,if(a>3.6)绿灯,if(a<3.4)黄灯,中间的空白范围是保持状态,但我初始化加上中间范围的判断后存在缺陷,偶尔闪灯。
带你飞啊啊 回答时间:2016-8-27 09:39:31
安 发表于 2016-8-26 14:01
示波器测试一下电压的波形,看看实际采集的是否一致。

采集到没啥问题。。主要是AD也多多少少会变,就算再滤波也会变
带你飞啊啊 回答时间:2016-8-27 09:40:00
yklstudent-1794 发表于 2016-8-26 16:36
判断加延时处理就可以了

什么鬼,,延时我都没用到
qrslyf 回答时间:2016-8-27 16:45:36
if(m>n+5){n=m-5;}
else if(m<n-5){n=m+5;}

5为允许误差  m是AD采集值
ALTIUM2 回答时间:2016-8-27 18:29:00
  我觉得 可以适当 在AD采样口价格RC滤波
带你飞啊啊 回答时间:2016-8-29 18:01:25
qrslyf 发表于 2016-8-27 16:45
if(m>n+5){n=m-5;}
else if(m

这个就出现中间那个N+5到N-5直接的范围没取到,如果一上电开机在这个范围的话就需要一个初始化判断,但这样程序就还是存在bug,在上电开机如果在判断点就是偶尔闪,,就算是滤波了也会出现这个问题。。
qrslyf 回答时间:2016-8-29 20:51:37
带你飞啊啊 发表于 2016-8-29 18:01
这个就出现中间那个N+5到N-5直接的范围没取到,如果一上电开机在这个范围的话就需要一个初始化判断,但这 ...

加计数判断,大于N+5时计数加1;连续几次大于N+5时算作有效

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版