fish18265 发表于 2012-7-27 19:07

关于2812的svpwm程序

自己写了一个svpwm的程序,但是不知道为什么t1+t2>T,哪位高手能看看 程序哪里出错了?

gellyares 发表于 2012-8-12 15:40

T1+T2>T是有可能的,你只要在后面做个判断,再处理应该就可以
if(T1+T2>T)
{T1=(T1/(T1+T2))/TP;
   T2=(T2/(T1+T2))/TP;
}
不知道你做了这个处理没

fish18265 发表于 2012-8-13 12:12

回复 2# gellyares


    我用单步调试,T1+T2是一直大于T的,这样不对吧?

gellyares 发表于 2012-8-13 13:08

回复 3# fish18265


    你做过仿真没,如果仿真做出来了,一步一步去检查程序的小结果,看看哪个阶段出问题了。

gellyares 发表于 2012-8-14 09:25

回复 3# fish18265


    做了我说的那个判断处理没?

fish18265 发表于 2012-8-14 15:21

回复 5# gellyares


    用了那个判断,T1+T2是不大于T了,但是用判断前,T1+T2一直大于T,应该不对吧?

gellyares 发表于 2012-8-14 20:46

回复 6# fish18265


    判断前出现T1+T2>T的情况是有可能的

xifan1209 发表于 2012-11-2 17:09

3Q楼主      

潇潇雨歇 发表于 2012-12-28 09:07

下下来看看!!

行动苍狼 发表于 2013-1-30 23:49

T1+T2>T 的话,需要处理饱和啊

李民强 发表于 2014-4-4 09:36

好东西{:soso_e179:}

csmasm 发表于 2014-5-6 16:30

学习中!看看学习下

flyingford 发表于 2014-5-12 17:04

我用的是Ti的28025芯片,例程比较好的。

qdlz20 发表于 2014-5-13 13:12

做一下过调制的处理。

kingsr 发表于 2014-7-3 12:33

T1+T2>T是有可能的,你只要在后面做个判断,再处理应该就可以
if(T1+T2>T)
{T1=(T1/(T1+T2))/TP;
   T2=(T2/(T1+T2))/TP;
}

限制一下就OK,这个很好
页: [1]
查看完整版本: 关于2812的svpwm程序