奇立电源 发表于 2016-12-12 08:40

请问这个算法是出自哪里,可以产生SVPWM,但搞不懂原理

void SVMGenerator(void)
{
        int UD,VD,WD;                                                       
        int Dutymax,Dutymin,Dutyplus;
        UnClarke(iUalpha,iUbeta,&UD,&VD,&WD);

       
        if(UD>=VD)
        {
                Dutymax=UD;
                Dutymin=VD;
        }
        else
        {
                Dutymax=VD;
                Dutymin=UD;
        }
        Dutymax=Dutymax>=WD?Dutymax:WD;
        Dutymin=Dutymin<=WD?Dutymin:WD;                                //求出三相矢量量最大和最小值
       
        Dutyplus=PWMMaxPulse-Dutymax-Dutymin;
        Dutyplus>>=1;
       
        iUDuty=UD+Dutyplus;                               
        iVDuty=VD+Dutyplus;                               
        iWDuty=WD+Dutyplus;                                 


有没有大神用过这种算法

zdc1122 发表于 2016-12-12 09:18

同求该算法的原理,找了很久都没有找到。

奇立电源 发表于 2016-12-12 10:09

楼上也用过这个留个联系方式交流可好

xiaoxiao201005 发表于 2016-12-12 14:54

UnClarke(iUalpha,iUbeta,&UD,&VD,&WD);
这个函数输入是什么,输出又是什么?

as27185 发表于 2016-12-12 16:48

xiaoxiao201005 发表于 2016-12-12 14:54
UnClarke(iUalpha,iUbeta,&UD,&VD,&WD);
这个函数输入是什么,输出又是什么?

UnClarke应该是逆clarke变换吧,两相静止到三相静止

奇立电源 发表于 2016-12-12 16:49

变换函数而已,刚开始也很晕,pid好长一个环

as27185 发表于 2016-12-12 17:13

本帖最后由 as27185 于 2016-12-12 17:18 编辑

用matlab把这段代码写出来了,描出图形确实是马鞍形,这段代码真牛,svm的时间大大缩短呀

奇立电源 发表于 2016-12-12 17:58

真会玩,我都不会用

xiaoxiao201005 发表于 2016-12-12 18:23

as27185 发表于 2016-12-12 16:48
UnClarke应该是逆clarke变换吧,两相静止到三相静止

这个函数与普通的逆clarke变换不一样吧,它是电流的两相静止

as27185 发表于 2016-12-13 08:48

xiaoxiao201005 发表于 2016-12-12 18:23
这个函数与普通的逆clarke变换不一样吧,它是电流的两相静止

没明白你的意思,iUalpha,iUbeta应该是函数输入,执行函数后 UD VD WD 的值就会被改变,就是三相静止坐标系的电压

zdc1122 发表于 2016-12-13 09:47

奇立电源 发表于 2016-12-12 10:09
楼上也用过这个留个联系方式交流可好

516988958 我的扣扣

xiaoxiao201005 发表于 2016-12-13 11:10

as27185 发表于 2016-12-13 08:48
没明白你的意思,iUalpha,iUbeta应该是函数输入,执行函数后 UD VD WD 的值就会被改变,就是三相静止坐 ...

如果是那样的话,那个函数里就不仅仅只有逆clark变换了,应该还有其他的变换。或者这个函数通过什么方式直接由alfa beta电流计算得到电压

奇立电源 发表于 2016-12-13 19:56

iUalpha,iUbeta是两个输入,用软件模拟的

秋天不再 发表于 2016-12-14 08:51

xiaoxiao201005 发表于 2016-12-13 11:10
如果是那样的话,那个函数里就不仅仅只有逆clark变换了,应该还有其他的变换。或者这个函数通过什么方式 ...

我觉得是不是理解的有问题,从命名的原则上看,iUalfa 是经过电流环之后计算出来的Ualfa的值,并不是你理解的电流的值。

秋天不再 发表于 2016-12-14 09:07

https://bbs.simol.cn/thread-148553-1-1.html 楼主看一下这个帖子

xiaoxiao201005 发表于 2016-12-14 09:39

秋天不再 发表于 2016-12-14 08:51
我觉得是不是理解的有问题,从命名的原则上看,iUalfa 是经过电流环之后计算出来的Ualfa的值,并不是你理 ...

这样说就明白了,它的命名标注有问题,会造成误导,电流环之后命名就不该是电流alfa和beta了。

奇立电源 发表于 2016-12-14 13:12

那个帖子代码原理是一样的,但还是没有推理

秋天不再 发表于 2016-12-14 18:01

楼主从1.4开始看,试试

yang1987 发表于 2017-3-19 18:13

这个是经过变形后,结果与SVPWM一样的,但是经我做产品实际发现,这种方法做出来的电磁噪声比用正规SVPWM公式做出的要大多呀!

Acoary_123123 发表于 2017-3-20 08:04

这也叫算法?没考虑的东西太多了,只能凑合用
页: [1]
查看完整版本: 请问这个算法是出自哪里,可以产生SVPWM,但搞不懂原理