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

[复制链接]
2017|12
手机看帖
扫描二维码
随时随地手机跟帖
王栋春|  楼主 | 2025-1-16 21:28 | 显示全部楼层 |阅读模式
xianghou| | 2025-1-16 22:00 | 显示全部楼层
比如绿灯灭的时候,大于3.8点亮,绿灯亮的时候,小于3.7再熄灭不就好了,其他的以此类推

使用特权

评论回复
xianghou| | 2025-1-16 22:00 | 显示全部楼层
比如绿灯灭的时候,大于3.8点亮,绿灯亮的时候,小于3.7再熄灭不就好了,其他的以此类推

使用特权

评论回复
xianghou| | 2025-1-16 22:00 | 显示全部楼层
比如绿灯灭的时候,大于3.8点亮,绿灯亮的时候,小于3.7再熄灭不就好了,其他的以此类推

使用特权

评论回复
steelen| | 2025-1-17 18:02 | 显示全部楼层
IF ( X>3.8 ) 绿灯亮
IF (X <3.7 ) 绿灯灭

使用特权

评论回复
王栋春|  楼主 | 2025-1-18 08:03 | 显示全部楼层
steelen 发表于 2025-1-17 18:02
IF ( X>3.8 ) 绿灯亮
IF (X

谢谢,坛友的意思是直接采用假如……就……,这个能否有个上下浮动的范围?

使用特权

评论回复
评论
steelen 2025-1-21 10:17 回复TA
仔细读 
GlenX| | 2025-1-18 10:39 | 显示全部楼层
本帖最后由 GlenX 于 2025-1-20 09:30 编辑

确实很多编程的做不好这个程序。
首先要为分类的信号建立自己的“死区”变量,可以是常数。
动作值根据定制直接动作,动作取消必须是动作值加上死去作为RESET值。
无论正向、反向,都需要做这个死区处理,或者叫回滞处理。
这才是正常的“报警”或“保护”的动作程序。

使用特权

评论回复
tdh03z| | 2025-1-18 11:09 | 显示全部楼层
5楼的不就可以了吗,在上下限之间的值不处理保持原样,不就是形成了迟滞吗

使用特权

评论回复
steelen| | 2025-1-21 10:17 | 显示全部楼层
tdh03z 发表于 2025-1-18 11:09
5楼的不就可以了吗,在上下限之间的值不处理保持原样,不就是形成了迟滞吗 ...

楼主没有看懂,你懂了

使用特权

评论回复
coody| | 2025-1-30 11:34 | 显示全部楼层
#define   DELTA   10   /* 迟滞量,最好是偶数 */
#define   VALUE1    100   /* 比较点1 */
#define   VALUE2    200   /* 比较点2 */
#define   VALUE3    300   /* 比较点3 */
if (x > ( VALUE1+DELTA/2))   灯1亮;
if (x < ( VALUE1-DELTA/2))   灯1灭;
if (x > ( VALUE2+DELTA/2))   灯2亮;
if (x < ( VALUE2-DELTA/2))   灯2灭;
if (x > ( VALUE3+DELTA/2))   灯3亮;
if (x < ( VALUE3-DELTA/2))   灯3灭;

使用特权

评论回复
王栋春|  楼主 | 2025-1-30 12:54 | 显示全部楼层
coody 发表于 2025-1-30 11:34
#define   DELTA   10   /* 迟滞量,最好是偶数 */
#define   VALUE1    100   /* 比较点1 */
#define   VA ...

谢谢坛友指点,先给你拜个晚年!等开工了我按照你的做一下。

使用特权

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

本版积分规则

3720

主题

25113

帖子

72

粉丝