fix(V4B): V4.36.33 — vac_ref 重锚阈值: 修 EMA 边缘污染触发高度漂移
V4.36.32 板测新问题(所有线圈): 板间隔几秒再压触发高度降一半, 多试几轮恢复 机制: EMA(α128 τ1.28s) 更新窗=±4×dlt(196) 太宽 — 板悬感应边缘(dev−20~−40) 当真空快学 → vac_ref=min(Origin,EMA)=EMA 低 → 触发线漂移; Origin 5s 满窗慢所以以前无感 修: vac_ref = (Origin−EMA > 1×dlt) ? EMA : Origin - J1 锚错 130(2.65dlt) 仍重锚; 边缘拉低 20~40(<1dlt) 忽略 - 未重锚最大偏差 48 → 真空 Origin−48 vs 释放线 −41 差 7 → 环带兜底覆盖不卡 语法0 error, 4测试全绿; spec V2.50 / devlog V2.68
This commit is contained in:
@@ -4,6 +4,23 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-09-04 — vac_ref 重锚阈值:EMA 边缘污染修复(固件 V4.36.33)
|
||||||
|
|
||||||
|
V4.36.32 板测反馈:33µH 大幅好转(剩上电自检完首压偶发);23µH 仍可复现;**新问题(所有线圈):金属板间隔几秒再压,触发高度下降一半甚至更多,多试几轮恢复**。
|
||||||
|
|
||||||
|
**机制(静态确认)**:EMA 更新窗 = 无车 + dev∈±4×dlt(196)——金属板悬感应边缘(未触发 dev−20~−40)在窗内;EMA α128(τ1.28s) 2~3s 拉低 20~40 counts → vac_ref=min(Origin,EMA)=EMA → 触发线偏低 → 触发高度下降。Origin 均值窗 5s 满窗慢故以前不明显;EMA 快 4 倍+宽窗成新副作用。
|
||||||
|
|
||||||
|
**V4.36.33 修**:vac_ref 加阈值门控 VAC_REF_DELTA_DLT=1——
|
||||||
|
```
|
||||||
|
vac_ref = (Origin − EMA > 1×dlt) ? EMA : Origin
|
||||||
|
```
|
||||||
|
- J1 锚错 130 counts(2.65×dlt) → 重锚 EMA ✓
|
||||||
|
- 边缘悬停拉低 EMA 20~40(0.4~0.8×dlt) → 忽略用 Origin ✓ 触发线不漂
|
||||||
|
- 阈值 1×dlt 下未重锚最大偏差 48: 真空 Origin−48 vs 释放线 Origin−41 差 7 → 环带兜底(离开触发线)覆盖, 不永久卡
|
||||||
|
|
||||||
|
余两项待日志: ① 33µH 上电自检完首压卡死(10s 后正常——判稳后首个 cycle 竞态嫌疑); ② 23µH 仍复现。
|
||||||
|
语法 0 error、4 测试全绿;REV 4.36.33;spec V2.50 / devlog V2.68。
|
||||||
|
|
||||||
## 2026-09-04 — 释放后分级补偿:仿 PD132T 慢采样等效(固件 V4.36.32)
|
## 2026-09-04 — 释放后分级补偿:仿 PD132T 慢采样等效(固件 V4.36.32)
|
||||||
|
|
||||||
用户对比 PD132T(无"不易释放/释放越来越远")提出:132T 采样比 154V4 慢,Origin 学习等效慢 → 残余学入慢 → 更稳。
|
用户对比 PD132T(无"不易释放/释放越来越远")提出:132T 采样比 154V4 慢,Origin 学习等效慢 → 残余学入慢 → 更稳。
|
||||||
@@ -2095,6 +2112,7 @@ if (dev >= dlt_ORG × 4) {
|
|||||||
|
|
||||||
| 版本 | 时间 | 说明 |
|
| 版本 | 时间 | 说明 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
|
| V2.68 | 2026-09-04 | V4.36.33 vac_ref 重锚阈值(Origin−EMA>1×dlt 才锚 EMA): 修边缘悬停拉低 EMA 触发高度漂移 |
|
||||||
| V2.67 | 2026-09-04 | V4.36.32 释放后分级补偿(冻结1s+降权2s×1/5): 仿132T 慢采样防残余整窗拉低 Origin |
|
| V2.67 | 2026-09-04 | V4.36.32 释放后分级补偿(冻结1s+降权2s×1/5): 仿132T 慢采样防残余整窗拉低 Origin |
|
||||||
| V2.66 | 2026-09-04 | V4.36.31 B3 真空 EMA 重锚: vac_ref=min(Origin,EMA) 判定参考解耦; A2 存档 |
|
| V2.66 | 2026-09-04 | V4.36.31 B3 真空 EMA 重锚: vac_ref=min(Origin,EMA) 判定参考解耦; A2 存档 |
|
||||||
| V2.65 | 2026-09-04 | V4.36.30 环带超时兜底(时间回滞): 撤容差4; 低Q 离开触发深度持续2.5s 强制释放; 试探卡死根治 |
|
| V2.65 | 2026-09-04 | V4.36.30 环带超时兜底(时间回滞): 撤容差4; 低Q 离开触发深度持续2.5s 强制释放; 试探卡死根治 |
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# DLD154V4B 技术规格书
|
# DLD154V4B 技术规格书
|
||||||
|
|
||||||
> 单路线圈车辆检测器 | 固件版本: V4.36.32 | 文档版本: V2.49
|
> 单路线圈车辆检测器 | 固件版本: V4.36.33 | 文档版本: V2.50
|
||||||
> 本文档面向工程开发、系统集成及故障深度分析
|
> 本文档面向工程开发、系统集成及故障深度分析
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -842,3 +842,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的
|
|||||||
| V2.47 | 2026-09-04 | **V4.36.31 真空 EMA 重锚(B3)**:无车 dev 窗维护 g_vacuum_ema(α=128, τ≈1.28s, 判稳建立);判定参考 vac_ref()=min(Origin, EMA)——进入线/低Q 释放线/环带兜底线全部锚真空参考。Origin 被 env 学习锚高(板搁置态 130636 vs 真空 130506)时释放线不再偏高;撤板真空即释放。DBG 加 VEM/RLN 显示真空锚定线。A2(学入步长限 1%)存档可选加严 |
|
| V2.47 | 2026-09-04 | **V4.36.31 真空 EMA 重锚(B3)**:无车 dev 窗维护 g_vacuum_ema(α=128, τ≈1.28s, 判稳建立);判定参考 vac_ref()=min(Origin, EMA)——进入线/低Q 释放线/环带兜底线全部锚真空参考。Origin 被 env 学习锚高(板搁置态 130636 vs 真空 130506)时释放线不再偏高;撤板真空即释放。DBG 加 VEM/RLN 显示真空锚定线。A2(学入步长限 1%)存档可选加严 |
|
||||||
| V2.48 | 2026-09-04 | **V4.36.32 释放后分级补偿(仿 PD132T 慢采样)**:均值窗是满窗替换(500 样本/5s)——快采样 10ms 让窗装得快, 释放残余(板缓离低 CAPVD)易整窗拉低 Origin。分级:释放后全冻结 1s(REL_ORIGIN_FREEZE_TICKS 50→100) → 降权低速补偿 2s(ORIGIN_LOWLEARN_TICKS=200, 窗 500→2500=25s, 学习速率 1/5, ORIGIN_LOWLEARN_MULT=5) → 正常。全宏可调;EMA/判定零影响 |
|
| V2.48 | 2026-09-04 | **V4.36.32 释放后分级补偿(仿 PD132T 慢采样)**:均值窗是满窗替换(500 样本/5s)——快采样 10ms 让窗装得快, 释放残余(板缓离低 CAPVD)易整窗拉低 Origin。分级:释放后全冻结 1s(REL_ORIGIN_FREEZE_TICKS 50→100) → 降权低速补偿 2s(ORIGIN_LOWLEARN_TICKS=200, 窗 500→2500=25s, 学习速率 1/5, ORIGIN_LOWLEARN_MULT=5) → 正常。全宏可调;EMA/判定零影响 |
|
||||||
| V2.49 | 2026-09-04 | 文档勘误:① 4.4.2 表"折算频率下降"列少乘 2(应 = −dXn/Xn: −2.06/−0.43/−0.23/−0.15%);② 补方向澄清——本表只管 CAPVD>Origin(L 升方向),车压 L 降方向冻结不在此表;③ 4.3.1 注 USE_PLANB_TABLE 双表 |
|
| V2.49 | 2026-09-04 | 文档勘误:① 4.4.2 表"折算频率下降"列少乘 2(应 = −dXn/Xn: −2.06/−0.43/−0.23/−0.15%);② 补方向澄清——本表只管 CAPVD>Origin(L 升方向),车压 L 降方向冻结不在此表;③ 4.3.1 注 USE_PLANB_TABLE 双表 |
|
||||||
|
| V2.50 | 2026-09-04 | **V4.36.33 vac_ref 重锚阈值 VAC_REF_DELTA_DLT=1**:用户反馈触发高度漂移(间隔几秒再压变浅、多试几轮恢复)——EMA(α128 τ1.28s)+4×dlt 宽窗把金属板悬感应边缘(dev−20~−40)当真空快学 → vac_ref 被拉低 → 触发线漂移。修: 仅 Origin−EMA>1×dlt(真锚错 J1 130 counts) 才重锚 EMA, 小偏差用 Origin |
|
||||||
|
|||||||
@@ -42,6 +42,9 @@
|
|||||||
// 持续 2.5s → 强制释放 (空间回滞带内停住不再永久卡死; 用时间回滞替代空间回滞)
|
// 持续 2.5s → 强制释放 (空间回滞带内停住不再永久卡死; 用时间回滞替代空间回滞)
|
||||||
#define VACUUM_EMA_ALFA 128 // V4.36.31: 真空 EMA 平滑因子 (τ≈1.28s@10ms): B3 判定参考解耦
|
#define VACUUM_EMA_ALFA 128 // V4.36.31: 真空 EMA 平滑因子 (τ≈1.28s@10ms): B3 判定参考解耦
|
||||||
// 无车 dev 窗内跟踪实时真空; 噪声 σ_ema≈σ/16 (σ1-2 → 0.1 counts)
|
// 无车 dev 窗内跟踪实时真空; 噪声 σ_ema≈σ/16 (σ1-2 → 0.1 counts)
|
||||||
|
#define VAC_REF_DELTA_DLT 1 // V4.36.33: vac_ref 重锚阈值 (×dlt): 仅 Origin−EMA > 1×dlt(真锚错)
|
||||||
|
// 才用 EMA 锚低 — 防金属板悬感应边缘(dev−20~−40<4dlt)快速拉低 EMA
|
||||||
|
// → 触发线漂移(触发高度下降); 小偏差仍用 Origin
|
||||||
// 150(→35)不够: 23µH 现场实测板停临界回摆 Origin-36, 需释放线<Origin-37 才释放;
|
// 150(→35)不够: 23µH 现场实测板停临界回摆 Origin-36, 需释放线<Origin-37 才释放;
|
||||||
// 180(→41)线=Origin-41, 余 4 counts; 触发-释放回滞 49-41=8 counts (实测σ≈1-2, 安全)
|
// 180(→41)线=Origin-41, 余 4 counts; 触发-释放回滞 49-41=8 counts (实测σ≈1-2, 安全)
|
||||||
#define USE_SLOW_RELEASE 0 // 方案A总开关: 1=释放走慢滤波(对齐PD132T) 0=原快滤波释放
|
#define USE_SLOW_RELEASE 0 // 方案A总开关: 1=释放走慢滤波(对齐PD132T) 0=原快滤波释放
|
||||||
|
|||||||
@@ -14,11 +14,11 @@
|
|||||||
#define __CMCNG_H__
|
#define __CMCNG_H__
|
||||||
|
|
||||||
#define PRODUCT_MODEL "DLD154"
|
#define PRODUCT_MODEL "DLD154"
|
||||||
#define FIRMWARE_VER "4.36.32" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
|
#define FIRMWARE_VER "4.36.33" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
|
||||||
#define HARDWARE_VER "3.00"
|
#define HARDWARE_VER "3.00"
|
||||||
#define FIRMWARE_VER_MAIN 4
|
#define FIRMWARE_VER_MAIN 4
|
||||||
#define FIRMWARE_VER_SUB 36
|
#define FIRMWARE_VER_SUB 36
|
||||||
#define FIRMWARE_VER_REV 32
|
#define FIRMWARE_VER_REV 33
|
||||||
#define HARDWARE_VER_MAIN 3
|
#define HARDWARE_VER_MAIN 3
|
||||||
#define HARDWARE_VER_SUB 0
|
#define HARDWARE_VER_SUB 0
|
||||||
|
|
||||||
|
|||||||
@@ -289,7 +289,11 @@ uint32_t get_flt_value_rel(uint32_t new_value, uint32_t last_value)
|
|||||||
static uint32_t vac_ref(void)
|
static uint32_t vac_ref(void)
|
||||||
{
|
{
|
||||||
if (g_vacuum_ema == 0) return loop1_Origin;
|
if (g_vacuum_ema == 0) return loop1_Origin;
|
||||||
return (g_vacuum_ema < loop1_Origin) ? g_vacuum_ema : loop1_Origin;
|
/* V4.36.33: 仅明显锚错(Origin 高于 EMA > 1×dlt)才重锚 EMA — 边缘金属悬停拉低 EMA 的小偏差忽略 */
|
||||||
|
if ((int32_t)loop1_Origin - (int32_t)g_vacuum_ema >
|
||||||
|
(int32_t)(loop1_dlt_ORG * VAC_REF_DELTA_DLT))
|
||||||
|
return g_vacuum_ema;
|
||||||
|
return loop1_Origin;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t rel_release_hit(void)
|
static uint8_t rel_release_hit(void)
|
||||||
|
|||||||
Reference in New Issue
Block a user