sdtean 发表于 2016-7-15 15:55:32

打算做一个51单片机驱动IGBT产生0.5到50HZ可调正弦波的程序

打算做一个51单片机驱动IGBT产生0.5到50HZ可调正弦波的程序,SPWM波形怎样生成呢?现在没头绪,有经验的兄弟指点下。

lcw_swust 发表于 2016-7-15 16:21:47

正弦波做个表,定时查表输出到PWM...

sdtean 发表于 2016-7-16 09:48:55

lcw_swust 发表于 2016-7-15 16:21
正弦波做个表,定时查表输出到PWM...

查表得出正选值之后,如何对应PWM呢,脉宽和占空比怎么得出??

dadian 发表于 2016-7-16 10:50:22

是要做变频器吗?

lcw_swust 发表于 2016-7-16 12:56:25

sdtean 发表于 2016-7-16 09:48
查表得出正选值之后,如何对应PWM呢,脉宽和占空比怎么得出??

你的单片机型号是啥?

foxpro2005 发表于 2016-7-16 15:11:12

本帖最后由 foxpro2005 于 2016-7-16 15:16 编辑

1) 使用两个定时器, 一个专门用来产生PWM, 另一个用来做频率控制(正如: lcw_swust所说定时中断查SPWM表 来更新 PWM输出)
2) 要注意死区处理(硬件或软件上)
3) IGBT后再接个LC滤波

wkman 发表于 2016-7-16 16:21:22

{:titter:} 选带 SPWM模块的mcu,更省事

fuze2009 发表于 2016-7-24 06:21:40

死区处理非常重要!

dadian 发表于 2016-7-24 11:46:03

foxpro2005 发表于 2016-7-16 15:11
1) 使用两个定时器, 一个专门用来产生PWM, 另一个用来做频率控制(正如: lcw_swust所说定时中断查SPW ...

0.5hz到50hz频率变化,那得需要多少个spwm的表?

vermon 发表于 2016-7-24 12:08:14

查快点和慢点的区别

foxpro2005 发表于 2016-7-24 13:47:17

dadian 发表于 2016-7-24 11:46
0.5hz到50hz频率变化,那得需要多少个spwm的表?

就一个表啊, 也就是查表时间的快慢变化, 取点时尽量多一些, 以确保低频率时不会失真(及谐波过重)

dadian 发表于 2016-7-24 17:13:58

foxpro2005 发表于 2016-7-24 13:47
就一个表啊, 也就是查表时间的快慢变化, 取点时尽量多一些, 以确保低频率时不会失真(及谐波过重)
...

你意思是每个频率曲的点数不一样呗

foxpro2005 发表于 2016-7-24 19:27:57

dadian 发表于 2016-7-24 17:13
你意思是每个频率曲的点数不一样呗

不是的,就用一个SPWM表,只是把它的点取多一些

warrenyan7251 发表于 2016-7-27 08:44:02

需要看下源码,

lyl520719 发表于 2016-7-29 20:02:24

速度是个问题。
页: [1]
查看完整版本: 打算做一个51单片机驱动IGBT产生0.5到50HZ可调正弦波的程序