灯FOC学习笔记

DengFOC学习笔记

FOC

Field oriented control 磁场定向控制,直流有刷电机中磁场的变换是通过机械结构(电刷)完成的,而无刷电机则没有这样的结构。

想像一下,一个可以绕中心旋转的条形磁铁,我们可以拿另一个磁铁吸引,控制它旋转停止,FOC就是模拟这个过程。这里"另一个磁铁"并不是磁铁,而是电流产生的磁场,所以对磁场的控制其实就是对电流的控制。

先分析单极对的电机,n极对的就是乘上一个n而已后面再说。对电机进行转动,电机会产生这样的电动势:
在这里插入图片描述

三条相差120度的正弦波,反过来,我们要控制电机,就是要产生这样的波。

逆克拉克变换

用三个电流矢量 I a I b I c I_a I_b I_c IaIbIc 的大小代表电流的大小,方向则是相差120度。我们要做的就是把三个矢量的控制转化为两个矢量

在这里插入图片描述

把三维电流矢量 I a I b I c I_a I_b I_c IaIbIc 分别正交分解到二维电流矢量 I α I β I_\alpha I_\beta IαIβ中,其中 I a I_a Ia 的方向与 I α I_\alpha Iα 方向一致

[ I α I β ]   =   [ 1 − s i n 3 0 ∘ − s i n 3 0 ∘ 0 c o s 3 0 ∘ − c o s 3 0 ∘ ]   [ I a I b I c ] \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} \ = \ \begin{bmatrix} 1 & -sin30^\circ & -sin30^\circ \\ 0 & cos30^\circ & -cos30^\circ \end{bmatrix} \ \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} [IαIβ] = [10sin30cos30sin30cos30]  IaIbIc

[ I α I β ]   =   [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ]   [ I a I b I c ] \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} \ = \ \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \ \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} [IαIβ] = [102123 2123 ]  IaIbIc

由基尔霍夫定律: I a + I b + I c = 0 I_a + I_b + I_c = 0 Ia+Ib+Ic=0 可算出 I α = 3 2 I a I_\alpha = \frac{3}{2} I_a Iα=23Ia 故制定等幅变换系数 2 3 \frac{2}{3} 32 使得 I α = I a I_\alpha = I_a Iα=Ia

[ I α I β ]   =   2 3   [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ]   [ I a I b I c ] \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} \ = \ \frac{2}{3} \ \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \ \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} [IαIβ] = 32 [102123 2123 ]  IaIbIc

[ I α I β ]   =   [ 2 3 − 1 3 − 1 3 0 3 3 − 3 3 ]   [ I a I b I c ] \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} \ = \ \begin{bmatrix} \frac{2}{3} & -\frac{1}{3} & -\frac{1}{3} \\ 0 & \frac{\sqrt{3}}{3} & -\frac{\sqrt{3}}{3} \end{bmatrix} \ \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} [IαIβ] = [3203133 3133 ]  IaIbIc

用基尔霍夫定律消去 I c I_c Ic
[ I α I β ]   =   [ 1 0 0 1 3 2 3 0 ]   [ I a I b I c ] \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} \ = \ \begin{bmatrix} 1 & 0 & 0 \\ \frac{1}{\sqrt{3}} & \frac{2}{\sqrt{3}} & 0 \end{bmatrix} \ \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} [IαIβ] = [13 103 200]  IaIbIc
逆变换
[ I a I b I c ]   =   [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ]   [ I α I β ] \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} \ = \ \begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \ \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} IaIbIc  =  12121023 23  [IαIβ]

逆帕克变换

在这里插入图片描述

与定子的正交矢量 α β \alpha \beta αβ 对应,建立转子的正交矢量 DQ ,电角度 θ \theta θ

可得
[ I D I Q ]   =   [ c o s θ s i n θ − s i n θ c o s θ ]   [ I α I β ] \begin{bmatrix} I_D \\ I_Q \end{bmatrix} \ = \ \begin{bmatrix} cos\theta & sin\theta \\ -sin\theta & cos\theta \end{bmatrix} \ \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} [IDIQ] = [cosθsinθsinθcosθ] [IαIβ]
逆变换
[ I α I β ]   =   [ c o s θ − s i n θ s i n θ c o s θ ]   [ I D I Q ] \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} \ = \ \begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix} \ \begin{bmatrix} I_D \\ I_Q \end{bmatrix} [IαIβ] = [cosθsinθsinθcosθ] [IDIQ]

在简单的FOC应用中,只需要控制 I Q I_Q IQ 的电流大小,而把 I D I_D ID 设置为0。因为Q轴是切向轴而D轴是径向轴,Q轴主做功,D轴主磁弱。

此时, I Q I_Q IQ 的大小决定了三相电流 I a I b I c I_a I_b I_c IaIbIc 的大小,决定了定子产生磁场的强度。进一步决定电机产生的力矩大小

综合

I Q , θ I_Q, \theta IQ,θ 通过帕克逆变换求得 I α I β I_\alpha I_\beta IαIβ
[ I α I β ]   =   [ c o s θ − s i n θ s i n θ c o s θ ]   [ I D I Q ] (1) \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} \ = \ \begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix} \ \begin{bmatrix} I_D \\ I_Q \end{bmatrix}\tag{1} [IαIβ] = [cosθsinθsinθcosθ] [IDIQ](1)
I α I β I_\alpha I_\beta IαIβ 通过克拉克逆变换求得 I a I b I c I_a I_b I_c IaIbIc
[ I a I b I c ]   =   [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ]   [ I α I β ] (2) \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} \ = \ \begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \ \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix}\tag{2} IaIbIc  =  12121023 23  [IαIβ](2)
联立 (1) (2)
[ I a I b I c ]   =   [ s i n ( θ + π ) s i n ( θ + π 2 ) s i n ( θ + π 3 ) s i n ( θ − π 6 ) s i n ( θ − π 3 ) s i n ( θ − 5 π 6 ) ]   [ I Q I D ] \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} \ = \ \begin{bmatrix} sin(\theta+\pi) & sin(\theta+\frac{\pi}{2}) \\ sin(\theta+\frac{\pi}{3}) & sin(\theta-\frac{\pi}{6}) \\ sin(\theta-\frac{\pi}{3}) & sin(\theta-\frac{5\pi}{6}) \end{bmatrix} \ \begin{bmatrix} I_Q \\ I_D \end{bmatrix} IaIbIc  =  sin(θ+π)sin(θ+3π)sin(θ3π)sin(θ+2π)sin(θ6π)sin(θ65π)  [IQID]
然而pwm只能控制电压,在开环控制中直接通过 pwm 输出 U a U b U c U_a U_b U_c UaUbUc 即可
[ U a U b U c ]   =   ( 系数 R )   [ I a I b I c ] \begin{bmatrix} U_a \\ U_b \\ U_c \end{bmatrix} \ = \ (系数R) \ \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} UaUbUc  = (系数R)  IaIbIc

电流闭环控制需要通过电流传感器实现,这个后面再说

开环控制

指定 I Q I_Q IQ 作为力矩,不断改变 θ \theta θ 即可转动, θ \theta θ 就是电角度。

电角度就涉及到"极对",前面讨论的都是单极对的电机,对于多极对的电机,比如2极对,当 θ \theta θ 转过 360度之后,电机仅转了180度,所以就有了电角度机械角度的概念。

电角度 = 机械角度 * 极对数

闭环控制中,电角度 θ \theta θ 由编码器测出机械角度后计算得出,但是需要偏移 π 2 \frac{\pi}{2} 2π , 因为偏移90度产生的力矩最大,如果不偏移产生的力矩是为零的,DengFOC源码中没有偏移是因为在初始化归零编码器时把角度偏移90度了,所以运行时编码器读出来的角度天然偏移90度

位置闭环

PID 控制器输入位置角度误差,输出到 I Q I_Q IQ

也可以与速度环结合起来,位置环输出目标速度到速度环,速度环再输出 I Q I_Q IQ

速度闭环

PID 控制器输入目标速度与实际速度的误差,输出到 I Q I_Q IQ​​

编码器读出来的速度最好经过低通滤波才不会有滋滋声

电流闭环

利用电流传感器的反馈,把之前的这个东西:
[ U a U b U c ]   =   ( 系数 R )   [ I a I b I c ] \begin{bmatrix} U_a \\ U_b \\ U_c \end{bmatrix} \ = \ (系数R) \ \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} UaUbUc  = (系数R)  IaIbIc
用 PID 真正地控制电流即可

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值