用正弦表怎么生成SPWM?

2019-07-15 15:36发布

小弟最近想做spwm  原理懂得 等面积原则那个 在网上搜了正弦表生成器 不知道怎么转换成 开关时间啊(怎么利用那个写程序)?望大侠指点下  谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
zhangchaoyang
1楼-- · 2019-07-15 17:56
用Time_A或者Time_B
小粮zz
2楼-- · 2019-07-15 23:40
 精彩回答 2  元偷偷看……
1006050515
3楼-- · 2019-07-16 01:51
童鞋,你问对人了。
正弦表的生成有两种办法
1.利用matlab:程序如下:
fs=195;               %设定采样频率
N=195;                %采样点数为195
n=0:N-1;
t=n/fs;
f1=1;                %这个f1可以不要
x=round(1875*(1+(0.8*sin(2*pi*f1*t))));    %生成正弦信号,并取整
plot(t,x)
x就是比较寄存器的值,总共195个,下溢中断赋值就行了
2.方法二是在dsp中产生正弦表,计算占空比,计算比较寄存器的值
核心程序如下:
while (n<=195)  
  {
   
    q=n*2*PI;      
    q/=195;
    j=sin(q);     
    l=1875*(1+M*j);//M为调制比     //计算占空比表达式
   
   if(l>=375&l<=3375)
     sin_table[n]=l;  
    else
        {
        if(l>3375)
         sin_table[n]=3375;
        else
         sin_table[n]=375;
        }  
   n=n+1;
  }

具体吧!这些程序都是我编的,我就是这么做的。两种都可以。
fx-sg
4楼-- · 2019-07-16 07:30
1006050515 发表于 2014-4-1 11:47
童鞋,你问对人了。
正弦表的生成有两种办法
1.利用matlab:程序如下:

您好!我现在要生成spwm波,但是不知道占空比怎么计算?载波pWM的频率是40KHZ,调制信号正弦波的频率是2KHZ,pWM的幅度是从0-3.3V。不知道有没有相关的计算公式?
也许想你
5楼-- · 2019-07-16 11:34
跪求解释
PandaChing
6楼-- · 2019-07-16 15:58
按正弦表来刷TACCRx的值。占空比100%就是1,50%就是0,0%就是-1,按照正弦表的值计算占空比,再计算TACCRx的值

一周热门 更多>