一、电机控制基础回顾:FOC控制原理、SVPWM调制、电流环/速度环/位置环架构
各位工程师朋友,咱们今天聊聊电机控制的基础。说实话,FOC(磁场定向控制)这东西,我入行头三年都没完全吃透。直到有一次在产线上调试伺服驱动器,电机嗡嗡响就是不转,我才真正沉下心来把原理捋了一遍。今天我把这些经验掰开揉碎了讲给你听。
1.1 FOC控制原理——说白了就是“解耦”
FOC的核心思想,是把三相交流电机的控制,等效成直流电机的控制。你想想看,直流电机多好控啊——调电压就是调转速,调电流就是调转矩。但交流电机呢?三相电流互相耦合,牵一发而动全身。
FOC怎么做的?它通过坐标变换,把静止的三相坐标系(ABC),先变到两相静止坐标系(αβ),再变到两相旋转坐标系(dq)。在dq坐标系下,d轴控制磁通,q轴控制转矩,两者解耦了。
关键公式(Clark变换 + Park变换):
// Clark变换:ABC → αβ
Iα = Ia
Iβ = (Ia + 2*Ib) / √3
// Park变换:αβ → dq
Id = Iα * cos(θ) + Iβ * sin(θ)
Iq = -Iα * sin(θ) + Iβ * cos(θ)
我在项目中遇到过一个问题:电机低速运行时抖动厉害。查了半天,发现是角度传感器零点偏了。Park变换里角度θ不准,Id和Iq就串扰了。嗯,这里要注意——角度精度直接决定FOC性能。
1.2 SVPWM调制——不是简单的PWM
SVPWM(空间矢量脉宽调制),说白了就是让逆变器输出一个旋转的电压矢量。它比传统的SPWM(正弦脉宽调制)电压利用率高15%左右。为什么?因为SVPWM直接利用了直流母线电压,没有浪费。
SVPWM的基本思路:把逆变器的8种开关状态(6个有效矢量 + 2个零矢量)画在复平面上,形成一个六边形。目标电压矢量落在哪个扇区,就用相邻的两个有效矢量和零矢量去合成。
我个人习惯的SVPWM实现步骤:
- 判断目标电压矢量所在的扇区(用Uα、Uβ的正负和大小关系)
- 计算相邻两个有效矢量的作用时间(T1、T2)
- 计算零矢量的作用时间(T0 = Ts - T1 - T2)
- 分配三相PWM占空比(七段式或五段式)
我曾经在调试一个高速主轴电机时,发现SVPWM在高速区输出波形畸变。后来才意识到,是死区时间补偿没做好。死区时间会导致电压误差,尤其在电流过零点附近。这个坑,我踩过。
1.3 电流环/速度环/位置环架构——三环嵌套
电机控制的经典架构就是三环:电流环在内,速度环在中,位置环在外。为什么这么设计?因为响应速度从内到外递减。电流环最快(微秒级),速度环次之(毫秒级),位置环最慢(十毫秒级)。
我画了一张图,帮你理解这个架构:
这张图你看懂了吗?位置环输出给速度环做给定,速度环输出给电流环做给定,电流环直接控制电机。反馈信号从传感器一路传回来,形成闭环。
1.4 各环的调优要点
| 控制环 | 带宽范围 | 典型控制器 | 调优关键 |
|---|---|---|---|
| 电流环 | 1~5 kHz | PI控制器 | 比例增益Kp、积分增益Ki、反电动势补偿 |
| 速度环 | 50~500 Hz | PI控制器 | 速度前馈、积分限幅、抗积分饱和 |
| 位置环 | 5~50 Hz | P控制器 | 位置前馈、加速度前馈、轨迹规划 |
注意:电流环的带宽不能超过PWM开关频率的1/10。比如你PWM是10kHz,电流环带宽最多设1kHz。我曾经见过有人把电流环带宽设到3kHz,结果系统直接振荡,电机啸叫得像要炸了一样。
1.5 我的调优经验总结
做了这么多年电机控制,我总结了几条铁律:
- 先调内环,再调外环。电流环不稳,速度环和位置环都是空中楼阁。
- 电流环调优用阶跃响应。给一个电流阶跃,看超调量和调节时间。超调量控制在5%以内,调节时间在1ms以内,就算及格。
- 速度环调优注意负载变化。空载和带载的响应差别很大。我习惯用负载观测器做补偿,效果不错。
- 位置环调优关注跟随误差。尤其是加减速阶段,位置误差会突然增大。加前馈能明显改善。
避坑指南:我曾经在调试一个机器人关节电机时,位置环怎么调都有稳态误差。查了三天,发现是编码器分辨率不够。位置环的精度受限于传感器分辨率,这个物理极限你绕不过去。换了个高分辨率编码器,问题迎刃而解。
好了,这一章的基础回顾就到这里。FOC的原理、SVPWM的调制、三环架构,这些都是电机控制的基石。你把这些吃透了,后面讲参数漂移定位和系统调优,你才能跟得上。
公众号:蓝海资料掘金营,微信deep3321