feat(V4B): V4.36.20 — 最低工作电感量 COIL_L_MIN_UH=20µH, 低于按线圈断开指示
用户需求: 设定最低电感量工作值(默认 20µH, 43nF 低频档口径, 宏定义); 线圈电感量低于该值 → 黄灯快闪以线圈断开状态指示 - TaskLoop.h: 新增 COIL_L_MIN_UH 20; 频率窗上限 125→171kHz (=L 20.06µH, 43nF: L=2.533e7/(f²×43)) — 20~38µH 小线圈转为可正常工作(含现场 21/23µH) - poll_yellow_led 模式1: g_coil_fault==2 归入断开级快闪(!LOOP_OK/reconn_stab 同级) - 一长一短(模式5)仅保留 coil_fault==1 (L 偏大 f<18kHz) - coil_monitor 防抖 1s 不变; 继电器/判定逻辑不动(仅指示级) - test: 171 正常/172(L<20µH) 偏小, L 偏大 17; 全绿 语法0 error, 4测试全绿; spec V2.37 / devlog V2.56
This commit is contained in:
@@ -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<20kHz) 2=L偏小(f>120kHz)
|
||||
uint8_t g_coil_fault = 0; // V4.26: 线圈电感量异常 0=正常 1=L偏大(f<18kHz→一长一短) 2=L<COIL_L_MIN_UH(f>171kHz→断开级快闪, V4.36.20)
|
||||
uint16_t g_coil_bad_cnt = 0; // V4.26: 电感异常防抖计数 (100tick=1s 置位/清除)
|
||||
|
||||
/*===========================================================================
|
||||
@@ -395,12 +395,13 @@ void poll_yellow_led(void)
|
||||
|
||||
g_fault_tick++;
|
||||
|
||||
/*--- 模式1: 快闪 — 载波缺失/重连判稳接管 (V4.36.16/17):
|
||||
/*--- 模式1: 快闪 — 载波缺失/重连判稳接管/L过低断开级 (V4.36.16/17/20):
|
||||
* !loop1_LOOP_OK: 上电无线圈 + 运行中断开 (5ms 实时, 不等 loop_task 150ms 慢拍
|
||||
* 置 disconnect_active; 上电 phase power_up=0 时不置位, 由本条件兜底)
|
||||
* g_reconn_stab: 运行中无车重连判稳门控
|
||||
* g_coil_fault==2: 电感量 < COIL_L_MIN_UH(20µH, f>171kHz) → 按线圈断开状态指示
|
||||
* 上电有线圈/判稳中: LOOP_OK=1 → 黄灯不闪, 自检指示归绿灯慢闪 ---*/
|
||||
if (!loop1_LOOP_OK || g_reconn_stab) {
|
||||
if (!loop1_LOOP_OK || g_reconn_stab || g_coil_fault == 2) {
|
||||
if (g_fault_tick >= FLT_FAST_HALF) {
|
||||
g_fault_tick = 0;
|
||||
LED_YELLOW_GPIO->odt ^= LED_YELLOW_PIN; // toggle
|
||||
@@ -420,11 +421,11 @@ void poll_yellow_led(void)
|
||||
return;
|
||||
}
|
||||
|
||||
/*--- V4.26 模式5: 线圈电感量不合理 → 一长一短
|
||||
/*--- V4.26 模式5: 线圈电感量不合理(L 偏大) → 一长一短
|
||||
* 长亮900ms(180tick) → 灭300ms(60) → 短亮100ms(20) → 灭700ms(140), 循环
|
||||
* g_coil_fault: 1=L偏大(f<20kHz) 2=L偏小(f>120kHz)
|
||||
* g_coil_fault: 1=L偏大(f<18kHz, 一长一短); 2=L<20µH 已在模式1 断开级快闪(V4.36.20)
|
||||
* 优先级: 断开(1) > 环境(4) > 电感量(5) > N短闪(3) > 灭 ---*/
|
||||
if (g_coil_fault) {
|
||||
if (g_coil_fault == 1) {
|
||||
static const uint16_t dur[4] = { 180, 60, 20, 140 }; // 900/300/100/700ms (V4.36.13: 灭 100→300ms)
|
||||
if (g_fault_phase > 3) g_fault_phase = 0;
|
||||
if (g_fault_phase & 1)
|
||||
|
||||
Reference in New Issue
Block a user