[嵌入式专栏](FOC - SVPWM扇区判断)

文章目录

    • 1 . 前言
    • 2 . 扇区判断
    • 3 . 总结


【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485


1 . 前言

  1. SVPWM模块内容比较多,这篇博文尽量讲的细致且简洁,从扇区判断,到扇区计算,这里先从扇区判断开始。

2 . 扇区判断

拿到Uα和Uβ后,就可以送到SVPWM模块解析了,SVPWM会将矢量圆分成六个扇区,因为UαUβ为正弦交流,将其分成六个部分,也就是将UαUβ整个周期360度每隔60度作为一个扇区,那么接下来根据UαUβ的值是多少,从而确定在哪个扇区计算进行输出,这个阶段称为 扇区判断

[嵌入式专栏](FOC - SVPWM扇区判断)_第1张图片

  1. 上图中可以看到黄线为Uα,蓝色为Uβ,分隔6列,分别对应扇区1-6,
    【Q】这里为什么黄线是Uα而不是Uβ
    【A】因为从UαUβ三相电压合成公式中可以得出

    U α = ( U a − 1 2 U b − 1 2 U c ) ∗ 2 3 U_α = (Ua - \frac 1 2 U_b - \frac 1 2 U_c) * \frac 2 3 Uα=(Ua21Ub21Uc)32

    U α = 2 3 U m ( c o s θ ) − 1 2 c o s ( θ − 2 3 π ) − 1 2 c o s ( θ + 2 3 π ) U_α = \frac 2 3U_m(cosθ) - \frac 1 2 cos(θ-\frac 2 3π) - \frac 1 2 cos(θ+\frac 2 3π) Uα=32Um(cosθ)21cos(θ32π)21cos(θ+32π)

    U α = U m c o s θ U_α = U_m cosθ Uα=Umcosθ

   
    U β = ( 3 2 U b − 3 2 U c ) ∗ 2 3 U_β = (\frac {\sqrt3}2 U_b- \frac {\sqrt3}2 U_c)*\frac 2 3 Uβ=(23 Ub23 Uc)32

    U β = 2 3 3 2 [ c o s ( θ − 2 3 π ) − c o s ( θ + 2 3 π ) ] U_β = \frac 2 3 \frac {\sqrt3} 2[ cos(θ-\frac 2 3π) - cos(θ+\frac 2 3π)] Uβ=3223 [cos(θ32π)cos(θ+32π)]

    U β = U m s i n θ U_β = U_msinθ Uβ=Umsinθ

当θ为0时,Uα=Um,所以黄线是Uα而不是Uβ;以上的 ∗ 2 3 *\frac 2 3 32是因为相电压合成出来的系数是 3 2 \frac 3 2 23,后续SVPWM ∗ 2 3 *\frac 2 3 32后刚好约掉等于1,这也是SVPWM电压利用率100%的缘故。


  1. 接下来只需要判断UαUβ的关系就可以区分出来,这里不能单纯的按 U α U β U_αU_β UαUβ,大于0,小于0,的关系来判断,例如扇区一和扇区二中,有一段部分 U α U β U_αU_β UαUβ都是大于0,因此我们不单纯采用这种方式判断扇区,而是在此基础上以不同扇区 U α U β U_αU_β UαUβ的比值来一起判断。

第一步,列出扇区角度关系,比值关系

扇区 范围 U α U_α Uα U β U_β Uβ
扇区 1 t a n 0 ° < U β U α < t a n 60 ° tan0°<\frac {Uβ}{Uα} < tan60° tan0°<UαUβ<tan60° 大于 0 大于 0
扇区 2 t a n 60 ° < U β U α < t a n 120 ° tan60°<\frac {Uβ}{Uα} < tan120° tan60°<UαUβ<tan120° 大于0 或 小于0 大于 0
扇区 3 t a n 120 ° < U β U α < t a n 180 ° tan120°<\frac {Uβ}{Uα} < tan180° tan120°<UαUβ<tan180° 小于 0 大于 0
扇区 4 t a n 180 ° < U β U α < t a n 240 ° tan180°<\frac {Uβ}{Uα} < tan240° tan180°<UαUβ<tan240° 小于 0 小于 0
扇区 5 t a n 240 ° < U β U α < t a n 300 ° tan240°<\frac {Uβ}{Uα} < tan300° tan240°<UαUβ<tan300° 大于0 或 小于0 小于 0
扇区 6 t a n 300 ° < U β U α < t a n 360 ° tan300°<\frac {Uβ}{Uα} < tan360° tan300°<UαUβ<tan360° 大于 0 小于 0

第二步,把角度计算出来就是:

扇区 范围 U α U_α Uα U β U_β Uβ
扇区 1 0 < U β U α < 3 0 <\frac {Uβ}{Uα} < \sqrt3 0<UαUβ<3 大于 0 大于 0
扇区 2 3 < U β U α < − 3 \sqrt3<\frac {Uβ}{Uα} < -\sqrt3 3 <UαUβ<3 大于0 或 小于0 大于 0
扇区 3 − 3 < U β U α < 0 -\sqrt3<\frac {Uβ}{Uα} < 0 3 <UαUβ<0 小于 0 大于 0
扇区 4 0 < U β U α < 3 0<\frac {Uβ}{Uα} <\sqrt3 0<UαUβ<3 小于 0 小于 0
扇区 5 3 < U β U α < − 3 \sqrt3<\frac {Uβ}{Uα} < -\sqrt3 3 <UαUβ<3 大于0 或 小于0 小于 0
扇区 6 − 3 < U β U α < 0 -\sqrt3<\frac {Uβ}{Uα} < 0 3 <UαUβ<0 大于 0 小于 0

第三步,把范围定在有效区域计算,0*任何值等于0无意义,所以抛弃与0的关系进一步缩短有效范围,至于扇区2和扇区5到底取 3 < U β U α \sqrt3<\frac {Uβ}{Uα} 3 <UαUβ 的范围来运算,还是 U β U α < − 3 \frac {Uβ}{Uα} < -\sqrt3 UαUβ<3 来运算,其实都可以,具体证明过程在第四步有详细描述

扇区 范围 U α U_α Uα U β U_β Uβ
扇区 1 U β U α < 3 \frac {Uβ}{Uα} < \sqrt3 UαUβ<3 大于 0 大于 0
扇区 2 3 < U β U α < − 3 \sqrt3<\frac {Uβ}{Uα} < -\sqrt3 3 <UαUβ<3 大于0 或 小于0 大于 0
扇区 3 − 3 < U β U α -\sqrt3<\frac {Uβ}{Uα} 3 <UαUβ 小于 0 大于 0
扇区 4 U β U α < 3 \frac {Uβ}{Uα} <\sqrt3 UαUβ<3 小于 0 小于 0
扇区 5 3 < U β U α < − 3 \sqrt3<\frac {Uβ}{Uα} < -\sqrt3 3 <UαUβ<3 大于0 或 小于0 小于 0
扇区 6 − 3 < U β U α -\sqrt3<\frac {Uβ}{Uα} 3 <UαUβ 大于 0 小于 0

第四步,移项后乘系数 1 2 \frac 1 2 21,这里乘 1 2 \frac 1 2 21是因为后续SVPWM计算方便,

扇区 范围 U α U_α Uα U β U_β Uβ
扇区 1 3 2 U α − 1 2 U β > 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ>0 23 Uα21Uβ>0 大于 0 大于 0
扇区 2 3 2 U α − 1 2 U β < 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ<0 23 Uα21Uβ<0 大于0 或 小于0 大于 0
扇区 3 − 3 2 U α − 1 2 U β > 0 -\frac {\sqrt3}2 Uα-\frac 1 2Uβ>0 23 Uα21Uβ>0 小于 0 大于 0
扇区 4 3 2 U α − 1 2 U β < 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ<0 23 Uα21Uβ<0 小于 0 小于 0
扇区 5 3 2 U α − 1 2 U β > 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ>0 23 Uα21Uβ>0 大于0 或 小于0 小于 0
扇区 6 − 3 2 U α − 1 2 U β < 0 -\frac {\sqrt3}2 Uα-\frac 1 2Uβ<0 23 Uα21Uβ<0 大于 0 小于 0

【Q】第四步这里为什么扇区2无论Uα大于0还是Uα小于0, 3 2 U α − 1 2 U β 都 是 < 0 ? \frac {\sqrt3}2 Uα-\frac 1 2Uβ都是<0? 23 Uα21Uβ<0?
【A】可以到文章最上面的波形看,第2个扇区α整个阶段都是小于β的,因此无论α是正是负减去β都是负数,至于 3 2 − 1 2 \frac {\sqrt3}2-\frac 1 2 23 21的结果是0.366…,但是从波形上看第2个扇区中 α − β α-β αβ的极限最大值是-0.366…,恰好抵消掉前面提到 3 2 − 1 2 \frac {\sqrt3}2-\frac 1 2 23 21的值,因此无论第2个扇区α是正是负,减去 1 2 U β \frac 1 2Uβ 21Uβ的结果都是 ≤ 0 ≤0 0的,扇区5也是类似的证明逻辑


第五步,到这里已经能区分出 扇区1,3,4,6了,但是扇区2,5这两个扇区与其他扇区的范围仍有一模一样的关系,例如看第四步的扇区2和扇区4公式是一样的,主要是因为扇区2和扇区5的Uα会出现前半段/后段大于0小于0的情况,因此,根据数学不等式,将Uα取反得出

扇区 范围 U α U_α Uα U β U_β Uβ
扇区 1 − 3 2 U α − 1 2 U β < 0 -\frac {\sqrt3}2 Uα-\frac 1 2Uβ<0 23 Uα21Uβ<0 大于 0 大于 0
扇区 2 − 3 2 U α − 1 2 U β < 0 -\frac {\sqrt3}2 Uα-\frac 1 2Uβ<0 23 Uα21Uβ<0 大于0 或 小于0 大于 0
扇区 3 3 2 U α − 1 2 U β < 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ<0 23 Uα21Uβ<0 小于 0 大于 0
扇区 4 − 3 2 U α − 1 2 U β > 0 -\frac {\sqrt3}2 Uα-\frac 1 2Uβ>0 23 Uα21Uβ>0 小于 0 小于 0
扇区 5 − 3 2 U α − 1 2 U β > 0 -\frac {\sqrt3}2 Uα-\frac 1 2Uβ>0 23 Uα21Uβ>0 大于0 或 小于0 小于 0
扇区 6 3 2 U α − 1 2 U β > 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ>0 23 Uα21Uβ>0 大于 0 小于 0

【Q】第五步的扇区2为什么Uα取反了,结果仍然小于0,扇区5也是类似,只是扇区5的相位是反过来理解
【A】因为第四步中可以看到无论Uα>0还是Uα<0, 3 2 U α − 1 2 U β 都 是 < 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ都是<0 23 Uα21Uβ<0 ,因此这里第五步即使取反,那也是小于0,因此扇区2的结果还是小于0


第六步,经过以上的关系推导,终于能完全区分开扇区1-6了,但是我们程序里肯定不想加这么多判断,所以接下来把判断化简,把上面重复的表达给拿出来就是

A B C
U β Uβ Uβ 3 2 U α − 1 2 U β \frac {\sqrt3}2 Uα-\frac 1 2Uβ 23 Uα21Uβ − 3 2 U α − 1 2 U β -\frac {\sqrt3}2 Uα-\frac 1 2Uβ 23 Uα21Uβ

这三个有啥用?不知道怎么判断啊!别急,经过关系化简得出以下规律
N 关 系 值 = A + 2 B + 4 C N_{关系值}=A+2B+4C N=A+2B+4C
例如当
U β > 0 Uβ>0 Uβ>0 那么A则为1,
− 3 2 U α − 1 2 U β < 0 -\frac {\sqrt3}2 Uα-\frac 1 2Uβ<0 23 Uα21Uβ<0那么B则为0,
3 2 U α − 1 2 U β > 0 \frac {\sqrt3}2 Uα-\frac 1 2Uβ>0 23 Uα21Uβ>0那么C则为1

结果就是A=1,B=0,C=1

N 关 系 值 = 5 N_{关系值} = 5 N=5

【Q】上面ABC三个量是怎么总结出来的?
【A】从本质上理解,根据第四步第五步,结合 结果>0的量 可以总结出来
图中ABC三个量和Uα,但是α在第二 第五扇区 不固定,因此剔除α,剩下ABC那三个量对于每个扇区都是固定的,因此可以求解,为什么是315462,细心推一下发现
A+B 扇区1
A 为扇区2
A+C 扇区3
C 扇区4
B+C 扇区5
B 扇区6

但是程序为了方便不会这样逐个判断,因此加起来直接索引效率就会高很多,所以对ABC编码,其实把ABC的值乱取都可以,但是不能取成不同组合下出现一样结果,例如A+B不能等于C,最终根据叠加值索引就可以了,因此基于上述规律利用二进制规律,用1,2,4来代替ABC,加起来索引映射回扇区1到6即可。

第七步,上述得出来的结果N并不是最终扇区,而是一个关系值,把关系值N与扇区列出真值表

N 关 系 值 N_{关系值} N 3 1 5 4 6 2
扇区 1 2 3 4 5 6

因此若 N 关 系 值 = 5 N_{关系值} = 5 N=5,则最终扇区为 3

3 . 总结

总而言之扇区判断是为了让控制打到对应扇区,我们想把力矩打到某个扇区,就要知道这个扇区在哪里,结合UαUβ的比值与关系,我们最终可以得出扇区,这里扇区判断就结束了,后续写扇区计算,一个字一公式的手敲,总算写完了。

技术交流QQ群 : 745662457
群内专注 - 问题答疑,项目外包,技术研究

图片资源本人在网上下载,若有侵权行为,请告知,本人会立刻删除

你可能感兴趣的:(嵌入式,单片机,c语言,嵌入式硬件,mcu,算法)