打印

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

[复制链接]
2605|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王栋春|  楼主 | 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再熄灭不就好了,其他的以此类推

使用特权

评论回复
5
steelen| | 2025-1-17 18:02 | 只看该作者
IF ( X>3.8 ) 绿灯亮
IF (X <3.7 ) 绿灯灭

使用特权

评论回复
6
王栋春|  楼主 | 2025-1-18 08:03 | 只看该作者
steelen 发表于 2025-1-17 18:02
IF ( X>3.8 ) 绿灯亮
IF (X

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

使用特权

评论回复
评论
steelen 2025-1-21 10:17 回复TA
仔细读 
7
GlenX| | 2025-1-18 10:39 | 只看该作者
本帖最后由 GlenX 于 2025-1-20 09:30 编辑

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

使用特权

评论回复
评论
王栋春 2025-1-18 10:54 回复TA
谢谢坛友的指点,非常具有借鉴意义。 
8
tdh03z| | 2025-1-18 11:09 | 只看该作者
5楼的不就可以了吗,在上下限之间的值不处理保持原样,不就是形成了迟滞吗

使用特权

评论回复
评论
GlenX 2025-1-22 14:07 回复TA
我只是说具体应该这么做。 事实上大家都知道这回事,但大部分人没有具体这么做,而是简化了。 实际上是个是个需要规范的小标准。 
9
steelen| | 2025-1-21 10:17 | 只看该作者
tdh03z 发表于 2025-1-18 11:09
5楼的不就可以了吗,在上下限之间的值不处理保持原样,不就是形成了迟滞吗 ...

楼主没有看懂,你懂了

使用特权

评论回复
10
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灭;

使用特权

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

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

使用特权

评论回复
12
qiyuwang| | 2025-2-19 08:42 | 只看该作者
比如绿灯灭的时候,大于3.8点亮,绿灯亮的时候,小于3.7再熄灭不就好了,其他的以此类推

使用特权

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

本版积分规则

3774

主题

25347

帖子

72

粉丝