当前位置:文档之家› SPWM脉冲发生器-方波变正弦波

SPWM脉冲发生器-方波变正弦波

摘要本系统是一个SPWM脉冲发生器。

整个系统是以单片机AT89c51为核心,通过编程产生低频波信号,再通过LM358放大电路和滤波电路将波形信号进行处理,最后由示波器显示波形,而波形频率可以通过按键来改变,并且将波形的模式和修改的频率通过LCD12864显示,以便了解当前波形模式和所修改后的频率。

经试验测试,系统满足设计的基本要求,而且系统的电路结构简单,优越性强。

关键字:SPWM脉冲发生器单片机AT89c51波形信号LM358放大电路滤波电路AbstractThis system is a SPWM pulse generator. The whole system is chip-computer AT89c51, through the programming produce low-frequency waveform signal, again through the amplifier circuit LM358 and filter circuit will waveform signal processing, the last oscilloscope display, but by the frequency changes through the button to revise the present wave frequency, and between the mode and modification of the wave frequency through the LCD12864 shows, in order to understand the revised model and frequency waveforms. After the test, this system meet the design requirement, system structure is simple, the circuit strong superiority.Key word: SPWM pulse generator single-chip microcomputer AT89c51 waveform signal LM358 amplifier circuit filter circuit目录摘要 (1)一、系统设计 (1)1.1方案的比较与选择 (1)1.1.1芯片的选择 (1)1.1.2信号处理的选择 (1)1.1.3按键模块的选择 (1)1.1.4显示模块的选择 (1)1.1.5信号的放大和滤波电路的选择 (2)1.2系统框图 (2)二、单元硬件电路设计 (3)2.1控制电路部分 (3)2.1.1 时钟电路 (3)2.1.2 复位电路 (4)2.2 按键模块 (4)2.3显示模块 (4)2.4放大、滤波电路 (5)三、算法和软件设计 (5)3.1理论分析和计算 (6)3.2软件流程 (7)四、系统测试 (8)4.1频率测试 (8)4.2误差分析 (8)五、总结 (8)参考文献 (9)附录 (9)附录一 (9)附录二 (10)一、系统设计1.1方案的比较与选择1.1.1芯片的选择本系统采用的控制芯片是单片机A T89C51,A T89C51是一种4K字节FLASH存储器的低电压、高性能的CMOS8位微处理器,有优异的性价比,集成度高,控制功能强。

该芯片可以通过编程来产生稳定的脉冲信号,并且所需的外部电路比较简单,AT89C51编程、调试容易,实用简单。

所以我们选择单片机A T89C51作为本系统的控制芯片。

1.1.2信号处理的选择方案一:利用数模转换器DAC0832作为输出信号的转换,该芯片由8位输入锁存器、8位DAC寄存器、8位D/A转换器和转换控制电路组成。

DAC0832将由单片机输出的数字信号通过转换后,由示波器将波形显示。

方案二:由运放和滤波电路共同将输出信号进行处理。

滤波电路将单片机输出的波形信号在大于50HZ的其它波形全部过滤,最后只剩下所需的波形信号,再由运放电路将进行放大之后,,通过示波器显示。

DAC0832在硬件连接上比较麻烦,且需要的I/O口多。

运放和滤波电路简单、清晰,且所需的I/O口少,如有问题,便于检测,调整。

所以选择方案二。

1.1.3按键模块的选择方案一:用矩阵键盘作为波形频率的调节。

矩阵键盘主要是用于减少I/O口的使用,而且按键数量较多得时候使用简单,但比直接法的按键电路要复杂。

方案二:用四个独立的按键来调节波形频率,并不会使用多的I/O口,电路简单,相对于矩阵键盘也很简单。

基于以上我们选择方案二。

1.1.4显示模块的选择方案一:用LCD12864作为波形频率显示,通过液晶显示器可以同时显示出波形的频率和模式,而且用LCD12864显示也比较清楚,容易辨别。

方案二:用数码管作为波形频率显示,只能显示数字和少数的字母,用数码管只能显示出波形的频率,而波形的模式和其他的一些信息不能显示,输出的信息比较少。

数码管显示的范围比较狭窄,显示的信息少,且显示不清晰。

LCD12864虽然价格比较贵,但是LCD12864显示较清晰,容易辨别,人机界面好。

基于以上的特性,我们选择方案一。

1.1.5信号的放大和滤波电路的选择放大电路的芯片采用的是LM358,LM358是一个具有两个独立的、高增益、内部频率补偿的双运算放大器,并且是用于所有单电源供电的运算放大器电路。

滤波则是RC组成的低通滤波电路,这样可以过滤出大于频率50HZ的波形,保留正弦波波形,这样就不会被其他频率的波形所干扰,这样波形输出更加清晰。

1.2系统框图以单片机AT89c51为核心,产生正弦波信号,通过放大电路和滤波电路后,由示波器显示波形,按键修改波形的频率,通过LCD显示可查看频率修改的大小和范围。

如图a-1所示。

图a-1系统框图二、单元硬件电路设计2.1 控制电路部分控制电路部分主要是由单片机AT89c51作为主控芯片,加上时钟电路、复位电路完成对其他模块电路的连接和控制,单片机通过编程产生方波信号,输出给外围电路处理。

控制电路部分电路如图b-1图b-1控制电路部分电路2.1.1 时钟电路时钟电路由单片机内部的时钟电路和外部的时钟电路组成(图b-2),系统所需的时钟信号就由这两种电路形成。

外部时钟电路是由两个15pf的电容和11.0592的晶振组成,这样使单片机可以形成稳定的时钟脉冲。

图b-2 时钟电路和复位电路2.1.2复位电路复位电路是由复位引脚RES外接一个电阻和电容组成(图b-2)。

复位方式有按键复位和上电复位,我们所采用的是上电复位。

上电后,由于电容充电,使RES持续一段高电平时间。

当单片机已在运行之中时,复位还能使RES持续一段时间的高电平,从而实现上电复位的操作,之后便退出复位状态。

2.2 按键模块按键主要是由三个普通按键组成:K-MODE、K-UP、K-DN。

在按键功能中我们加了蜂鸣器提示音,当按键按下后蜂鸣器回鸣叫一声,说明此次按键有效。

通过K-MODE可以修改输出波形的模式:单极性,从而使得波形可以在这之间相互转换,K-UP和K-DN主要是用来加减波形频率的大小,频率的范围是20~50HZ,K-UP或K-DN每按下一次,波形频率加或减10HZ。

2.3 显示模块LCD12864(如图b-3LCD12864原理图)汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。

LCD12864工作为串行方式,这样大大减少使用单片机的I/O口,而在本系统中LCD主要显示出波形的频率和模式。

在外部调节波形频率的时候,LCD不断地刷新,显示出当前信息,以便可以正确的查询和修改波形的频率。

图b-3LCD12864原理图2.4放大、滤波电路在信号放大和滤波处理的选择中讨论采用LM358作为放大电路的芯片,通过改变R3=500K电位器阻值的大小,从而改变放大的倍数。

而低通滤波电路则是RC组成的,在输入端接一个R4=100K的电位器,从而可以通过调节电位器的大小而改变滤波频率的大小。

通过由单片机输出的方波信号,通过滤波电路将不在频率范围之内的波形滤掉之后然后在通过放大电路将信号幅值放大,,由示波器显示出正弦波波形。

图b-4所示为放大电路和滤波电路的原理图图b-4放大电路和滤波电路的原理图三、算法和软件设计3.1 理论分析和计算我们采用的是通过按键来调节波形的频率,通过按键加减频率,每按键一次,频率改变10HZ,它的范围在20~50HZ,步长为10HZ。

而输出波形的占空比则是由变量K决定。

SPWM 脉冲占空比:δ=0.8*sin ((2*K+1)*π/N),K=0,1….(N-2)/2其中SPWM波每秒脉冲数称为载波频率,记作f C。

载波频率f C与等效正弦波频率f R之比,称作为载波比,记作N,而题目中的载波比是恒定的,为N=20。

当K=0,1····4时,SPWM1/4波形的脉冲占空比δ依次是:0.1251476,0.3631924,0.5656854,0.7128052,0.7901507。

SPWM波形在频率为20HZ到50HZ时的各个周期Tc:0.0025, 0.001666667, 0.00125, 0.001。

晶振为11.0592。

脉冲的序列频率为:f C= f R*N,所以f C为:400HZ,600HZ,800HZ,1000HZ。

所形成的单极性波形输出如图c-1所示(其中U o是SPWM 波,U of 是等效的正弦波)。

图c-1 单极性SPWM波LM358放大电路(图c-3 LM358)中的放大倍数=(1+R2/R1)*;而R1恒定不变,所以当改变R2的电阻值得大小时,放大电路的倍数也随之相应的变化。

本系统中=(1+2/1)=3,所以放大倍数的倍数是三倍。

(其中是输入端3,图c-3 LM358是输出端1。

本次要求的频率范围在20~50HZ之间,系统滤波采用的是低通滤波电路,所以只需将大于50HZ的波形给滤掉就行,当fR=50HZ,电容C=10uF,则电阻的最小值R=1/ f R *C=2K。

3.2 软件流程系统中主要是由单片机编程产生波形,产生的波形信号通过I/O口P10、P11输出给放大电路和滤波电路,再由示波器显示。

该程序主要有LCD12864显示、波形信号产生和按键修改频率三大子程序构成整个系统的程序。

如图c-3所示。

图c-3 系统主流程图 图c-4按键模块流程图按键模块主要是通过三个按键控制。

K_MODE 是模式选择按键,通过它可以改变波形模式—单极性。

K_UP 和K_DN 两个按键是对波形频率大小的修改。

相关主题