feat(V4B): V4.36.31 — B3 真空 EMA 重锚: 判定参考与锚错 Origin 解耦
用户拍板: B3 为主, A2(学入步长)可选加严存档 - g_vacuum_ema: 无车 dev 窗内 EMA(α128 τ≈1.28s, 与均值窗同守卫); 判稳建立; INIT 清零 - vac_ref()=min(Origin, EMA): Origin 被 env 学高(搁置态 130636 vs 真空 130506) → 释放线/进入线不再偏高; 撤板真空即释放 - 替换: 进入判定/低Q释放线/环带兜底线/DBG RLN; 高Q中Q 零影响; env 学习用 Origin 本尊 - DBG 加 VEM 字段 语法0 error, 4测试全绿; spec V2.47 / devlog V2.66
This commit is contained in:
@@ -4,6 +4,21 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-09-04 — B3 真空 EMA 重锚:判定参考与锚错 Origin 解耦(固件 V4.36.31)
|
||||||
|
|
||||||
|
用户拍板 B3 为主 / A2 可选加严(存档不默认上,防拖慢真实环境适应)。
|
||||||
|
|
||||||
|
**B3 实现**:
|
||||||
|
- g_vacuum_ema:无车 dev 对称窗内(与均值窗同守卫含释放后冻结)EMA 更新 α=128(τ≈1.28s,噪声 σ_ema≈σ/16);判稳完成建立初值;INIT 清零
|
||||||
|
- vac_ref() = min(Origin, EMA):Origin 学高(J1 搁置态 130636 vs 真空 130506)时取 EMA 锚低 → 释放线/进入线/环带兜底线不偏高
|
||||||
|
- 替换点:进入判定 1352、rel_release_hit 低Q _line、环带兜底 _entry_ln、DBG RLN 显示
|
||||||
|
- 高/中Q 释放路径逐位不变;env 学习逻辑仍用 Origin 本尊(学习机制不动)
|
||||||
|
- 双侧正确性:Origin 学低(真空真低)EMA 追低滞后 → min=Origin(对);Origin 学高(锚错)→ min=EMA(修)
|
||||||
|
- DBG 加 VEM 字段(现场验证 EMA 建立/跟踪)
|
||||||
|
|
||||||
|
A2 存档:env 学习单次 Origin 位移限 1%(655 counts@130k)需多窗确认——拖慢真实大环境变化适应(现场移走大铁板),B3 已覆盖判定侧故暂缓。
|
||||||
|
语法 0 error、4 测试全绿;REV 4.36.31;spec V2.47 / devlog V2.66。
|
||||||
|
|
||||||
## 2026-09-04 — 环带超时兜底:时间回滞替代空间回滞(固件 V4.36.30)
|
## 2026-09-04 — 环带超时兜底:时间回滞替代空间回滞(固件 V4.36.30)
|
||||||
|
|
||||||
用户反馈三连(V4.36.29):①抬一点点就释放(容差 4 压塌回滞到 4 counts)②是否启用低L 灵敏度自适应建议 ③反复试探≈连续过车?会不会越来越难释放?
|
用户反馈三连(V4.36.29):①抬一点点就释放(容差 4 压塌回滞到 4 counts)②是否启用低L 灵敏度自适应建议 ③反复试探≈连续过车?会不会越来越难释放?
|
||||||
@@ -2067,6 +2082,7 @@ if (dev >= dlt_ORG × 4) {
|
|||||||
|
|
||||||
| 版本 | 时间 | 说明 |
|
| 版本 | 时间 | 说明 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
|
| 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 强制释放; 试探卡死根治 |
|
||||||
| V2.64 | 2026-09-04 | V4.36.29 释放容差 REL_LO_TOL=4: Origin 过冲残留(34)被 VD 冻结→释放线偏高→RSM 差 1 count 卡 75s → 容差破死锁 |
|
| V2.64 | 2026-09-04 | V4.36.29 释放容差 REL_LO_TOL=4: Origin 过冲残留(34)被 VD 冻结→释放线偏高→RSM 差 1 count 卡 75s → 容差破死锁 |
|
||||||
| V2.63 | 2026-09-04 | V4.36.28 低Q 锁死根因: 静态带回缺口(23µH 回摆 Origin-36 vs 线 Origin-34 差2counts) → MULT 150→180(带回41); 诊断字段 V4.36.27 |
|
| V2.63 | 2026-09-04 | V4.36.28 低Q 锁死根因: 静态带回缺口(23µH 回摆 Origin-36 vs 线 Origin-34 差2counts) → MULT 150→180(带回41); 诊断字段 V4.36.27 |
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# DLD154V4B 技术规格书
|
# DLD154V4B 技术规格书
|
||||||
|
|
||||||
> 单路线圈车辆检测器 | 固件版本: V4.36.30 | 文档版本: V2.46
|
> 单路线圈车辆检测器 | 固件版本: V4.36.31 | 文档版本: V2.47
|
||||||
> 本文档面向工程开发、系统集成及故障深度分析
|
> 本文档面向工程开发、系统集成及故障深度分析
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -835,3 +835,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的
|
|||||||
| V2.44 | 2026-09-04 | **V4.36.27/28 低Q 锁死根因定位与带回修正**(23µH/33µH 双日志对照 + 诊断字段 QLO/RSM/RLN/RCN):排除 Origin 漂移(全程恒定)与 g_q_lo(=1 正常)与平滑滞后(RSM 跟随正常)→ 根因=**静态带回缺口**:23µH 板停临界稳态 CAPVD 回摆仅 Origin-36,释放线 Origin-34(MULT150)反而更高 2 counts → RCN 永不累计 → 锁死;33µH 回摆 Origin-25 富余 9 → 正常。实测 σ≈1-2 counts(此前 σ25 假设错误)。修正 REL_BAND_LO_MULT 150→180(带回 35→41,线 Origin-41 < Origin-36 稳态,余 4 counts;触发-释放回滞 49-41=8 counts=4~8σ 安全);V4.36.27 为诊断字段过渡版 |
|
| V2.44 | 2026-09-04 | **V4.36.27/28 低Q 锁死根因定位与带回修正**(23µH/33µH 双日志对照 + 诊断字段 QLO/RSM/RLN/RCN):排除 Origin 漂移(全程恒定)与 g_q_lo(=1 正常)与平滑滞后(RSM 跟随正常)→ 根因=**静态带回缺口**:23µH 板停临界稳态 CAPVD 回摆仅 Origin-36,释放线 Origin-34(MULT150)反而更高 2 counts → RCN 永不累计 → 锁死;33µH 回摆 Origin-25 富余 9 → 正常。实测 σ≈1-2 counts(此前 σ25 假设错误)。修正 REL_BAND_LO_MULT 150→180(带回 35→41,线 Origin-41 < Origin-36 稳态,余 4 counts;触发-释放回滞 49-41=8 counts=4~8σ 安全);V4.36.27 为诊断字段过渡版 |
|
||||||
| V2.45 | 2026-09-04 | **V4.36.29 低Q 释放判定容差 REL_LO_TOL=4**(J1 日志 75s 延迟释放根因):Origin 过冲残留(拿起板 env 学高 34 counts, 释放后均值窗 7s 收敛)被 VD 冻结 → 释放线偏高 → 撤板后真空 CAPVD 距线仅 7 counts、RSM 平滑差 1 count 卡 75s。容差 4 = 等效释放线 Origin-45(回滞 49-45=4 counts, σ1-2 安全);板停触发深处(dev-49)不误释放;正常撤板余量不变 |
|
| V2.45 | 2026-09-04 | **V4.36.29 低Q 释放判定容差 REL_LO_TOL=4**(J1 日志 75s 延迟释放根因):Origin 过冲残留(拿起板 env 学高 34 counts, 释放后均值窗 7s 收敛)被 VD 冻结 → 释放线偏高 → 撤板后真空 CAPVD 距线仅 7 counts、RSM 平滑差 1 count 卡 75s。容差 4 = 等效释放线 Origin-45(回滞 49-45=4 counts, σ1-2 安全);板停触发深处(dev-49)不误释放;正常撤板余量不变 |
|
||||||
| V2.46 | 2026-09-04 | **V4.36.30 环带超时兜底替代容差**(用户反馈 V4.36.29 容差致"抬一点就释放"):撤 REL_LO_TOL=4(回滞恢复 8 counts);新增 REL_BAND_TIMEOUT_TICKS=250——低Q 触发后若 CAPVD 平滑 > 进入线(已离开触发深度)持续 2.5s → 强制释放。空间回滞带内停住(试探卡死)不再永久锁;真实车深压不触发;J1 撤板 2.5s 内释放(原 75s) |
|
| V2.46 | 2026-09-04 | **V4.36.30 环带超时兜底替代容差**(用户反馈 V4.36.29 容差致"抬一点就释放"):撤 REL_LO_TOL=4(回滞恢复 8 counts);新增 REL_BAND_TIMEOUT_TICKS=250——低Q 触发后若 CAPVD 平滑 > 进入线(已离开触发深度)持续 2.5s → 强制释放。空间回滞带内停住(试探卡死)不再永久锁;真实车深压不触发;J1 撤板 2.5s 内释放(原 75s) |
|
||||||
|
| 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%)存档可选加严 |
|
||||||
|
|||||||
@@ -40,6 +40,8 @@
|
|||||||
#define REL_BAND_LO_MULT 180 // V4.36.19/28: 低Q 释放带回加宽 % (dlt_rel×1.8: 23→41@SENS3): 防边界试探锁死
|
#define REL_BAND_LO_MULT 180 // V4.36.19/28: 低Q 释放带回加宽 % (dlt_rel×1.8: 23→41@SENS3): 防边界试探锁死
|
||||||
#define REL_BAND_TIMEOUT_TICKS 250 // V4.36.30: 低Q 环带超时兜底 2.5s(@10ms): 板已离开触发深度(CAPVD>进入线)
|
#define REL_BAND_TIMEOUT_TICKS 250 // V4.36.30: 低Q 环带超时兜底 2.5s(@10ms): 板已离开触发深度(CAPVD>进入线)
|
||||||
// 持续 2.5s → 强制释放 (空间回滞带内停住不再永久卡死; 用时间回滞替代空间回滞)
|
// 持续 2.5s → 强制释放 (空间回滞带内停住不再永久卡死; 用时间回滞替代空间回滞)
|
||||||
|
#define VACUUM_EMA_ALFA 128 // V4.36.31: 真空 EMA 平滑因子 (τ≈1.28s@10ms): B3 判定参考解耦
|
||||||
|
// 无车 dev 窗内跟踪实时真空; 噪声 σ_ema≈σ/16 (σ1-2 → 0.1 counts)
|
||||||
// 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.30" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
|
#define FIRMWARE_VER "4.36.31" // 主.子.修订 (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 30
|
#define FIRMWARE_VER_REV 31
|
||||||
#define HARDWARE_VER_MAIN 3
|
#define HARDWARE_VER_MAIN 3
|
||||||
#define HARDWARE_VER_SUB 0
|
#define HARDWARE_VER_SUB 0
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ uint32_t g_rel_smooth = 0; // V4.36.19: 低Q 释放平滑值 (τ≈5
|
|||||||
uint8_t g_q_lo = 0; // V4.36.19: 低Q 档标志 (空场 f>100kHz, update_q_confirm_need 同步)
|
uint8_t g_q_lo = 0; // V4.36.19: 低Q 档标志 (空场 f>100kHz, update_q_confirm_need 同步)
|
||||||
uint16_t g_origin_freeze_tick = 0; // V4.36.26: 释放后 Origin 均值窗冻结计数 (500ms, 切断 cycle 正反馈)
|
uint16_t g_origin_freeze_tick = 0; // V4.36.26: 释放后 Origin 均值窗冻结计数 (500ms, 切断 cycle 正反馈)
|
||||||
uint16_t g_rel_band_cnt = 0; // V4.36.30: 低Q 环带超时兜底计数 (离开触发深度持续 2.5s → 强制释放)
|
uint16_t g_rel_band_cnt = 0; // V4.36.30: 低Q 环带超时兜底计数 (离开触发深度持续 2.5s → 强制释放)
|
||||||
|
uint32_t g_vacuum_ema = 0; // V4.36.31: 真空 EMA 基线 (B3: 释放/触发参考与锚错 Origin 解耦)
|
||||||
uint32_t loop1_Origin;
|
uint32_t loop1_Origin;
|
||||||
uint32_t loop1_ORG_SUM;
|
uint32_t loop1_ORG_SUM;
|
||||||
uint16_t loop1_ORG_CNT;
|
uint16_t loop1_ORG_CNT;
|
||||||
@@ -281,6 +282,15 @@ uint32_t get_flt_value_rel(uint32_t new_value, uint32_t last_value)
|
|||||||
* 快值直接判在边界试探时计数被抖断 → 释放点外移/卡死;
|
* 快值直接判在边界试探时计数被抖断 → 释放点外移/卡死;
|
||||||
* 低Q 用 τ50ms 平滑值(复刻打印阻塞降采样平均效应) + 带回 ×1.5(留 σ 余量).
|
* 低Q 用 τ50ms 平滑值(复刻打印阻塞降采样平均效应) + 带回 ×1.5(留 σ 余量).
|
||||||
* 高Q/中Q 走原快值逻辑, 零影响 */
|
* 高Q/中Q 走原快值逻辑, 零影响 */
|
||||||
|
/* V4.36.31: B3 判定参考 — min(Origin, 真空 EMA)
|
||||||
|
* Origin 可能被 env 学习锚到高位(板搁置态/过冲, J1: 130636 vs 真空 130506) → 释放线偏高
|
||||||
|
* → 撤板真空也够不着; 取 min 使参考锚向实时真空(低者=保守方向), 双侧自动正确 */
|
||||||
|
static uint32_t vac_ref(void)
|
||||||
|
{
|
||||||
|
if (g_vacuum_ema == 0) return loop1_Origin;
|
||||||
|
return (g_vacuum_ema < loop1_Origin) ? g_vacuum_ema : loop1_Origin;
|
||||||
|
}
|
||||||
|
|
||||||
static uint8_t rel_release_hit(void)
|
static uint8_t rel_release_hit(void)
|
||||||
{
|
{
|
||||||
uint32_t _cmp = loop1_CAPVD;
|
uint32_t _cmp = loop1_CAPVD;
|
||||||
@@ -288,7 +298,7 @@ static uint8_t rel_release_hit(void)
|
|||||||
|
|
||||||
if (g_q_lo) {
|
if (g_q_lo) {
|
||||||
_cmp = g_rel_smooth;
|
_cmp = g_rel_smooth;
|
||||||
_line = loop1_Origin - ((loop1_dlt_ORG * REL_BAND_LO_MULT) / 100);
|
_line = vac_ref() - ((loop1_dlt_ORG * REL_BAND_LO_MULT) / 100); /* V4.36.31: 锚真空参考 */
|
||||||
}
|
}
|
||||||
return (_line < _cmp) ? 1 : 0;
|
return (_line < _cmp) ? 1 : 0;
|
||||||
}
|
}
|
||||||
@@ -526,6 +536,7 @@ void INIT_VD(void)
|
|||||||
g_q_lo = 0; /* V4.36.19: 低Q 档标志清零 */
|
g_q_lo = 0; /* V4.36.19: 低Q 档标志清零 */
|
||||||
g_origin_freeze_tick = 0; /* V4.36.26: 释放冻结计数清零 */
|
g_origin_freeze_tick = 0; /* V4.36.26: 释放冻结计数清零 */
|
||||||
g_rel_band_cnt = 0; /* V4.36.30: 环带兜底计数清零 */
|
g_rel_band_cnt = 0; /* V4.36.30: 环带兜底计数清零 */
|
||||||
|
g_vacuum_ema = 0; /* V4.36.31: 真空 EMA 清零 (判稳后重建) */
|
||||||
loop1_CAP_OK = 0;
|
loop1_CAP_OK = 0;
|
||||||
loop1_CAPVD = 0;
|
loop1_CAPVD = 0;
|
||||||
loop1_CAPVD_slow = 0; // 方案A: 释放慢滤波复位
|
loop1_CAPVD_slow = 0; // 方案A: 释放慢滤波复位
|
||||||
@@ -1187,6 +1198,7 @@ void vd1_task(void)
|
|||||||
g_loop_stable = 1;
|
g_loop_stable = 1;
|
||||||
g_stable_cnt = 0; // 计数退出时清零: 二次稳定期(安全复位)从零开始
|
g_stable_cnt = 0; // 计数退出时清零: 二次稳定期(安全复位)从零开始
|
||||||
g_settle_cnt = 0;
|
g_settle_cnt = 0;
|
||||||
|
g_vacuum_ema = loop1_Origin; /* V4.36.31: 判稳完成建立真空基线 */
|
||||||
PRINT("Loop stable, Origin:%d\n", loop1_Origin);
|
PRINT("Loop stable, Origin:%d\n", loop1_Origin);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -1232,9 +1244,16 @@ void vd1_task(void)
|
|||||||
g_env_recover_cnt = 0; // 目标进入确认区 → 恢复计时重来
|
g_env_recover_cnt = 0; // 目标进入确认区 → 恢复计时重来
|
||||||
}
|
}
|
||||||
/* V4.36.26: 释放后冻结期内 Origin 均值窗不更新 (切断 cycle 间正反馈) */
|
/* V4.36.26: 释放后冻结期内 Origin 均值窗不更新 (切断 cycle 间正反馈) */
|
||||||
if (g_origin_freeze_tick == 0)
|
if (g_origin_freeze_tick == 0) {
|
||||||
update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT,
|
update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT,
|
||||||
&loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN);
|
&loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN);
|
||||||
|
/* V4.36.31: 真空 EMA 同步更新 (同条件同守卫; α=128 τ≈1.28s) */
|
||||||
|
if (g_vacuum_ema == 0)
|
||||||
|
g_vacuum_ema = loop1_CAPVD;
|
||||||
|
else
|
||||||
|
g_vacuum_ema += (uint32_t)((int32_t)loop1_CAPVD - (int32_t)g_vacuum_ema)
|
||||||
|
/ VACUUM_EMA_ALFA;
|
||||||
|
}
|
||||||
} else if (dev < 0) {
|
} else if (dev < 0) {
|
||||||
g_env_wait_cnt = 0; // V4.24: 目标靠近(车方向) → 等待重来
|
g_env_wait_cnt = 0; // V4.24: 目标靠近(车方向) → 等待重来
|
||||||
env_resync_abort(); // V4.24: 学习中被打断 → 重算
|
env_resync_abort(); // V4.24: 学习中被打断 → 重算
|
||||||
@@ -1340,7 +1359,7 @@ void vd1_task(void)
|
|||||||
coil_monitor();
|
coil_monitor();
|
||||||
|
|
||||||
/*--- 进入确认 — 连续 ENTRY_CONFIRM 次低于阈值才判有车 ---*/
|
/*--- 进入确认 — 连续 ENTRY_CONFIRM 次低于阈值才判有车 ---*/
|
||||||
if (loop1_CAPVD < (loop1_Origin - loop1_dlt_ORG) && g_reconn_blank_ms == 0 && !g_reconn_stab) {
|
if (loop1_CAPVD < (vac_ref() - loop1_dlt_ORG) && g_reconn_blank_ms == 0 && !g_reconn_stab) { /* V4.36.31: 锚真空参考 */
|
||||||
if (loop1_entry_cnt == 0) {
|
if (loop1_entry_cnt == 0) {
|
||||||
/* 过渡事件: 第一次命中进入线 (定位"为什么开始进入") */
|
/* 过渡事件: 第一次命中进入线 (定位"为什么开始进入") */
|
||||||
PRINT("EVT|enter_try Value:%d CAPVD:%d Origin:%d dlt:%d f:%dkHz LPCNT:%d Xn:%d\n",
|
PRINT("EVT|enter_try Value:%d CAPVD:%d Origin:%d dlt:%d f:%dkHz LPCNT:%d Xn:%d\n",
|
||||||
@@ -1498,8 +1517,8 @@ void vd1_task(void)
|
|||||||
* 持续 2.5s → 强制释放. 空间回滞带(触发线~释放线)内停住不再永久卡死;
|
* 持续 2.5s → 强制释放. 空间回滞带(触发线~释放线)内停住不再永久卡死;
|
||||||
* 真实车深压(dev 远深于触发线)不触发; 撤板/缓离离开触发线后 2.5s 内必释放 */
|
* 真实车深压(dev 远深于触发线)不触发; 撤板/缓离离开触发线后 2.5s 内必释放 */
|
||||||
if (g_q_lo) {
|
if (g_q_lo) {
|
||||||
uint32_t _entry_ln = loop1_Origin -
|
uint32_t _entry_ln = vac_ref() -
|
||||||
(((uint32_t)loop1_Origin * SensTable[loop1_SensLevel]) >> 16);
|
(((uint32_t)loop1_Origin * SensTable[loop1_SensLevel]) >> 16); /* V4.36.31: 锚真空参考 */
|
||||||
if (g_rel_smooth > _entry_ln) {
|
if (g_rel_smooth > _entry_ln) {
|
||||||
g_rel_band_cnt++;
|
g_rel_band_cnt++;
|
||||||
if (g_rel_band_cnt >= REL_BAND_TIMEOUT_TICKS) {
|
if (g_rel_band_cnt >= REL_BAND_TIMEOUT_TICKS) {
|
||||||
@@ -1672,12 +1691,12 @@ void loop_task_function(void *pvParameters)
|
|||||||
/* V4.36.27 诊断: 释放路径现场 — QLO=低Q档 RSM=释放平滑 RLN=低Q释放线 RCN=释放确认计数
|
/* V4.36.27 诊断: 释放路径现场 — QLO=低Q档 RSM=释放平滑 RLN=低Q释放线 RCN=释放确认计数
|
||||||
* (每 2s 一行, 不阻塞 10ms tick, 不屏蔽低Q 抖动复现) */
|
* (每 2s 一行, 不阻塞 10ms tick, 不屏蔽低Q 抖动复现) */
|
||||||
{
|
{
|
||||||
uint32_t _rln = loop1_Origin - loop1_dlt_ORG;
|
uint32_t _rln = vac_ref() - loop1_dlt_ORG;
|
||||||
if (g_q_lo)
|
if (g_q_lo)
|
||||||
_rln = loop1_Origin - ((loop1_dlt_ORG * REL_BAND_LO_MULT) / 100);
|
_rln = vac_ref() - ((loop1_dlt_ORG * REL_BAND_LO_MULT) / 100); /* V4.36.31: 显示真空锚定线 */
|
||||||
PRINT("DBG|t=%ums f=%dkHz L=%luuH Xn=%d LPCNT=%d Value=%d CAPVD=%d slow=%d "
|
PRINT("DBG|t=%ums f=%dkHz L=%luuH Xn=%d LPCNT=%d Value=%d CAPVD=%d slow=%d "
|
||||||
"Origin=%d dlt=%d SENS=%d VD=%d FRZ=%d/%d LIM=%d LOOP=%d STBL=%d "
|
"Origin=%d dlt=%d SENS=%d VD=%d FRZ=%d/%d LIM=%d LOOP=%d STBL=%d "
|
||||||
"QLO=%d RSM=%d RLN=%d RCN=%d\n",
|
"QLO=%d VEM=%d RSM=%d RLN=%d RCN=%d\n",
|
||||||
_t_ms,
|
_t_ms,
|
||||||
_fk,
|
_fk,
|
||||||
coil_l_uH(_fk),
|
coil_l_uH(_fk),
|
||||||
@@ -1685,7 +1704,7 @@ void loop_task_function(void *pvParameters)
|
|||||||
loop1_Origin, loop1_dlt_ORG, loop1_SensLevel, loop1_VD_FLAG,
|
loop1_Origin, loop1_dlt_ORG, loop1_SensLevel, loop1_VD_FLAG,
|
||||||
loop1_freeze_cnt, loop1_freeze_ref, g_slope_limit_cnt,
|
loop1_freeze_cnt, loop1_freeze_ref, g_slope_limit_cnt,
|
||||||
loop1_LOOP_OK, g_loop_stable,
|
loop1_LOOP_OK, g_loop_stable,
|
||||||
g_q_lo, g_rel_smooth, _rln, loop1_cnt_release);
|
g_q_lo, g_vacuum_ema, g_rel_smooth, _rln, loop1_cnt_release);
|
||||||
}
|
}
|
||||||
g_slope_limit_cnt = 0; // 限幅计数按周期清 (统计最近 2s)
|
g_slope_limit_cnt = 0; // 限幅计数按周期清 (统计最近 2s)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user