1. 角度偏差的数学本质:从Park变换与Clark变换推导电流解耦误差
做电机控制的人,天天跟Park和Clark打交道。但说实话,真正把这两个变换吃透的人,不多。
我记得刚入行那会儿,调一个永磁同步电机的电流环,怎么调都抖。查了三天,最后发现是角度偏差了5度。从那以后,我养成了一个习惯——每次调试前,先拿示波器看一遍编码器的角度信号。
这一章,我们就从数学上把角度偏差这件事掰开揉碎。你理解了本质,后面那些SVPWM的畸变、电流谐波、转矩脉动,就都串起来了。
1.1 Clark变换:从三相到两相
Clark变换,说白了就是把电机三相绕组的电流,投影到一个静止的两相坐标系上。数学上长这样:
// 等幅值Clark变换(我习惯用这个)
i_alpha = i_a
i_beta = (i_a + 2*i_b) / sqrt(3)
写成矩阵形式更清楚:
[ i_alpha ] [ 1 -1/2 -1/2 ] [ i_a ]
[ i_beta ] = [ 0 sqrt(3)/2 -sqrt(3)/2 ] [ i_b ]
[ i_0 ] [ 1/2 1/2 1/2 ] [ i_c ]
这里有个细节——等幅值和等功率两种变换,系数差一个√(2/3)。我个人习惯用等幅值,因为调试时电流值直观,不用心里再乘个系数。
1.2 Park变换:从静止到旋转
Clark变换得到的是静止的αβ坐标系。但电机在转,我们想要的是跟着转子走的dq坐标系。Park变换就是干这个的:
[ i_d ] [ cos(θ) sin(θ) ] [ i_alpha ]
[ i_q ] = [ -sin(θ) cos(θ) ] [ i_beta ]
展开写:
i_d = i_alpha * cos(θ) + i_beta * sin(θ)
i_q = -i_alpha * sin(θ) + i_beta * cos(θ)
这里θ就是转子电角度。理想情况下,θ完全准确,那么id和iq就解耦了——id控制励磁,iq控制转矩,互不干扰。
但现实哪有那么完美?
1.3 角度偏差注入:数学推导
假设实际电角度是θ,但我们测量到的角度是θ̂ = θ + Δθ。Δθ就是角度偏差。
我们用θ̂去做Park变换,得到的是错误的dq电流:
i_d̂ = i_alpha * cos(θ+Δθ) + i_beta * sin(θ+Δθ)
i_q̂ = -i_alpha * sin(θ+Δθ) + i_beta * cos(θ+Δθ)
把i_alpha和i_beta用真实的id、iq表示(逆Park变换):
i_alpha = i_d * cos(θ) - i_q * sin(θ)
i_beta = i_d * sin(θ) + i_q * cos(θ)
代入上面,一顿三角恒等式化简(我当年推了整整两页草稿纸):
i_d̂ = i_d * cos(Δθ) - i_q * sin(Δθ)
i_q̂ = i_d * sin(Δθ) + i_q * cos(Δθ)
核心结论: 角度偏差Δθ,导致真实的id和iq在测量值中发生了交叉耦合。Δθ越大,耦合越严重。
1.4 耦合的物理意义
这个公式告诉我们三件事:
- Δθ = 0时:i_d̂ = i_d,i_q̂ = i_q,完美解耦。
- Δθ ≠ 0时:你看到的id里面混入了iq的成分,iq里面混入了id的成分。
- Δθ = 90°时:i_d̂ = -i_q,i_q̂ = i_d,完全交叉——你以为是励磁电流,其实是转矩电流。
你想想看,电流环闭环控制时,我们让i_d̂跟踪给定值。如果i_d̂里混了iq的成分,那id环的输出就会受到iq环的干扰。两个环互相拉扯,系统能不抖吗?
1.5 知识体系总览
下面这张图,把这一章的核心逻辑串起来了。我建议你多看几遍,把每个框之间的关系理清楚:
1.6 偏差来源与影响总结
角度偏差从哪来?我归纳了最常见的几种:
| 偏差来源 | 典型大小 | 影响特征 | 我的建议 |
|---|---|---|---|
| 编码器安装偏心 | ±5° ~ ±15° | 周期性变化,与机械位置相关 | 安装时打表校准,偏心量控制在0.05mm以内 |
| 编码器零位偏移 | 固定值,0° ~ 30° | 恒定偏差,所有位置都一样 | 上电后做一次零位自校准 |
| 采样延时 | 与转速成正比 | 高速时明显,低速时忽略 | 软件做角度补偿,或者用预测算法 |
| 磁极初始位置检测误差 | ±10° ~ ±30° | 每次上电可能不同 | 用高频注入法提高精度 |
嗯,这一章的内容就到这。你理解了角度偏差如何通过Park变换破坏电流解耦,后面再看SVPWM的电压畸变、电流谐波,就有一个清晰的数学基础了。