• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

单片机产生SPWM波

之前楼主要STM32MINI版单片机产生SPWM波,很天真的用比较寄存器值得自加、自减来获得占空比的变化(之前没有接触过SPWM波)。之后楼主搭建了全桥逆变电路,用LC滤波器进行滤波,出来的波形无法直视!之后查了资料,想重新做SPWM波的输出。这是楼主的思路。把正弦表的值依次赋给比较寄存器,输出不同占空比PWM波。

现在楼主遇到的问题如下:

1、正弦表中各值的选择跟哪些因素有关(如果计数器的值ARR=700)?选择多少个数最为合适?

全部回复(5)
正序查看
倒序查看
2013-06-13 10:57
单片机的问题,偶是无能为力了,帮顶个,让有能力的看到。。。。
0
回复
2013-07-12 11:35
@qinzutaim
单片机的问题,偶是无能为力了,帮顶个,让有能力的看到。。。。
我这边是基于DSP的,用三角波和正弦波调制的。根据我推的式子,正弦表的值与载波比、计数频率、调制波频率有关。
0
回复
2013-07-24 22:49
@yzh_hao123
我这边是基于DSP的,用三角波和正弦波调制的。根据我推的式子,正弦表的值与载波比、计数频率、调制波频率有关。
STM32我早就很想学了,可惜一直没有时间,还没有入门,不过我可以回答你的这个问题,个数和你的载波和频率有关,  还有一个问题不太明白?你总说楼主这样楼主那样?请问楼主不是你吗
0
回复
2013-07-26 09:27

一般用来产生spwm都是尽量拉到最高主频stm32f103系列最高时72兆,之后根据开关管和滤波电路选择开关频率,两者相除就是你的更新周期,比如你用20k的时候就是3600,stm的定时器可以产生中心对其的pwm,这时的arr就减半了

你的开关频率除以输出的基频就是每周期的spwm点数,开关频率20k,工频50hz,就是400个点,规则方式直接用正弦公式就能算出来各个点的幅值了

 

0
回复
846303467
LV.2
6
2013-07-27 08:49
@wangshujun
一般用来产生spwm都是尽量拉到最高主频stm32f103系列最高时72兆,之后根据开关管和滤波电路选择开关频率,两者相除就是你的更新周期,比如你用20k的时候就是3600,stm的定时器可以产生中心对其的pwm,这时的arr就减半了你的开关频率除以输出的基频就是每周期的spwm点数,开关频率20k,工频50hz,就是400个点,规则方式直接用正弦公式就能算出来各个点的幅值了 
用定时中断或铺获中断都可以嘛?
0
回复