课程设计
基于89C52单片机SPWM波形发生器
摘 要
本系统由89C52单片机控制模块、滤波和稳压模块组成。利用Matlab计算SPWM脉冲序列占空比,采用查表方式,控制双极性SPWM控制脉冲序列的输出。
关键字:单片机 Matlab 查表 SPWM
1设计目的和要求 1.1设计目的
设计并制作一套单相SPWM触发脉冲电路,掌握SPWM算法和硬件实现方法,理解驱动电路功能。
1.2任务要求
①采用双极调制算法,产生一个7脉冲SPWM触发脉冲,并用单片机数字化近似实现;
②完成拓展硬件电路,软件编程和调试; ③具有2ms死区设计; ④低次谐波较少;
2设计方案
本系统以89C52单片机为控制核心,由查表法通过定时器产生SPWM波,系统设计框图如下:
电源模块 单片机主控电spwm波 路模块 +5V 双极性pwm转换电路 输出
图1 设计框图
3 理论分析和计算
3.1查表产生SPWM波理论分析
SPWM采用频率数倍于正弦波的三角波调制正弦波,可得到近似于正弦波的输出。三角波的频率越高,即载波比越高,谐波的频率就越高,输出端滤波器就更容易去除谐波。
查表就是通过计算得到脉冲序列中每一个矩形脉冲周期内高低电平持续时间,c语言编程时用数组来表示,通过编写对应程序来查表进而控制输出端口高低电平时间及转换,从而产生SPWM波。
图2 SPWM原理图
3.2利用Matlab计算SPWM脉冲序列占空比
MATLAB是一个高级的数学分析与运算软件,