TI论坛
直播中

邓罕攀

7年用户 201经验值
私信 关注
[问答]

F28335电机矢量控制例程,svpwm生成中的一个问题如何解答

ti 给的28335的例程里,SVGENDQ_MACRO 中
if         (v.VecSector==1 || v.VecSector==4)                        
     [     v.Ta= v.tmp2;                        
           v.Tb= v.tmp1-v.tmp3;                     
           v.Tc=-v.tmp2;                     ]                                                  
else if  (v.VecSector==2 || v.VecSector==5)                                       
    [     v.Ta= v.tmp3+v.tmp2;                     
          v.Tb= v.tmp1;                     
          v.Tc=-v.tmp1;                     ]                                                  
else                                                                              
   [     v.Ta= v.tmp3;                        
        v.Tb=-v.tmp3;                       
        v.Tc=-(v.tmp1+v.tmp2);                   ]                           

我没看明白这段程序,按照原理的话,扇区1的 T1=-Z,T2=X,扇区4就应该是T1=-X,T2=Z  而这里扇区1和4都是同样的Ta、Tb、Tc  值我就不太懂了,而且上文给出的tmp1、tmp2、tmp3 在原理中旧事X,Y,Z的值, 而Ta、Tb、Tc  在下面的程序中直接赋给比较寄存器当作PWM占空比了, 中间的关系应该是
v.Tb = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // tbon = (1-t1-t2)/2
v.Ta = v.Tb+t1; // taon = tbon+t1
v.Tc = v.Ta+t2; // tcon = taon+t2
(上面3行是2812程序里给的此步骤的例程,为什28335中没有这一步了呢?)

刚刚接触dsp和svpwm 没有人带,自己资质也低,问题要是问的太蠢请各位前辈见谅。感谢之前的前辈们热心的帮助!

回帖(6)

陈飞

2020-6-18 09:36:46
这个模块就直接用吧,把时间放在其他更重要的算法上
                                                                         Young Hu 
C2000 FAE
举报

邓罕攀

2020-6-18 09:46:06
前辈,我的课题就是 一种新式svpwm的算法,我会按照新的算法对TI 的SVGEN 进行一点小改动,然后对比一下,这个问题部攻克,我改都没法改......
举报

刘宇

2020-6-18 09:51:22
TI的这个算法是改进了的,但说明还是老版本的。这个算法改进了扇区判断,采用了倒三角形计数,基本原理还是没变的。把基本的原理看懂再结合上述2点,应该能理解,不然论文也写不了。
举报

邓罕攀

2020-6-18 09:57:34
HI xiaoming liu  :
     请问您 扇区选择的部分我已经看懂了,但是时间计算上 我总觉得扇区2与4,1与5、3与6之间的 T1、T2是互换位置并取反,我无法从程序中找到相应的代码,还请您多指教!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分