MCSDK 扇区判断解析

前言

本文为学习st的电机库MCSDK笔记,记录判断扇区的逻辑,并结合其他文章进行对比。

关键词:SVPWMMCSDK,FOC

扇区判断

参考文章:《彻底吃透SVPWM如此简单》


图1

参考图1,为了便于判断扇区,将αβ坐标系用三条直线分割,分别是:
β = 0 β = t a n ( π 3 ) ∗ α = 3 α β = − t a n ( π 3 ) ∗ α = − 3 α β = 0\\ β = tan(\frac{\pi}{3})*α =\sqrt{3}α\\ β = -tan(\frac{\pi}{3})*α =-\sqrt{3}α β=0β=tan(3π)α=3 αβ=tan(3π)α=3 α
通过判断向量在每条直线的上下即可判断扇区。
因此记
X = − β Y = 3 α − β 2 Z = − 3 α − β 2 X = -β\\ Y = \frac{\sqrt{3}α - β}{2}\\ Z = \frac{-\sqrt{3}α - β}{2} X=βY=23 αβZ=23 αβ
对XYZ的大小进行判断,即可得知当前所在扇区
(注:这里除2的原因目前不太清楚;st的αβ坐标系以向下为正)。

扇区 X Y Z
1 > 0 >0 >0 > 0 >0 >0 < 0 <0 <0
2 > 0 >0 >0 > 0 >0 >0 > 0 >0 >0
3 > 0 >0 >0 < 0 <0 <0 > 0 >0 >0
4 < 0 <0 <0 < 0 <0 <0 > 0 >0 >0
5 < 0 <0 <0 < 0 <0 <0 < 0 <0 <0
6 < 0 <0 <0 > 0 >0 >0 < 0 <0 <0

对比ST代码:

    wUAlpha = Valfa_beta.alpha * (int32_t)pHandle->hT_Sqrt3;
    wUBeta = -(Valfa_beta.beta * ((int32_t)pHandle->PWMperiod)) * 2;

    wX = wUBeta;
    wY = (wUBeta + wUAlpha) / 2;
    wZ = (wUBeta - wUAlpha) / 2;

    /* Sector calculation from wX, wY, wZ */
    if (wY < 0){
   
      if (wZ < 0){
   }
      else /* wZ >= 0 */
      if (wX <= 0){
   }
      else /* wX > 0 */
      {
   }
    }
    else /* wY > 0 */
    {
   
      if (wZ >= 0)
      {
   }
      else /* wZ < 0 */
      if ( wX <= 0 ){
   }
      else /* wX > 0 */
      {
   }
    }

首先,根据传入的αβ值生成中间值wUAlpha,wUBeta。有
w U A l p h a = 2 3 V α T s w U B e t a = − 2 V β T s wUAlpha = 2\sqrt{3}V_αT_s\\ wUBeta = -2V_βT_s wUAlpha=23 VαTswUBeta=2VβTs
计算得
w X = − 2 V β T s w Y = ( − V β + 3 V α ) T s w Z = ( − V β − 3 V α ) T s wX = -2V_βT_s\\ wY = (-V_β + \sqrt{3}V_α)T_s\\ wZ = (-V_β - \sqrt{3}V_α)T_s wX=2VβTswY=(Vβ+3 Vα)TswZ=(Vβ3 Vα)Ts

根据 w X , w Y , w Z wX,wY,wZ wX,wY,wZ目前可以确定扇区,但是还无法确定各向量的作用时间。

时间计算

先分析st的计算流程:

    if (wY < 0){
   
      if (wZ < 0)
      {
   
        pHandle->Sector = SECTOR_5;
        wTimePhA = (((int32_t)pHandle->PWMperiod) / 
  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值