久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

SVPWM算法的Dev C++仿真

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月27日   【字體:

  今天看了@技術(shù)宅 的SVPWM文章 于是一時(shí)興起

看著這個(gè)東西:
http://wenku.baidu.com/link?url=0q05AB-vk1S_442Gb8ooY02doxwctGeEuKfFTAZGPhB5ioekgwfM-CpwyTALO9ueOjlcE_Rz2u3X11hcAvOu-SXhxuZHlmlbVlrfvXBrQnu
寫了一段SVPWM仿真程序 文章講的很清楚 大體院里窩都理解 如果能跟著進(jìn)行推導(dǎo)一邊應(yīng)該更能加深理解



下面素窩的程序 還沒有優(yōu)化過 很多浮點(diǎn)數(shù)運(yùn)算 單片機(jī)可能跑不起來的說:
/*
*    SVPWM program
*    By Rikka0_0
*    2014.4.47
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PWM_MAX_COUNT 100
void svpwm(double Umax,double Vdc,double angle,double* u,double* v,double* w){
        double Ua,Ub;
     double Usalfa,Usbeta;
     char sector;
     double X,Y,Z;
     double t1,t2;
      double ta,tb,tc;
        double p1,p2,p3;      
        
        Ua=sin(angle);
        Ub=sin(angle-M_PI*2/3);
       
        //Clarke
        Usalfa=Ua;
        Usbeta=(2*Ub+Ua)*0.57735026918963; //3^(-1/3)=0.57735026918963
       
        sector=0;  
        if(Usbeta>0)
            sector+=1;
       
        if(-Usbeta+1.732*Usalfa>0)
            sector+=2;
       
        if(Usbeta+1.732*Usalfa<0)
            sector+=4;
 
        X=1.732*Usbeta*PWM_MAX_COUNT;
        Y=(1.732*Usbeta+3*Usalfa)*PWM_MAX_COUNT/2;
        Z=(1.732*Usbeta-3*Usalfa)*PWM_MAX_COUNT/2;
        switch(sector){
            case 1:t1=Z;t2=Y;break;
            case 2:t1=Y;t2=-X;break;
            case 3:t1=-Z;t2=X;break;
            case 4:t1=-X;t2=Z;break;
            case 5:t1=X;t2=-Y;break;
            case 6:t1=-Y;t2=-Z;break;
        }
       
        t1=t1*Umax/Vdc;
        t2=t2*Umax/Vdc;
       
        if(t1+t2>PWM_MAX_COUNT){
            t1=PWM_MAX_COUNT*t1/(t1+t2);
            t2=PWM_MAX_COUNT*t2/(t1+t2);
        }
       
        ta=(PWM_MAX_COUNT-t1-t2)/2;
        tb=ta+t1;
        tc=tb+t2;
       
        switch(sector){
            case 1:*u=tb;*v=ta;*w=tc;break;
            case 2:*u=ta;*v=tc;*w=tb;break;
            case 3:*u=ta;*v=tb;*w=tc;break;
            case 4:*u=tc;*v=tb;*w=ta;break;
            case 5:*u=tc;*v=ta;*w=tb;break;
            case 6:*u=tb;*v=tc;*w=ta;break;
        }
}

int main (){
    double angle=0;
    double u,v,w;
    while(angle<4*M_PI){
        svpwm(310,550,angle,&u,&v,&w);
        printf("%d,%d,%d\n",(int)u,(int)v,(int)w);   
        angle+=2*M_PI*0.01;
    }
    system("Pause");
}
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 欧美大片久久久 | 国产午夜精品一区二区三区嫩草 | 久久成 | 亚洲精品白浆高清久久久久久 | 日日天天| 国产有码 | 欧美一级免费观看 | 国产精品久久久久久模特 | av一级毛片 | 精品国产乱码久久久久久牛牛 | 视频一区二区三区中文字幕 | 免费一级淫片aaa片毛片a级 | 日韩三区 | 一级黄色毛片a | 久久av一区二区三区 | 99热播精品 | 成人在线精品视频 | 久久久久国产精品www | 热re99久久精品国99热观看 | 九九视频在线观看视频6 | 国产福利在线免费观看 | 国产原创视频 | 日韩欧美在线观看一区 | 久久成人精品视频 | 久久精品手机视频 | 欧美一区成人 | 午夜精品| 最新超碰| 97av视频在线 | 国产日韩一区二区三免费高清 | 成人免费视频网站在线观看 | 免费的av | 日本欧美在线观看视频 | 一区二区三区在线 | 精品一区二区三区在线观看 | 亚洲日本一区二区 | 一区亚洲 | 白浆在线 | 四虎永久在线精品免费一区二 | 国产一二区免费视频 | 不卡一二区 |