1、电流采样基础:为什么FOC需要精确的电流采样?相电流与母线电流的关系
各位同学,咱们今天聊聊FOC控制里最基础、也最要命的一环——电流采样。
说实话,我见过太多工程师在算法上花了大把时间,结果板子一跑起来,电机嗡嗡响、力矩抖得像筛糠。查到最后,十有八九是电流采样出了问题。嗯,这玩意儿要是搞不定,后面什么PI参数、SVPWM全是白搭。
1.1 为什么FOC对电流精度如此苛刻?
你想想看,FOC的核心思想是什么?是把三相交流电机,等效成直流电机来控制。怎么等效?靠的就是实时测量三相电流,然后通过Clark变换和Park变换,把静止的ABC坐标系,转到旋转的dq坐标系下。
说白了,电流采样就是FOC的眼睛。眼睛要是近视了、散光了,你看到的“iq”和“id”就是错的。你让控制器去跟踪一个错误的目标,结果可想而知。
核心逻辑链:
采样精度 → 电流重构精度 → 转矩估算精度 → 控制性能
任何一个环节的误差,都会沿着这条链被放大。
我个人习惯把FOC对电流的要求总结为三点:
- 实时性:电流变化很快,尤其是高速电机。采样必须跟得上PWM周期,一般要求在几个微秒内完成。
- 精度:低速运行时,电流很小,可能只有几十毫安。如果采样误差有10mA,那低速抖动就来了。
- 同步性:三相电流必须同时采样,或者至少保证在同一个PWM周期内。否则你算出来的矢量方向就是错的。
我记得有一次做伺服项目,客户反馈说电机在零速附近有“爬行”现象。我查了三天,最后发现是采样电阻的温漂太大,导致低速时电流零点偏移。换了个低温漂的电阻,问题立马解决。嗯,这种坑,踩过一次就记住了。
1.2 相电流与母线电流:它们到底是什么关系?
很多初学者容易把这两个概念搞混。我简单解释一下:
- 相电流:流过电机每一相绕组的电流。比如Ia、Ib、Ic。这是FOC直接需要的量。
- 母线电流:直流母线上流过的总电流。也就是电源给整个逆变器供电的电流。
那它们之间是什么关系?
你想想看,逆变器就像是一个“开关矩阵”。母线电流进来,通过六个开关管的通断,被分配到三相绕组上。所以,母线电流是三相电流的“合成”结果,但不是简单的相加。
具体来说,在任意一个时刻,逆变器只有两种工作状态:
- 非零矢量状态:母线电流等于某一相或两相电流的组合。比如当SVPWM输出100矢量时,母线电流就等于A相电流。
- 零矢量状态:所有相都续流,母线电流为零。
一个小技巧:
如果你只有母线电流传感器,又想重构三相电流,那就必须在PWM周期的特定时刻采样。这个时刻,必须是母线电流恰好等于某一相电流的时刻。我习惯在SVPWM的扇区边界附近采样,这时候电流关系最清晰。
1.3 单电阻采样 vs 双电阻采样 vs 三电阻采样
讲到这里,就不得不提采样方案的选择。我按个人经验给大家排个序:
| 方案 | 成本 | 精度 | 适用场景 | 我的评价 |
|---|---|---|---|---|
| 单电阻采样 | 最低 | 较低 | 低成本、低性能 | 能省则省,但别省过头 |
| 双电阻采样 | 中等 | 中等 | 大多数通用FOC | 性价比之选,我常用 |
| 三电阻采样 | 较高 | 最高 | 高性能伺服、机器人 | 精度控的首选 |
单电阻采样,说白了就是只用一个采样电阻放在母线上。它的优点是省成本、省PCB面积。但缺点也很明显——在低调制比区域,采样窗口非常窄,甚至采不到有效电流。我曾经在一个风扇项目里用过单电阻方案,结果低速时电流重构失败,电机直接失步。后来老老实实换成了双电阻。
双电阻采样,是在两相下桥臂各放一个采样电阻。这样你总能直接测到两相电流,第三相通过基尔霍夫定律算出来(Ia + Ib + Ic = 0)。这个方案是我个人最推荐的,兼顾了成本和性能。
三电阻采样,三相下桥臂各放一个。精度最高,但成本也最高。一般用在机器人关节、数控机床这种对力矩控制要求极高的场合。
1.4 避坑指南:采样时序的“死区”问题
我曾经踩过的坑:
在做双电阻采样时,我一开始以为只要在PWM中点采样就行了。结果发现,在扇区切换的瞬间,采样电阻上的电流波形会有“毛刺”。这是因为开关管导通和关断不是瞬间完成的,存在死区时间。如果在死区附近采样,读到的电流值完全是错的。
解决方案:采样时刻必须避开死区。我一般会在PWM的中间点(即计数器的峰值或谷值)进行采样,并且加上一个小的延时(比如1-2微秒),确保开关状态已经稳定。
1.5 总结一下
好了,这一节的内容就这些。我帮你理一下重点:
- FOC需要精确电流采样,因为它是整个控制闭环的“感知层”。
- 相电流是直接控制对象,母线电流是间接反映。两者通过逆变器的开关状态关联。
- 采样方案的选择,本质是成本、精度、复杂度的权衡。我个人建议,除非成本极度敏感,否则优先考虑双电阻方案。
- 采样时序一定要避开死区,这是新手最容易忽略的地方。
下一节,我会详细讲采样电阻的选型、运放电路的设计,以及如何把模拟信号调理成ADC能接受的干净信号。到时候咱们再细聊。