9fbd9c3d308759450a7ffd3810ce2b53a3d94b14
对硬编码的两张 128 点补偿表做谐波分解后确认该补偿无效: - 能量集中在 k=1(11次/转) 16.1% 与 k=2(22次/转) 82.2%,合计 98.3%; 而 22 极电机的真实齿槽基频应落在槽极 LCM 处(12槽=132次/转 k=12、 18槽 k=18、24槽 k=24),实测幅值仅 0.46/0.12/0.08 mA,在噪声地板内。 即表中属于齿槽的成分不足总能量 0.1%,k=1/k=2 实为电角度零位偏差与 电流采样通道增益/零点失配的特征。 - 表按电角度查表,而电角度含每台独立的 calibration_angle(Flash 读回)。 相位偏 φ 时残差比为 2sin(kφ/2):零点差 30° 电角度时 k=2 残差即等于 原幅值,补偿由减小扰动变为增大扰动。22 极下 2.7° 机械偏差即达此量级, 硬编码全局共用一张表不成立。 - 表采集于 bec7c11(2026-05),其电流链路为改版前方案,此后陆续修正了 采样时刻落在上管导通窗、PA3/4/5 未配 AIN、零点配平未应用等问题。 用当时的链路去测量比其自身误差小三个数量级的量,采到的是链路误差。 删除内容:get_cogging_compensation 查表插值、FOC_DEBUG 校准状态机及 其打印函数与静态缓冲、init() 中两张硬编码表、COGGING_TABLE_SIZE/ COGGING_COMP_SCALE、tasks.cpp 调度 tick、RESET 帧 bit4 触发(该位保留)。 六个控制模式的 Uq 输出去掉补偿项;angle_el_cog 仍供 update_el_sincos 使用,改名回 angle_el。mode3 注释中"反转阻力差异由 REV 齿槽补偿表承担" 的描述一并订正(该依赖本已失效)。
Description
No description provided
915 KiB
Languages
C
64%
C++
33.9%
Assembly
2.1%