做三相spwm的高手请进
......
全部回复(18)
正序查看
倒序查看
现在还没有回复呢,说说你的想法
@sinba
我是做变频器开发的,你要的这些比较容易实现。我有现成方案。用单片机(瑞萨)做。也有用DSP(F2808)做的。
你好,我刚开始搞三相逆变器。向您请教一个问题。
1.我用dsPIC30F6010单片机内部硬件PWM采用对称增减的模式产生的SPWM波形
但是现在遇到一个问题:
要求SPWM的推开关管的频率要到15K赫兹,
我的单片机外部用的8M晶振,倍频之后的指令周期最多32M赫兹(计数器频率),然后软件用的是规则采样法,按照算法公式计算出来的周期寄存器的值差不多为2961,采样点我用N=108(载波比),调制波频率要求为50HZ,这样通过公式计算出来的调制波的频率只有32M/2961,差不多只有5.6K赫兹。调制波(管子开关频率)达不到15K赫兹。这个频率不知道怎么提高,是不是只能提高单片机的工作频率啊,但这个单片机已经用到最快乐。请大侠指点下?谢谢
0
回复
提示
@zwsyau
你好,我刚开始搞三相逆变器。向您请教一个问题。1.我用dsPIC30F6010单片机内部硬件PWM采用对称增减的模式产生的SPWM波形但是现在遇到一个问题: 要求SPWM的推开关管的频率要到15K赫兹, 我的单片机外部用的8M晶振,倍频之后的指令周期最多32M赫兹(计数器频率),然后软件用的是规则采样法,按照算法公式计算出来的周期寄存器的值差不多为2961,采样点我用N=108(载波比),调制波频率要求为50HZ,这样通过公式计算出来的调制波的频率只有32M/2961,差不多只有5.6K赫兹。调制波(管子开关频率)达不到15K赫兹。这个频率不知道怎么提高,是不是只能提高单片机的工作频率啊,但这个单片机已经用到最快乐。请大侠指点下?谢谢
注: 对称规则采用法 CMPTR1=(ft/(4N*fr))*(1-aSin(wtd)) (占空比寄存器) wtd=(k+0.75)*2*3.1415/N N:载波比 N= ft/fr ,ft载波频率(三角波), fr调制波频率(正弦波) ft:定时器时针频率 a:调制比(正弦波幅值/三角波幅值) |
测试值如下: a=0.9 |
ft=32000000(定时器计数频率) |
fr=50 |
N=108 |
(周期寄存器)=ft/(2N*fr)=2964 |
占空比寄存器=(ft/4Nfr)*(1+aSin(wtd)) |
开关频率=32000000/2964=5.6K |
0
回复
提示
@zwsyau
注: 对称规则采用法 CMPTR1=(ft/(4N*fr))*(1-aSin(wtd)) (占空比寄存器) wtd=(k+0.75)*2*3.1415/N N:载波比N=ft/fr,ft载波频率(三角波),fr调制波频率(正弦波) ft:定时器时针频率 a:调制比(正弦波幅值/三角波幅值)测试值如下:a=0.9ft=32000000(定时器计数频率)fr=50N=108(周期寄存器)=ft/(2N*fr)=2964占空比寄存器=(ft/4Nfr)*(1+aSin(wtd))开关频率=32000000/2964=5.6K
能把你的最终代码发给我一份吗?邮箱:1043067675@qq.com
0
回复
提示