关于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)

有没有谁能帮着解惑下啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
nomoneyiv
1楼-- · 2019-12-11 22:15
顶一个,虽然不熟悉!
wp007
2楼-- · 2019-12-11 22:15
 精彩回答 2  元偷偷看……
airwill
3楼-- · 2019-12-11 23:53
本人对此研究了一段时间了, 有些心得, 愿意共同讨论
xiangyuan_122
4楼-- · 2019-12-12 05:16
LS的有什么心得可以这里讨论吗
wang1216
5楼-- · 2019-12-12 08:40
其实很简单,就是数学问题。
难点在调试过程,我上电机试了试,很不好,要根据自己的硬件做调整才能运行。
慢慢来,总体还是很好的
TRINAMIC
6楼-- · 2019-12-12 10:54
TMC603A也是一款无传感器直流无刷驱动芯片

(原文件名:1.gif)


(原文件名:2.gif)


(原文件名:截图01.jpg)

一周热门 更多>