请教SVPWM算法中T1,T2的计算

2020-02-06 10:24发布

Mircrochip文档AN1017《使用dsPIC30F DSC实现PMSM电机的正弦驱动》的demo程序中,有两个问题不是很明白,请教大家:
1)在SVM.c文件中,有下面这条程序
// This is the maximum value that may be passed to the SVM
// function without overmodulation.  This limit is equivalent
// to 0.866, which is sqrt(3)/2.
#define VOLTS_LIMIT        28300
不太明白VOLTS_LIMIT的作用,以及为什么VOLTS_LIMIT的值会是0.866?
我的理解是:
当由6个基本电压空间矢量合成的Uout以近似圆形轨迹旋转时,其圆形轨迹的旋转半径受6个基本电压空间矢量幅值的限制。最大的圆形轨迹是6个基本矢量
幅值所组成的正六边形的内接圆,即输出电压的幅值为6个基本电压空间矢量幅值的sin60,即Sqrt(3)/2=0.866=Q15(28377).
不知道这样理解对不对,麻烦大家指点指点。
2)void SVM(int volts, unsigned int angle)
{
if(angle < VECTOR2)
        {                           
        angle2 = angle - VECTOR1;       
                                
                                                               
        angle1 = SIXTY_DEG - angle2;       

        t1 = sinetable[(unsigned char)(angle1 >> 6)];          //sin(60-x)
                                                  
        t2 = sinetable[(unsigned char)(angle2 >> 6)];          //sin(x)

        // Scale t1 to by the volts variable.
        t1 = ((long)t1*(long)volts) >> 15;
        // Scale t1 for the duty cycle range.
        t1 = ((long)t1*(long)tpwm) >> 15;                    
        // Scale t2 time
        t2 = ((long)t2*(long)volts) >> 15;
        t2 = ((long)t2*(long)tpwm) >> 15;

        half_t0 = (tpwm - t1 - t2) >> 1;                                                  
        PDC1 = t1 + t2 + half_t0;
        PDC2 = t2 + half_t0;
        PDC3 = half_t0;
        }
}
小的不是很明白这段程序?
我只知道T1,T2的计算公式为

(原文件名:未命名.JPG)
不明白程序中变量Volts与Uout,Ux.Ux+60的关系。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
水缸仔
1楼-- · 2020-02-07 21:28
 精彩回答 2  元偷偷看……
xk376632352
2楼-- · 2020-02-08 02:25
水缸仔 发表于 2014-11-12 10:58
楼主  请问   1.为什么要取171个数?
                 2 .为什么这171个点对应一个扇区的SIN,一个扇区只有60度,如果是 ...

2)在不同扇区,角度处理的,代码中有如下处理:
        angle2 = angle - VECTOR1;                                                                  
            angle1 = SIXTY_DEG - angle2;  

1.JPG (58.3 KB, 下载次数: 0)

下载附件

2014-11-12 11:31 上传


3)0X2AAA/64=170.6 ,四舍五入 171


xk376632352
3楼-- · 2020-02-08 07:56
水缸仔 发表于 2014-11-12 11:11
楼主  还有看到一些论文中提到  : 标幺值  这有是什么意思?论文没看懂

2.JPG (25.95 KB, 下载次数: 0)

下载附件

2014-11-12 11:33 上传

水缸仔
4楼-- · 2020-02-08 11:05
楼主  请问载波频率选取多少适合,输出频率要达到300hz-18000转,还是像SPWM一样载波频率随输出频率变化而变化?
水缸仔
5楼-- · 2020-02-08 12:56
xk376632352 发表于 2014-11-12 11:34

楼主,请问  void SVM(int volts, unsigned int angle)  中的  angle是怎么计算得来的?  
                       
                        在Mircrochip官网找了好久没有找到 demo程序,只在百度上找到SVM.c这个文件,但是这个文件没有写  angle是怎么计算得来的?
                        楼主能传一份程序给我吗?
                        谢谢楼主!!楼主好人!!
水缸仔
6楼-- · 2020-02-08 16:30
 精彩回答 2  元偷偷看……

一周热门 更多>