多功能PWM信号发生器设计090116

多功能PWM信号发生器设计

2008-11-12

摘要:论述了由MSP430F169单片机系统和PWM信号发生电路构成的多功能PWM信号发生器设计。实现了PWM信号频率可调、基波频率和基波波形可程序设置等功能并可产生三相SPWM信号。可用作DC_DC开关电源、AC_AC电子调压器、DC_AC逆变电源等的PWM信号发生器。本设计优点是通用性强、造价低廉、各信号波形变换点可示波器观测,尤其适用于电力电子课程教学、实验演示。

关键词:PWM;MSP430F169;信号发生器;三相SPWM

0 引言

PWM信号作为全控型电力电子器件的控制信号广泛应用于电力变流技术中。DC-DC开关电源、AC-AC电子调压器要求PWM信号随控制信号改变占空比;DC-AC逆变电源要求PWM信号占空比按正弦基波变化规律改变。综合上述要求,本设计采用MSP430F169单片机为核心与PWM信号发生电路相结合构成多功能PWM信号发生器,其结构框图如图1所示。单片机数模转换模块输出端DAC1输出直流电压可控制PWM占空比;DAC0输出交变电压可产生SPWM信号,且基波频率和波形受单片机控制。

图1多功能PWM信号发生器结构框图

1系统硬件设计

1.1 MSP430F169简介

MSP430F169是TI公司MSP430F系列单片机中功能较强的芯片。具有60K程序存储区、2K的数据存储区和多种外围模块。MSP430F169单片机为64引脚封装,48个数字I/O,其中大部分引脚有复用功能。MSP430F169单片机具有片内DAC(数模转换)模块,可以将数字量转换为模拟量。MSP430F169的DAC模块是12位电压输出的数模转换模块(DAC12)。若选用内部2.5V参考电压源,当输入DAC12的数字量从0x0到0xFFF变化时,对应的输出电压量也就从0到2.5V变化。本设计中使用DAC1通道控制PWM占空比,DAC0通道产生交变基波,所用到的引脚名称及功能如表1所示。在使用高速时钟和端口时,要根据需要将其初始化。

表1

引脚名称序号I/O 说明

P6.6/A6/DAC0 5 I/O 通用数字I/O引脚,A6输入、DAC0输出

P6.7/A7/DAC1 6 I/O 通用数字I/O引脚,A7输入、DAC1输出

XIN 8 I 晶振XT1的输入端口

XOUT 9 I/O 晶振XT1的输出端口

XT2OUT 52 O 晶振XT2的输出

XT2IN 53 I 晶振XT2的输入

1.2 MSP430F169单片机小系统电路

MSP430F169单片机小系统电路由169芯片、复位电路、低速时钟电路(32768Hz)、高速时钟电路(8MHz)等元件构成,是发出数模转换信号的最基本电路,如图2所示。

图2

1.3 PWM信号发生器电路

PWM信号发生器电路如图3所示。U1构成电压跟随器,拨动开关S_1接于1端,输出PWM信号占空比由滑动变阻器Rp_1手动控制;接于2端,占空比由单片机输出电压Vo_DC控制;接于3端,占空比由单片机输出电压Vo_sin控制,产生SPWM信号。以上各信号可在Vo1点观测。U2构成电压跟随器,U3、U4构成压控振荡器,改变Rp_2分压值可控制Vo2输出锯齿波频率;改变Rp_3分压值可控制Vo2输出锯齿波直流偏移量。压控振荡器输出波形可在V o2点观测。U5高速比较器产生PWM信号,当多路开关S_2接于1端时,PWM信号直接输出;当多路开关S_2接于2端时,Vo_4输出的是PWM信号经滤波后的信号。在进行DC_AC逆变时,由于SPWM波占空比始终处于变化状态观测困难,用示波器观测Vo_4波形不但可观测到DC-AC逆变波形效果,而且可观测到锯齿波频率、偏移量对逆变输出波形的影响。

图3多功能PWM 信号发生器电路

2系统软件设计

2.1正弦基波数据计算方法

单片机DAC 模块输出电压范围0—2.5V (峰—峰值),对应输入数字量范围0—0FFFH ;中心偏移量1.25V (对应数字量800H );最大值1.25V (数字量800H )。若将一个正弦周期分为36个时段,各时段对应的DAC 输入数值计算公式如下:

正弦波正半周:

20481010??+=))N sin((Din

正弦波负半周:

20481010??-=))N sin((Din

其中N 为各时段序号,Din 为DAC 模块输入数值。逐段求出后基波数据后,转换成十六进制数用常量数组存入单片机。

定时中断时间常数计算公式:

2

1N N F

TB _Buf ?=

其中:Buf_TB 是MSP430F169单片机定时器B 定时中断时间常数;F (8MHz )是单片机定时器B 所选时钟频率;N1是一个基波周期所分时段数;N2是基波频率。

2.2产生正弦基波程序设计

基波发生器程序应包括数据和变量定义、初始化、主循环和中断服务程序。采用MSP430系列单片机专用C语言C430编写,产生50Hz正弦波基波的部分程序如下所示。

1)数据和变量定义程序:

const long int NUM_SIN0[36]={ //正弦波数据表

0x800,0x963,0xabc,0xc00,0xd24,0xe20, //0_50度

0xeed,0xf84,0xfe0,0xfff,0xfe0,0xf84, //60_110度

0xeed,0xe20,0xd24,0xc00,0xabc,0x963, //120_170度

0x800,0x69c,0x543,0x400,0x2db,0x1df, //180_230度

0x112,0x07b,0x01f,0x000,0x01f,0x07b, //240_290度

0x112,0x1df,0x2db,0x400,0x543,0x69c}; //300_350度const unsigned short int N1=36; // 一个周期分组数

const unsigned short int N2=50; //频率数

const unsigned long int F=8000000; //高速时钟频率

short int Buf_TB,N_sin; //PWM定时周期、一个基波周期所分时段数

unsigned int cont; //计时变量

2)设置TimerB工作模式:

void init_TB(void)

{

Buf_TB=(int)(F/(N1*N2));

TBCCR0 = Buf_TB;

TBCTL = TBSSEL_2 + TBCLR+ SHR_0 ;

TBCCTL0 = CCIE; // 中断使能CCR0

TBCTL |= MC0; // 设置递增模式

}

3)Timer B中断服务程序:

interrupt[TIMERB0_VECTOR] void Timer_B (void)

{

DAC12_0DAT = NUM_SIN0[N_sin]; // 输出数组数据

N_sin=N_sin+1; //调整数组指针

if(N_sin==36)

{

N_sin = 0;

}

_NOP();

3实验数据

上述电路及程序经实验验证,部分数据和波形如下所示:

1)单片机发出正弦基波时V o1点观测到数据和波形如图4所示,V o4点观测到数据和波形如图5所示。

图4 V o1点正弦基波图5 V o4点逆变正弦波

2)单片机发出变形正弦波时V o1点观测到数据和波形如图6所示,V o4点观测到数据和波形如图7所示。

图5 V o1点变形正弦波图5 V o4点逆变变形正弦波

4 三相SPWM信号的产生方法

由于MSP430F169带有两路DAC输出,分别控制输入到DAC0和DAC1的正弦数据在所存数组中相差12个单元(基波周期分为36时段),即可保证DAC0和DAC1输出正弦波相位相差120°。设DAC0和DAC1对应三相正弦交流电的u A和u B相电压,相电压u C则为u C=-(u A+ u B)。因此,使用反相加法电路将DAC0和DAC1输出合成为u C相电压。u A、u B和u C经比较电路由锯齿波调制,即生成了三相SPWM信号。

5结论

本文所述多功能PWM信号发生器经实验验证,锯齿波频率可在1KHz-30KHz范围调整;输出PWM波占空比可连续调整;当一个基波周期所分时段数为36、基波频率为20Hz -500Hz 时,在Vo_4点可观测到相应逆变波形,无明显失真。本设计优点是PWM发生器通用性强、造价低廉、各波形变换点可示波器观测,尤其适用于电力电子课程教学、实验演示。

参考文献

[1] 李龙文.开关电源技术的最新进展[J].电源技术应用,2006.(08).

[2] 姜碧光,刘正辉.开关电源的设计方法[J].科技经济市场,2007.(05).

[3] 谢忠华.开关电源设计中应注意的问题[J].武汉科技学院学报,2005.(09).

[4] 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版

社,2002

相关文档
最新文档