feat(V4B): V4.36.22 — 最低电感量下限 20µH→25µH
用户拍板 COIL_L_MIN_UH=25 (43nF 口径) - 频率窗上限 171→153kHz (f@25µH=153.5k; 153=L25.16µH 正常/154=L24.84µH 偏小) - L<25µH(f>153k) → 断开级快闪 (判定/指示/防抖 5s 逻辑不变) - 提示: 现场 21/23µH 测试线圈(f≈164k>153k)将再入断开快闪区, 需换 ≥30µH - test 边界 153/154; 4 测试全绿 语法0 error; spec V2.39 / manual / devlog V2.58
This commit is contained in:
@@ -4,6 +4,15 @@
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-04 — 最低电感量下限 20µH → 25µH(固件 V4.36.22)
|
||||
|
||||
用户拍板:COIL_L_MIN_UH 20 → 25(43nF 口径)。
|
||||
- 频率窗上限 171→153kHz(f@25µH = sqrt(2.533e7/(25×43)) = 153.5k;153k=L 25.16µH 正常 / 154k=L 24.84µH 偏小)
|
||||
- L<25µH(f>153kHz)→ 断开级快闪(判定/指示逻辑不变)
|
||||
- 注意:现场 21/23µH 测试线圈(f≈164k > 153k)将再次进入断开级快闪区——如需继续用需换 ≥30µH 线圈
|
||||
- test 边界:153 正常 / 154 偏小;全绿
|
||||
语法 0 error、4 测试全绿;REV 4.36.22;spec V2.39 / devlog V2.58。
|
||||
|
||||
## 2026-09-04 — 电感量下限判定防抖加长 1s→5s(固件 V4.36.21)
|
||||
|
||||
用户需求:电感量下限(L<20µH → 断开级快闪)重要,但要确保不误检,判定时间可以加长。
|
||||
@@ -1953,6 +1962,7 @@ if (dev >= dlt_ORG × 4) {
|
||||
|
||||
| 版本 | 时间 | 说明 |
|
||||
|------|------|------|
|
||||
| V2.58 | 2026-09-04 | V4.36.22 最低电感量 20→25µH: 频率上限 153kHz; L<25µH 断开级快闪; test 153/154 |
|
||||
| V2.57 | 2026-09-04 | V4.36.21 电感量判定防抖 1s→5s (COIL_FAULT_HOLD_TICKS=500): 越界/恢复均 5s, 防瞬态误检 |
|
||||
| V2.56 | 2026-09-04 | V4.36.20 最低工作电感量 COIL_L_MIN_UH=20µH (43nF): L<20µH(f>171k)→断开级快闪; 一长一短仅 L 偏大; test 171/172 |
|
||||
| V2.55 | 2026-09-04 | 故障补偿触发幅度量化说明 (dev>+4×dlt; SENS=3≈电感+0.31%) |
|
||||
|
||||
@@ -186,8 +186,8 @@ SW_5 = ON 时:车辆(金属)持续压线超过 **4 分钟**(LC_HOLD_TIME
|
||||
|
||||
| 故障类型 | 红灯 | 绿灯 | 黄灯 | 说明 |
|
||||
|---------|------|------|------|------|
|
||||
| 线圈断开(当前)或 **L<20µH**(V4.36.20:f>171kHz 最低工作电感以下,按断开指示) | 呼吸 | 灭 | **快闪** (200ms) | 检查线圈连接。**断开前有车:继电器保持 RELAY_HOLD_MS=1000ms 后仍断才释放**(防瞬时断开误释放,宏可调)。**重连后无车判稳门控**:值稳定(600ms 无漂移)且回带内才放行检测,判稳期黄灯保持快闪,Origin 自动对齐新空场 |
|
||||
| 线圈电感量不合理(V4.26/V4.36.13/20) | 呼吸 | 灭(无车) | **一长一短** (900ms亮/300ms灭/100ms亮/700ms灭 循环) | 空场频率 <18kHz → L 偏大(>合理上限),检查线圈匝数/尺寸;**L<20µH(f>171k) 不在此模式,见上行断开快闪** |
|
||||
| 线圈断开(当前)或 **L<25µH**(V4.36.22:f>153kHz 最低工作电感以下,按断开指示) | 呼吸 | 灭 | **快闪** (200ms) | 检查线圈连接。**断开前有车:继电器保持 RELAY_HOLD_MS=1000ms 后仍断才释放**(防瞬时断开误释放,宏可调)。**重连后无车判稳门控**:值稳定(600ms 无漂移)且回带内才放行检测,判稳期黄灯保持快闪,Origin 自动对齐新空场 |
|
||||
| 线圈电感量不合理(V4.26/V4.36.13/20) | 呼吸 | 灭(无车) | **一长一短** (900ms亮/300ms灭/100ms亮/700ms灭 循环) | 空场频率 <18kHz → L 偏大(>合理上限),检查线圈匝数/尺寸;**L<25µH(f>153k) 不在此模式,见上行断开快闪** |
|
||||
| 线圈重连,断开 1 次 | 呼吸 | 正常 | **1 短闪** + 1.2s 灭 | 发生过 1 次断开,已恢复 |
|
||||
| 线圈重连,断开 2 次 | 呼吸 | 正常 | **2 短闪** + 1.2s 灭 | 发生过 2 次断开,已恢复 |
|
||||
| 线圈重连,断开 3+ 次 | 呼吸 | 正常 | **3 短闪** + 1.2s 灭 | 多次断开,建议检查接头 |
|
||||
@@ -243,7 +243,7 @@ SW_5 = ON 时:车辆(金属)持续压线超过 **4 分钟**(LC_HOLD_TIME
|
||||
|
||||
| 现象 | 可能原因 | 处理方法 |
|
||||
|------|---------|----------|
|
||||
| 黄灯快闪,绿灯灭 | 线圈断开/未连接,或电感量 <20µH(f>171kHz) | 检查线圈接头、引线通断;小线圈核对匝数(43nF 档最低 20µH) |
|
||||
| 黄灯快闪,绿灯灭 | 线圈断开/未连接,或电感量 <25µH(f>153kHz) | 检查线圈接头、引线通断;小线圈核对匝数(43nF 档最低 25µH) |
|
||||
| 绿灯常亮不灭 | 灵敏度太高 / 线圈频率漂移 | 降低灵敏度 / 检查线圈 |
|
||||
| 绿灯从不亮 | 灵敏度太低 / 线圈 Q 值过低 | 提高灵敏度 / 更换线圈 |
|
||||
| 红灯不亮 | 电源故障 | 检查供电电压 |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# DLD154V4B 技术规格书
|
||||
|
||||
> 单路线圈车辆检测器 | 固件版本: V4.36.21 | 文档版本: V2.38
|
||||
> 单路线圈车辆检测器 | 固件版本: V4.36.22 | 文档版本: V2.39
|
||||
> 本文档面向工程开发、系统集成及故障深度分析
|
||||
|
||||
---
|
||||
@@ -827,3 +827,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的
|
||||
| V2.36 | 2026-09-04 | 故障补偿触发幅度量化说明(4.4.2 补分档表):触发 dev>+4×dlt 连续 2s 黄灯常亮 / 7s 学习替换;SENS=3 ≈ Xn+0.15% ≈ 电感+0.31%(L∝Xn²,dL/L≈2×dXn/Xn) |
|
||||
| V2.37 | 2026-09-04 | **V4.36.20 最低工作电感量 COIL_L_MIN_UH=20µH**(43nF 口径):L<20µH(f>171kHz)→ 按线圈断开快闪指示(模式1,coil_fault==2 归入断开级);原上限 125kHz(38µH) 放宽至 20µH 可工作;L 偏大(f<18kHz)一长一短保留(coil_fault==1);test 边界 171 正常/172 偏小 |
|
||||
| V2.38 | 2026-09-04 | **V4.36.21 电感量判定防抖 1s→5s**(COIL_FAULT_HOLD_TICKS=500):下限判定重要防误检——起振/瞬态频率冲高越界需持续 5s 才置位断开级快闪,恢复同样 5s 清除 |
|
||||
| V2.39 | 2026-09-04 | **V4.36.22 最低电感量 20→25µH**(COIL_L_MIN_UH=25):频率上限 171→153kHz(f@25µH=153.5k);L<25µH → 断开级快闪;test 边界 153 正常/154 偏小 |
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#define COIL_F_OK_MIN_KHZ 18
|
||||
#define COIL_F_OK_MAX_KHZ 171
|
||||
#define COIL_F_OK_MAX_KHZ 153
|
||||
#define COIL_FAULT_HOLD_TICKS 500
|
||||
#define COIL_DEF_C_NF 66
|
||||
|
||||
@@ -90,10 +90,10 @@ static void test_boundaries(void)
|
||||
run_ticks(17, 500); assert(g_coil_fault == 1); /* 17 → 偏大 */
|
||||
run_ticks(62, 500); assert(g_coil_fault == 0); /* 62 正常(恢复) */
|
||||
run_ticks(18, 500); assert(g_coil_fault == 0); /* 边界 18 正常 */
|
||||
run_ticks(125, 500); assert(g_coil_fault == 0); /* 中间 125 正常 (V4.36.20 窗内) */
|
||||
run_ticks(171, 500); assert(g_coil_fault == 0); /* 边界 171 (=L 20.15µH) 正常 */
|
||||
run_ticks(172, 500); assert(g_coil_fault == 2); /* 172 → L<20µH 偏小(断开级) */
|
||||
printf("4. 边界 17/18/171/172 OK\n");
|
||||
run_ticks(125, 500); assert(g_coil_fault == 0); /* 中间 125 正常 (窗内) */
|
||||
run_ticks(153, 500); assert(g_coil_fault == 0); /* 边界 153 (=L 25.16µH) 正常 */
|
||||
run_ticks(154, 500); assert(g_coil_fault == 2); /* 154 → L<25µH 偏小(断开级) */
|
||||
printf("4. 边界 17/18/153/154 OK\n");
|
||||
}
|
||||
|
||||
static void test_jitter_no_alarm(void)
|
||||
@@ -114,6 +114,6 @@ int main(void)
|
||||
test_recover();
|
||||
test_boundaries();
|
||||
test_jitter_no_alarm();
|
||||
printf("\nALL PASS (窗口 18~171kHz=L 20µH, 防抖 5s)\n");
|
||||
printf("\nALL PASS (窗口 18~153kHz=L 25µH, 防抖 5s)\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -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 20 // V4.36.20: 最低工作电感量 µH (43nF 低频档口径): L<此值 → 按线圈断开快闪指示
|
||||
#define COIL_L_MIN_UH 25 // V4.36.22: 最低工作电感量 µH (43nF 低频档口径): L<此值 → 按线圈断开快闪指示 (20→25µH)
|
||||
#define COIL_FAULT_HOLD_TICKS 500 // V4.36.21: 电感量越界/恢复防抖 500tick=5s (原100=1s; 下限判定重要, 加长防误检瞬态冲高)
|
||||
#define COIL_F_OK_MAX_KHZ 171 // 线圈频率合理窗 (V4.36.20): >171kHz → L<20µH(COIL_L_MIN_UH) 断开级偏小 (43nF: L=2.533e7/(f²×43); 原125=38µH 放宽至 20µH)
|
||||
#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_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
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
#define __CMCNG_H__
|
||||
|
||||
#define PRODUCT_MODEL "DLD154"
|
||||
#define FIRMWARE_VER "4.36.21" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
|
||||
#define FIRMWARE_VER "4.36.22" // 主.子.修订 (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 21
|
||||
#define FIRMWARE_VER_REV 22
|
||||
#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>171kHz→断开级快闪, V4.36.20)
|
||||
uint8_t g_coil_fault = 0; // V4.26: 线圈电感量异常 0=正常 1=L偏大(f<18kHz→一长一短) 2=L<COIL_L_MIN_UH(f>153kHz→断开级快闪, V4.36.22)
|
||||
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(20µH, f>171kHz) → 按线圈断开状态指示
|
||||
* g_coil_fault==2: 电感量 < COIL_L_MIN_UH(25µH, f>153kHz) → 按线圈断开状态指示
|
||||
* 上电有线圈/判稳中: 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<20µH 已在模式1 断开级快闪(V4.36.20)
|
||||
* g_coil_fault: 1=L偏大(f<18kHz, 一长一短); 2=L<25µH 已在模式1 断开级快闪(V4.36.20/22)
|
||||
* 优先级: 断开(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)
|
||||
|
||||
Reference in New Issue
Block a user