无感FOC

前言

一年多前就画好了FOC的板子,后面因为各种原因耽搁了,最近又重新捡起来,准备写一下程序,首先我们要做一下FOC的理论分析。

左右手定则

在这里插入图片描述
左手定则用于判断导线在磁场中受力的方向:

磁感线从左手手心流入,四指指向电流方向,大拇指指向的就是安培力方向(即导体受力方向)。

右手定则用于判断感生电动势的方向:

磁感线垂直穿入右手手心,大拇指指向导体运动方向,则其余四指指向感生电动势的方向

根据上面的图示,我们能看到,对导体加载正方向电流,其产生向右的力,然后向右运动,在运动过程中又会产生负方向的感应电动势

所以,我们拿到三相电机:
在这里插入图片描述用手旋转它(反向),会产生如下的波形
在这里插入图片描述我们如果将上述波形的交流电输入电机,则会产生正向的旋转运动

SVPWM技术

在这里插入图片描述

当三相绕组和两相绕组产生的旋转磁动势大小和转速都相等时,我们认为两相绕组与三相绕组等效,这就是Clark变换由来。

三相电压空间矢量相加的合成空间矢量 U t U_t Ut(即投影在A轴之和)就可以表示为:
U t = U A + U B × c o s ( 2 π / 3 ) + U C × c o s ( − 2 π / 3 ) = U A − 0.5 × U B − 0.5 × U C U_t = U_A+U_B×cos(2π/3)+U_C×cos(-2π/3) =U_A -0.5×U_B -0.5×U_C Ut=UA+UB×cos(2π/3)+UC×cos(2π/3)=UA0.5×UB0.5×UC
由三相电规律有:
U A = U m × c o s ( θ t ) U_A = Um×cos(θ_t) UA=Um×cos(θt)
U B = U m × c o s ( θ t − 2 π / 3 ) U_B = Um×cos(θ_t-2π/3) UB=Um×cos(θt2π/3)
U C = U m × c o s ( θ t + 2 π / 3 ) U_C = Um×cos(θ_t+2π/3) UC=Um×cos(θt+2π/3)
其中 θ t = 2 π ƒ t θ_t = 2πƒt θt=2πƒt,

三角化简公式 c o s ( θ − 2 π / 3 ) = c o s ( θ ) c o s ( − 2 π / 3 ) + s i n ( θ ) s i n ( − 2 π / 3 ) = − 0.5 × c o s ( θ ) − 3 2 s i n ( θ ) cos(θ-2π/3)=cos(θ)cos(-2π/3)+sin(θ)sin(-2π/3)=-0.5×cos(θ)-\frac{\sqrt{3}}{2}sin(θ) cos(θ2π/3)=cos(θ)cos(2π/3)+sin(θ)sin(2π/3)=0.5×cos(θ)23 sin(θ)
c o s ( θ + 2 π / 3 ) = − 0.5 × c o s ( θ ) + 3 2 s i n ( θ ) cos(θ+2π/3)=-0.5×cos(θ)+\frac{\sqrt{3}}{2}sin(θ) cos(θ+2π/3)=0.5×cos(θ)+23 sin(θ)

U t U_t Ut为:

U t = U A − 0.5 × U B − 0.5 × U C = U m × ( c o s ( θ t ) − 0.5 × ( − 0.5 × c o s ( θ t ) − 3 2 s i n ( θ ) ) − 0.5 × ( − 0.5 × c o s ( θ t ) + 3 2 s i n ( θ ) s i n ( θ t ) ) ) = U m × ( c o s ( θ t ) + 0.5 × c o s ( θ t ) ) = U m × 3 2 c o s ( θ t ) U_t = U_A -0.5×U_B -0.5×U_C = Um×(cos(θ_t)-0.5×(-0.5×cos(θ_t)-\frac{\sqrt{3}}{2}sin(θ)) -0.5×(-0.5×cos(θ_t)+\frac{\sqrt{3}}{2}sin(θ)sin(θ_t)) )=Um×(cos(θ_t) + 0.5×cos(θ_t))=Um× \frac{3}{2}cos(θ_t) Ut=UA0.5×UB0.5×UC=Um×(cos(θt)0.5×(0.5×cos(θt)23 sin(θ))0.5×(0.5×cos(θt)+23 sin(θ)sin(θt)))=Um×(cos(θt)+0.5×cos(θt))=Um×23cos(θt)

可得 U t U_t Ut峰值为1.5倍的Um

更详细请参考SVPWM实现概述
基于STM32实现SVPWM调制算法

三相电

我们对于三相电的 t 0 t_0 t0时刻状态,可以表示如下:
在这里插入图片描述
其中实轴就是当前的实际输出值,虚轴是假想轴,这样我们就可以将其变换到两个轴上了(即所谓的Clark变换):

在这里插入图片描述
然后,我们根据基尔霍夫定律有 Ic = -(Ia+ Ib)
对上式化简可得
I α = I a I_{\alpha} = I_a Iα=Ia
I β = I a I_{\beta} = I_a Iβ=Ia

t 1 t_1 t1时刻,假设 I a , I b , I c I_a,I_b,I_c Ia,Ib,Ic同时顺时针旋转了 θ \theta θ度,由于相对的相位不变,在进行Clark变换后即相当于 I α , I β I_{\alpha},I_{\beta} IαIβ顺时针旋转了 θ \theta θ度。我们就可以直接得到 t 1 t_1 t1时刻的 I α , I β I_{\alpha},I_{\beta} IαIβ值(即分别为 I d , I q I_d,I_q IdIq,这个变换即所谓的Park变换):

在这里插入图片描述

Park变换是顺时针旋转,则RevPark变换就是逆时针旋转,他俩刚好互为逆变换

参数控制

在这里插入图片描述上图中, I d _ R e f , I q _ R e f I_d\_Ref,I_q\_Ref Id_RefIq_Ref即是我们的目标,通过前面分析,我们知道 I d I_d Id轴实际上是实轴,而 I q I_q Iq轴即虚轴。我们希望 I q I_q Iq是0,而 I d I_d Id是实际力矩输出

参考

三相坐标变换CLARK变换PARK变换

ST电机库v5.4.4源代码分析(1): FOC原理(结合ST电机库)
【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术

需要注意的是稚晖君的控制是使用 I q I_q Iq控制,而不是 I d I_d Id,但实际上三相电中更常用的 I d I_d Id控制,这更符和其实际意义,使用 I q I_q Iq的话,实际上是虚轴和实轴刚好假设反了。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值