feat(V4B): V4.36.23 — 最低电感量下限 25µH→24µH

用户拍板 COIL_L_MIN_UH=24 (43nF 口径)
- 频率窗上限 153→156kHz (f@24µH=156.7k; 156=L24.21µH 正常/157=L23.90µH 偏小)
- L<24µH(f>156k) → 断开级快闪 (判定/指示/防抖 5s 逻辑不变)
- test 边界 156/157; 4 测试全绿
语法0 error; spec V2.40 / manual / devlog V2.59
This commit is contained in:
wangfq
2026-09-07 09:17:19 +08:00
parent d69f15e5f7
commit 7b68daa472
7 changed files with 26 additions and 16 deletions
@@ -63,9 +63,9 @@
#define ENV_WARN_WAIT 200 // 环境预判 (V4.31): dev>+4dlt 高位连续 ~2s → 黄灯预判锁存(回摆保持)
#define ENV_RECOVER_WAIT 200 // 恢复确认 (V4.31): 新基线替换后 环境空闲连续 ~2s 才解除预判, 黄灯灭
#define COIL_F_OK_MIN_KHZ 18 // 线圈频率合理窗 (V4.36.18): 默认低频档口径, <18kHz → L偏大 (≈双 250µH+ 大线圈放行)
#define COIL_L_MIN_UH 25 // V4.36.22: 最低工作电感量 µH (43nF 低频档口径): L<此值 → 按线圈断开快闪指示 (20→25µH)
#define COIL_L_MIN_UH 24 // V4.36.23: 最低工作电感量 µH (43nF 低频档口径): L<此值 → 按线圈断开快闪指示 (25→24µH)
#define COIL_FAULT_HOLD_TICKS 500 // V4.36.21: 电感量越界/恢复防抖 500tick=5s (原100=1s; 下限判定重要, 加长防误检瞬态冲高)
#define COIL_F_OK_MAX_KHZ 153 // 线圈频率合理窗 (V4.36.22): >153kHz → L<25µH(COIL_L_MIN_UH) 断开级偏小 (43nF: L=2.533e7/(f²×43); 171=20µH→153=25µH)
#define COIL_F_OK_MAX_KHZ 156 // 线圈频率合理窗 (V4.36.23): >156kHz → L<24µH(COIL_L_MIN_UH) 断开级偏小 (43nF: L=2.533e7/(f²×43); 153=25µH→156=24µH)
#define COIL_CAL_C_NF 43 // 标定等效谐振电容 nF (V4.34): 三极管库存板 低频档(66nF名义, R19在/R27空)实测 C_eff≈43 (41.3~45.5; 0Ω板68仅实验口径, 产品不用)
// 旧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
+2 -2
View File
@@ -14,11 +14,11 @@
#define __CMCNG_H__
#define PRODUCT_MODEL "DLD154"
#define FIRMWARE_VER "4.36.22" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
#define FIRMWARE_VER "4.36.23" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
#define HARDWARE_VER "3.00"
#define FIRMWARE_VER_MAIN 4
#define FIRMWARE_VER_SUB 36
#define FIRMWARE_VER_REV 22
#define FIRMWARE_VER_REV 23
#define HARDWARE_VER_MAIN 3
#define HARDWARE_VER_SUB 0
@@ -172,7 +172,7 @@ uint32_t g_stab_base = 0; // V4.36.15: 步进比较基准 CAPVD
uint8_t g_release_need = 3; // V4.36.8: 释放确认样本数 (按Q档, 高3/中4/低5)
uint8_t g_fault_phase = 0;
uint16_t g_fault_tick = 0;
uint8_t g_coil_fault = 0; // V4.26: 线圈电感量异常 0=正常 1=L偏大(f<18kHz→一长一短) 2=L<COIL_L_MIN_UH(f>153kHz→断开级快闪, V4.36.22)
uint8_t g_coil_fault = 0; // V4.26: 线圈电感量异常 0=正常 1=L偏大(f<18kHz→一长一短) 2=L<COIL_L_MIN_UH(f>156kHz→断开级快闪, V4.36.23)
uint16_t g_coil_bad_cnt = 0; // V4.26: 电感异常防抖计数 (V4.36.21: 500tick=5s 置位/清除, 宏 COIL_FAULT_HOLD_TICKS)
/*===========================================================================
@@ -399,7 +399,7 @@ void poll_yellow_led(void)
* !loop1_LOOP_OK: 上电无线圈 + 运行中断开 (5ms 实时, 不等 loop_task 150ms 慢拍
* 置 disconnect_active; 上电 phase power_up=0 时不置位, 由本条件兜底)
* g_reconn_stab: 运行中无车重连判稳门控
* g_coil_fault==2: 电感量 < COIL_L_MIN_UH(25µH, f>153kHz) → 按线圈断开状态指示
* g_coil_fault==2: 电感量 < COIL_L_MIN_UH(24µH, f>156kHz) → 按线圈断开状态指示
* 上电有线圈/判稳中: LOOP_OK=1 → 黄灯不闪, 自检指示归绿灯慢闪 ---*/
if (!loop1_LOOP_OK || g_reconn_stab || g_coil_fault == 2) {
if (g_fault_tick >= FLT_FAST_HALF) {
@@ -423,7 +423,7 @@ void poll_yellow_led(void)
/*--- V4.26 模式5: 线圈电感量不合理(L 偏大) → 一长一短
* 长亮900ms(180tick) → 灭300ms(60) → 短亮100ms(20) → 灭700ms(140), 循环
* g_coil_fault: 1=L偏大(f<18kHz, 一长一短); 2=L<25µH 已在模式1 断开级快闪(V4.36.20/22)
* g_coil_fault: 1=L偏大(f<18kHz, 一长一短); 2=L<24µH 已在模式1 断开级快闪(V4.36.20/23)
* 优先级: 断开(1) > 环境(4) > 电感量(5) > N短闪(3) > 灭 ---*/
if (g_coil_fault == 1) {
static const uint16_t dur[4] = { 180, 60, 20, 140 }; // 900/300/100/700ms (V4.36.13: 灭 100→300ms)