feat(V4B): V4.29 — C_eff 标定定稿 68 (0Ω板低频档) + 硬件疑点闭环

硬件修复(用户): 拨码三极管 5.1K→0Ω → 第二颗33nF真正并联
0Ω板低频档实测: 52k/136µH→C_eff=68.9; 127k/23µH→68.3; 88k/48µH→68.1 (均值68.4≈名义66)
→ V4.28 的 43nF 为 5.1K 旧板带病特性(三极管未饱和导通, 并联只等效+8.6nF), 作废
改动: COIL_CAL_C_NF 43→68; 33nF档标定34(旧板)待0Ω板复测
验证: 68 回代残差 ≤1.5% (52k→138vs136; 127k→23vs23; 88k→48vs48)
文档: devlog V2.27 / spec V2.8 / design doc v0.6
This commit is contained in:
wangfq
2026-09-03 14:13:08 +08:00
parent 5c8a425da1
commit ac3fda09e2
6 changed files with 56 additions and 11 deletions
+1
View File
@@ -12,6 +12,7 @@
| v0.3 | 2026-09-03 | **用户 4 点拍板收口(取代 v0.2 三区/灰带)**:默认低频档频率窗 **20~120 kHz** 出界即告警;黄灯**一长一短**;优先级 1 断开快闪 > 4 故障补偿常亮 > 5 电感一长一短 > 3 N短亮 > 2 灭;故障补偿 ENV_RESYNC_WAIT **60s→10s**。已实现于 V4.26672f143 后) | | v0.3 | 2026-09-03 | **用户 4 点拍板收口(取代 v0.2 三区/灰带)**:默认低频档频率窗 **20~120 kHz** 出界即告警;黄灯**一长一短**;优先级 1 断开快闪 > 4 故障补偿常亮 > 5 电感一长一短 > 3 N短亮 > 2 灭;故障补偿 ENV_RESYNC_WAIT **60s→10s**。已实现于 V4.26672f143 后) |
| v0.4 | 2026-09-03 | **测频 4 倍偏差修正(V4.27**calc_freq_khz 60000→240000TMR3 实际 120MHz 计数 + 通道捕获 DIV_2)。本文 §3 中"Xn=3681→f=16.3kHz→L≈1.4mH 超限案例"为**测频 bug 假象**——修正后实为 f≈65.2kHz、L≈90µH 的正常线圈;该"红区案例"作废,需按真实频率重新采集现场数据 | | v0.4 | 2026-09-03 | **测频 4 倍偏差修正(V4.27**calc_freq_khz 60000→240000TMR3 实际 120MHz 计数 + 通道捕获 DIV_2)。本文 §3 中"Xn=3681→f=16.3kHz→L≈1.4mH 超限案例"为**测频 bug 假象**——修正后实为 f≈65.2kHz、L≈90µH 的正常线圈;该"红区案例"作废,需按真实频率重新采集现场数据 |
| v0.5 | 2026-09-03 | **L 估算标定(V4.28**:五组 LCR 实测反推振荡回路等效谐振电容 C_eff=41.3~45.5nF(均值 43),与名义 66nF 明显不符 → 固件改标定值 COIL_CAL_C_NF=43L_uH=2.533e7/(f²×C_eff));COIL_DEF_C_NF 保留为名义口径。残差 ±6% 内,待多线圈/标定电感进一步收口 | | v0.5 | 2026-09-03 | **L 估算标定(V4.28**:五组 LCR 实测反推振荡回路等效谐振电容 C_eff=41.3~45.5nF(均值 43),与名义 66nF 明显不符 → 固件改标定值 COIL_CAL_C_NF=43L_uH=2.533e7/(f²×C_eff));COIL_DEF_C_NF 保留为名义口径。残差 ±6% 内,待多线圈/标定电感进一步收口 |
| v0.6 | 2026-09-03 | **硬件修复后定稿(V4.29**:拨码三极管 5.1K→0Ω → 低频档并联全导通,C_eff=68.1~68.9(均值 68.4)≈名义 66。v0.5 的 43 为 5.1K 旧板带病特性(开关未饱和),**作废**COIL_CAL_C_NF 43→68,残差 ≤1.5%。33nF 档标定 34(旧板数据)待 0Ω 板复测 |
## 1. 背景 ## 1. 背景
+42
View File
@@ -4,6 +4,47 @@
--- ---
## 2026-09-03 — C_eff 标定定稿 68(0Ω 板低频档)+ 硬件疑点闭环(固件 V4.29)
> **固件版本:V4.29**cmcng.hFIRMWARE_VER="4.29" + MAIN=4/SUB=29)。devlog 修订 V2.27。
### 硬件修复(用户操作)
拨码接通第二颗 33nF 的开关电路:**三极管上 5.1K 电阻改为 0Ω**。
(该三极管用于拨码档位时断开/接通电容。)
### 修复效果(0Ω 板低频档实测)
| 打印 f | 打印 L(66名义) | LCR 实际 L | C_eff 反推 |
|--------|--------------|-----------|-----------|
| 52 kHz | 141 µH | 136 µH | 68.9 nF |
| 127 kHz | 23 µH | 23 µH | 68.3 nF |
| 88 kHz | 49 µH | 48 µH | 68.1 nF |
**C_eff = 68.1~68.9nF(均值 68.4)≈ 名义 66nF** → 第二颗 33nF 现在真正并联进回路。
### 闭环结论(V4.28 的 43 作废)
V4.28 标定的 43nF 是 **5.1K 旧板带病特性**5.1K 电阻在三极管开关通路造成
未饱和导通/压降 → 第二颗 33nF 只等效并入 ~8.6nF(两档 C_eff 比仅 1.25 非 2.0)。
换 0Ω 后开关全导通 → 低频档 C_eff 回到 ~68(≈66+分布)。
### 改动
- COIL_CAL_C_NF 43 → **68**(0Ω 板量产默认);注释记录 43 作废原因
- 高频档(33nF)标定仍记 34(旧板数据;0Ω 板待复测,若开关只控并联支路则不受影响)
- 版本 V4.29spec V2.8 / devlog V2.27 / design doc v0.6
### 验证(用 68 回代)
52k→138µH(实136 +1.3%) 127k→23µH(实23 +0.4%) 88k→48µH(实48 +0.2%)
残差 ≤1.5%(用名义 66 则 +3~4%68 更贴 LCR
### 待确认
- 0Ω 板 **33nF 档** C_eff 复测(预期仍 ~34,若开关只控并联支路)
- 量产切换 0Ω 电阻后按 68 标定
## 2026-09-03 — 电感量估算引入 C_eff 标定(固件 V4.28 ## 2026-09-03 — 电感量估算引入 C_eff 标定(固件 V4.28
> **固件版本:V4.28**cmcng.hFIRMWARE_VER="4.28" + MAIN=4/SUB=28)。devlog 修订 V2.26。 > **固件版本:V4.28**cmcng.hFIRMWARE_VER="4.28" + MAIN=4/SUB=28)。devlog 修订 V2.26。
@@ -1188,6 +1229,7 @@ if (dev >= dlt_ORG × 4) {
| 版本 | 时间 | 说明 | | 版本 | 时间 | 说明 |
|------|------|------| |------|------|------|
| V2.27 | 2026-09-03 | V4.29 硬件修复(拨码三极管5.1K→0Ω)后 C_eff=68.1~68.9nF≈名义66, COIL_CAL_C_NF 43→68 (旧43为5.1K带病特性作废) |
| V2.26 | 2026-09-03 | V4.28 电感量估算引入标定 COIL_CAL_C_NF=43(名义 66nF vs 实测 C_eff≈435 组反推 41.3~45.5nF);残差 ±6% | | V2.26 | 2026-09-03 | V4.28 电感量估算引入标定 COIL_CAL_C_NF=43(名义 66nF vs 实测 C_eff≈435 组反推 41.3~45.5nF);残差 ±6% |
| V2.25 | 2026-09-03 | V4.27 频率测量 4 倍偏差修正(calc 60000→240000120MHz×DIV_2);coil_l_uH 随 f 修正;旧 f/L 日志需 ×4 | | V2.25 | 2026-09-03 | V4.27 频率测量 4 倍偏差修正(calc 60000→240000120MHz×DIV_2);coil_l_uH 随 f 修正;旧 f/L 日志需 ×4 |
| V2.24 | 2026-09-03 | V4.26 线圈电感量告警(频率窗 20~120kHz 一长一短)+ 故障补偿 60s→10s;行尾规范化 CRLF | | V2.24 | 2026-09-03 | V4.26 线圈电感量告警(频率窗 20~120kHz 一长一短)+ 故障补偿 60s→10s;行尾规范化 CRLF |
+3 -2
View File
@@ -1,6 +1,6 @@
# DLD154V4B 技术规格书 # DLD154V4B 技术规格书
> 单路线圈车辆检测器 | 固件版本: V4.28 | 文档版本: V2.7 > 单路线圈车辆检测器 | 固件版本: V4.29 | 文档版本: V2.8
> 本文档面向工程开发、系统集成及故障深度分析 > 本文档面向工程开发、系统集成及故障深度分析
--- ---
@@ -457,7 +457,7 @@ if (dev < dlt_ORG * 4) {
| ENV_LEARN_MAX_TICKS | 3000 tick | **~30 s** | 学习预算:窗口不稳超时放弃,保留旧 Origin(防死锁) | | ENV_LEARN_MAX_TICKS | 3000 tick | **~30 s** | 学习预算:窗口不稳超时放弃,保留旧 Origin(防死锁) |
| COIL_F_OK_MIN_KHZ | 20 kHz | — | 线圈频率合理窗下界(V4.26):默认低频档口径,f<20kHz → L偏大告警 | | COIL_F_OK_MIN_KHZ | 20 kHz | — | 线圈频率合理窗下界(V4.26):默认低频档口径,f<20kHz → L偏大告警 |
| COIL_F_OK_MAX_KHZ | 120 kHz | — | 线圈频率合理窗上界(V4.26):f>120kHz → L偏小告警 | | COIL_F_OK_MAX_KHZ | 120 kHz | — | 线圈频率合理窗上界(V4.26):f>120kHz → L偏小告警 |
| COIL_CAL_C_NF | 43 nF | — | **标定等效谐振电容**V4.28):名义 66nF,但 2026-09-03 五组 LCR 实测反推 C_eff=41.3~45.5nF(均值 43)→ L 估算用此值;标定法:LCR 实测 L → C=2.533e7/(f²×L),多颗平均 | | COIL_CAL_C_NF | 68 nF | — | **标定等效谐振电容**V4.29):0Ω 板低频档实测 C_eff=68.1~68.9nF(均值 68.4)≈名义 66;旧 43 为 5.1K 旧板带病特性(三极管开关未饱和导通)作废;高频档(33nF)参考 34(0Ω 板待复测);标定法:LCR 实测 L → C=2.533e7/(f²×L),多颗平均 |
> **M4 优化**V2.0 将 tick 从 50ms (TMR15 5ms×10) 提升到 10ms (vTaskDelay 10ms)。IIR 系数同步调整(α 从 79/256→18/256),保持等效时间常数。进入确认 3×10ms + 500ms IN_DELAY = ~530ms,比旧设计 (50ms + 500ms = 550ms) 略快。基线更新从 5s 加速到 1s。 > **M4 优化**V2.0 将 tick 从 50ms (TMR15 5ms×10) 提升到 10ms (vTaskDelay 10ms)。IIR 系数同步调整(α 从 79/256→18/256),保持等效时间常数。进入确认 3×10ms + 500ms IN_DELAY = ~530ms,比旧设计 (50ms + 500ms = 550ms) 略快。基线更新从 5s 加速到 1s。
@@ -773,3 +773,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的
| V2.5 | 2026-09-03 | 更新至 V4.26:线圈电感量告警(频率窗 20~120kHz 单窗,黄灯一长一短);故障补偿 ENV_RESYNC_WAIT 60s→10s;黄灯优先级 1>4>5>3>2 | | V2.5 | 2026-09-03 | 更新至 V4.26:线圈电感量告警(频率窗 20~120kHz 单窗,黄灯一长一短);故障补偿 ENV_RESYNC_WAIT 60s→10s;黄灯优先级 1>4>5>3>2 |
| V2.6 | 2026-09-03 | 更新至 V4.27:频率测量 4 倍偏差修正(calc_freq_khz 60000→240000TMR3 实际 120MHz 计数 + 通道 DIV_2 边沿分频,原按 60MHz 假设漏乘 2×2);§4.1.2 流程文字更正 | | V2.6 | 2026-09-03 | 更新至 V4.27:频率测量 4 倍偏差修正(calc_freq_khz 60000→240000TMR3 实际 120MHz 计数 + 通道 DIV_2 边沿分频,原按 60MHz 假设漏乘 2×2);§4.1.2 流程文字更正 |
| V2.7 | 2026-09-03 | 更新至 V4.28L 估算引入标定等效谐振电容 COIL_CAL_C_NF=43(名义 66nF 与实测 C_eff≈43 不符;5 组实测 41.3~45.5nF | | V2.7 | 2026-09-03 | 更新至 V4.28L 估算引入标定等效谐振电容 COIL_CAL_C_NF=43(名义 66nF 与实测 C_eff≈43 不符;5 组实测 41.3~45.5nF |
| V2.8 | 2026-09-03 | 更新至 V4.29:硬件修复(拨码三极管 5.1K→0Ω)使低频档并联全导通,C_eff 43→68.4≈名义66COIL_CAL_C_NF 43→68 |
@@ -50,7 +50,8 @@
#define ENV_RECOVER_WAIT 500 // 恢复确认 (V4.25): 环境回正常(空闲)连续 ~5s 才解除预判, 黄灯灭 #define ENV_RECOVER_WAIT 500 // 恢复确认 (V4.25): 环境回正常(空闲)连续 ~5s 才解除预判, 黄灯灭
#define COIL_F_OK_MIN_KHZ 20 // 线圈频率合理窗 (V4.26): 默认低频档口径, <20kHz → L偏大 #define COIL_F_OK_MIN_KHZ 20 // 线圈频率合理窗 (V4.26): 默认低频档口径, <20kHz → L偏大
#define COIL_F_OK_MAX_KHZ 120 // 线圈频率合理窗 (V4.26): >120kHz → L偏小 #define COIL_F_OK_MAX_KHZ 120 // 线圈频率合理窗 (V4.26): >120kHz → L偏小
#define COIL_CAL_C_NF 43 // 标定等效谐振电容 nF (V4.28): 低频档(66nF名义)实测 C_eff≈43 (41.3~45.5, 2台5组) #define COIL_CAL_C_NF 68 // 标定等效谐振电容 nF (V4.29): 0Ω板 低频档(66nF名义)实测 C_eff=68.1~68.9 (均值68.4)
// 旧43 = 5.1K电阻旧板带病特性(三极管开关未饱和导通, 第二颗33nF未全量并入), 作废
#define COIL_CAL_C_NF_33 34 // 高频档(33nF名义)标定值: 实测 C_eff≈34.4 (33.8~35.0, 3组) — 用33nF档时改 COIL_CAL_C_NF 为34 #define COIL_CAL_C_NF_33 34 // 高频档(33nF名义)标定值: 实测 C_eff≈34.4 (33.8~35.0, 3组) — 用33nF档时改 COIL_CAL_C_NF 为34
#define COIL_DEF_C_NF 66 // 名义默认档电容 (保留: 注释/文档口径; 计算用 COIL_CAL_C_NF) #define COIL_DEF_C_NF 66 // 名义默认档电容 (保留: 注释/文档口径; 计算用 COIL_CAL_C_NF)
+2 -2
View File
@@ -14,10 +14,10 @@
#define __CMCNG_H__ #define __CMCNG_H__
#define PRODUCT_MODEL "DLD154" #define PRODUCT_MODEL "DLD154"
#define FIRMWARE_VER "4.28" #define FIRMWARE_VER "4.29"
#define HARDWARE_VER "3.00" #define HARDWARE_VER "3.00"
#define FIRMWARE_VER_MAIN 4 #define FIRMWARE_VER_MAIN 4
#define FIRMWARE_VER_SUB 28 #define FIRMWARE_VER_SUB 29
#define HARDWARE_VER_MAIN 3 #define HARDWARE_VER_MAIN 3
#define HARDWARE_VER_SUB 0 #define HARDWARE_VER_SUB 0
@@ -808,13 +808,13 @@ static void env_resync_apply(uint32_t new_origin)
/*=========================================================================== /*===========================================================================
* V4.26~28: 线 * V4.26~28: 线
* L_uH = 2.533e7 / (f_kHz² × C_nF) [f=1/(2π(LC)), f_kHz ] * L_uH = 2.533e7 / (f_kHz² × C_nF) [f=1/(2π(LC)), f_kHz ]
* C COIL_CAL_C_NF (, V4.28): * C COIL_CAL_C_NF (, V4.29):
* (66nF): C_eff=41.3~45.5nF (43, 2) * 0Ω (66nF): C_eff=68.1~68.9nF (68.4, 3线) 68
* (33nF): C_eff=33.8~35.0nF (34.4) 33nF档请把宏改34 * (V4.28 43 5.1K , 33nF未全量并入,
* C 1.25 ( 2.0) 33nF疑似未完全生效, * 0Ω , C_eff 66; 43 )
* //; * (33nF): C_eff34.4 0Ω , 33nF档请把宏改34
* : LCR L C=2.533e7/(f²×L), * : LCR L C=2.533e7/(f²×L),
* : f=64kHzL144µH(136); f=113kHzL46µH(48); f=163kHzL22µH(23) * (0Ω): f=52kHzL138µH(136); f=88kHzL48µH(48); f=127kHzL23µH(23)
*===========================================================================*/ *===========================================================================*/
static uint32_t coil_l_uH(uint32_t f_khz) static uint32_t coil_l_uH(uint32_t f_khz)
{ {