ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

目标设得太低,控制永远追不到?传感器有个“读数下限“

目标设得太低,控制永远追不到?传感器有个“读数下限“ 一句话: 传感器信号弱到一定程度读数锁在某个值不再下降就像厨房电子秤称一粒米永远显示 0g。目标设到下限以下时算法永远追不到只能顶在上限空耗。识别物理下限直接判不可达停机。适合谁读控制目标接近传感器量程边缘、算法永远追不到目标还在一直跑的嵌入式工程师。先用电子秤理解读数下限厨房电子秤的最小显示是 1g。你往上面放一粒米0.05g——秤显示 0g放十粒0.5g——还是 0g。不是秤坏了是读数有下限低于下限的信号秤根本看不到。控制算法遇到的就是这个目标设得太低算法再怎么调测量系统都读不到比目标低——因为它已经被下限锁死了。现象目标设小算法永远完不成控制算法设定目标 0.5预期输出很小。实际表现算法一路加大输出到顶实际值却还是高——永远测不到低于目标区间永远不会收窄一直顶在上限空耗。诡异的是不是算法错了是测量到头了。根因传感器读数有个下限测量传感器的读数特性信号很弱 → 读数降到 0.77 就锁住不再下降 信号超过 0.77 → 读数正常跟随物理上信号可以更弱但传感器读数锁在 0.77 这个下限。于是目标设置算法看到的现象≥ 0.8正常高了减、低了加收敛 0.8永远测到 0.77 还是高——因为读数下不去了目标设在下限以下 目标在物理上不可达。算法再聪明也追不到因为测量系统本身做不到。解法识别下限直接判不可达在算法启动前先查目标值if (target SENSOR_FLOOR MARGIN) { // 目标低于传感器读数下限 余量 → 物理不可达 shutdown(目标不可达); // 直接停机别让算法白耗 return; }判断依据就是传感器的读数下限这个硬件特性——标定或实测得出下限值目标设在下限附近直接拦下。为什么不能让它自己试有人会说让算法自己跑跑不到自然就停了。问题在于自己跑后果输出一路加大顶到上限设备满负荷空耗一直收不到低于目标搜索永不收敛无限循环用户观感设备疯了没有任何反馈识别物理边界直接停机是给不可达目标一个明确的结果而不是让设备耗到出问题。通用规律控制前先查物理边界这个教训不限于一种测量。控制/测量系统都要先理清物理边界边界类型例子做法传感器读数下限弱信号锁值目标低于下限 → 直接判不可达传感器量程上限超量程截断目标高于上限 → 限幅或报错执行器极限输出顶格顶格还达不到 → 停机保护目标能不能达物理说了算——算法启动前先查一遍边界能拦的拦不能拦的明确停机。总结项结论现象目标设小算法顶到上限空耗根因传感器读数有下限目标物理不可达解法识别下限目标低于它直接停机通用原则控制前先查物理边界传感器读数不是想测多少测多少——有下限的传感器目标低于下限就认输别让算法硬追。实测对比目标设到下限以下算法永远追不到顶到上限耗着 | 识别下限直接判不可达立即停机有用的话点个收藏下次目标设小追不到先查传感器读数下限。有问题欢迎评论区交流看到了都会回。下一篇ADC读数饱和在0.55VSAR ADC直连高阻源的经典陷阱——测量链路先修好再谈控制
返回列表