关于stm32电流传感器法无感无刷电机驱动的一些问题

2019-12-11 18:33发布

想做个基于stm32的无感无刷电机驱动,ST的电机培训PPT中关于无感无刷的方案图

(原文件名:无感方案图.JPG)
ICS电流采样如下图

(原文件名:ics.JPG)
抄了个无刷电机驱动的部分图,采用的也是ICS模式

(原文件名:driver.JPG)

(原文件名:ics2.JPG)
后面的电路是对电流采样的,所用芯片为AD8206,用的应该算是Figure 18接线模式

(原文件名:ad8206.JPG)
按照无感的方案图,这个总线电压的测量该是怎么做呢,按照上面的电路图再加入个总线测量的就可以做成无感无刷的硬件部分吗?高手们给感兴趣的给指点下吧^ ^

电机驱动的流程如下

(原文件名:ics流程.JPG)

电机驱动库中关于ICS的模块
   wUAlpha = Stat_Volt_Input.qV_Component1 * T_SQRT3 ;
   wUBeta = -(Stat_Volt_Input.qV_Component2 * T);

   wX = wUBeta;
   wY = (wUBeta + wUAlpha)/2;
   wZ = (wUBeta - wUAlpha)/2;
关于Clark变换见下图

(原文件名:20081120_ba45cea870761d87c751ZweQoKYXAz2y.jpg)
根据
Id=Ia
Iq=(2Ib+Ia)/sqrt(3)

令 wUAlpha = Iq*sqrt(3)
   wUBeta = -Id

可得
   wX = wUBeta;
   wY = (wUBeta + wUAlpha)/2;
   wZ = (wUBeta - wUAlpha)/2;
这个知道是Clark变换的反变换,只是,为什么要*T呢?

后面的一段判断也没弄明白啊
if (wY<0)
   {
      if (wZ<0)
      {
        bSector = SECTOR_5;
      }
      else // wZ >= 0
        if (wX<=0)
        {
          bSector = SECTOR_4;
        }
        else // wX > 0
        {
          bSector = SECTOR_3;
        }
   }
   else // wY > 0
   {
     if (wZ>=0)
     {
       bSector = SECTOR_2;
     }
     else // wZ < 0
       if (wX<=0)
       {  
         bSector = SECTOR_6;
       }
       else // wX > 0
       {
         bSector = SECTOR_1;
       }
    }
也看了个说明的,只是还是没看明白

(原文件名:11.JPG)


(原文件名:12.JPG)

有没有谁能帮着解惑下啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。