咳咳, 美美隐身了两个月, 现在还有脸回来, 生活所迫也.
死区及其影响
- FOC控制的基础是三相逆变器, 常见的三相逆变器由三个桥组成, 每个桥有在上臂和下臂分别有一个mosfet和igbt二极管, 附带一些寄生电容. mosfet开关需要时间, 而且上臂和下臂不能同时导通, 否则会导致短路.

- 控制器中存在软件或者硬件方案, 能在逆变器换向导通mos的时候强行插入一段时间, 这段时间叫做死区时间, 死区时间内mos管会处于两个都关闭的状态, 保证要关闭的mos完全关闭后要打开的mos才会打开. 两个mos强行关闭一段时间导致死区时间内这一相电流为0的现象, 被称为零电流钳位, 结合svpwm波形, 我们能明显地找出对应关系.


- 从逆变器的结构上分析, mos和igbt上通过电流会造成微小的压降, 这会导致逆变器每一相输出的电压有偏移; 器件附带的寄生电容会抑制电压的突变, 实际电压无法实现理想情况下的跳变.
- 从死区时间的影响来分析, 死区时间如果不进行补偿, 会导致svpwm调制输出的pwm波形不再中心对称, 从而导致输出电压波形在正弦波基础上畸变, 进而加强转矩脉动的现象.
死区补偿方法
六种方法
- 电压反馈法, 采用特殊硬件电路进行反馈补偿, 对采样精度要求高, 不好实现.
- 电流反馈法, 基于采样电流值进行补偿, 采样精度决定补偿精度.
- 脉冲补偿法, 基于对死区特性的了解, 直接在pwm上补偿(其他方法是不变pwm变电压), 不好实现.
- 死区矢量法, 在svpwm计算电压矢量时, 根据伏秒平衡, 在ABC三相上加上电压, 使其合成的矢量在死区影响下保持不变.
- 线性补偿法, 在零电流钳位对电压进行线性补偿.
- 扰动观测器法, 需要电机的精确建模, 但是电机运行一段时间后, 性质会发生变化, 不太好用.
矢量法(VESC中使用的方法)
- 第一步, 计算误差电压
- 第二步, 计算三相电流极性, 决定补偿的方向
- 第三步, 计算补偿值, 得到三相电流补偿值, 克拉克变换得到αβ轴上的补偿值, 直接相加补偿(矩形电压)
- VESC代码进行一定简化, 直接克拉克变换得到Vα, Vβ的符号, 直接用这个算出补偿电压(的系数)

(以上的mod_alpha和mod_beta是归一化系数, 所以直接作系数的加减就能补偿, 不需要乘以母线电压得到具体的电压值)
线性补偿法
- 在电流过零点附近使用线性的补偿(梯形电压), 这是为了防止电流进行判断出错误导致过补偿或者欠补偿的情况.

- 补偿量是 (死区时间 / 周期时间) * 母线电压, 由于器件寄生电容导致电压不能突变, 所以这种补偿更加接近实际情况
matlab仿真
矢量法

- 补偿前后波形

- 进行傅里叶分析查看谐波抑制效果(3/5/7/11次)

线性补偿法

仿真效果与矢量法相差不大, 斜坡的角度会对补偿效果造成影响