基于单片机的可调直流稳压电源设计Word下载.docx
《基于单片机的可调直流稳压电源设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的可调直流稳压电源设计Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
4.2.1DAC0832工作原理·
4.2.2DAC0832及其外围电路·
11
4.2.3D/A转换的计算·
12
4.3LED数码管显示模块·
14
4.3.1数码管结构·
4.3.2数码管工作原理·
4.3.3数码管连接电路图·
15
4.4直流电源·
4.4.1整流滤波、初步稳压·
5.电源硬件电路仿真图·
16
6.电源硬件电路原理图·
17
7.硬件电路PCB图·
8.硬件电路实物图·
19
设计心得
参考文献
附录
1引言
随着电力电子技术的迅速发展,直流电源应用非常广泛,其好坏直接影响着电气设备或控制系统的工作性能。
直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。
传统的多功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。
而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。
2设计任务及要求
2.1设计目的
1.学习基本理论在实践中综合运用的初步经验,掌握模拟电路结合单片机设计电路的基本方法、设计步骤,培养综合设计与调试能力。
2.学会直流稳压电源的设计方法和性能指标测试方法,巩固单片机的学习应用。
3.培养实践技能,提高分析和解决实际问题的能力。
2.2设计内容
设计数显式直流稳压电压源,要求完成以下主要技术指标:
1.当输入交流电压为220v时,输出电压连续可调;
2.使用按键调节电压,调整范围在0~12V内可调,调整幅度为0.1V;
初试电压置为5.0V
3.显示设定电压和测量电压,显示精度为0.1V,显示方式数码管显示。
2.3设计步骤
1.查阅有关资料,完成总体设计框图
2.完成设计框图各个部分的详细设计,并选择合适参数的电子元器件完成各部分电路,绘制电路原理图。
统计所有元器件的参数和数量,购买元器件。
3.将元器件依照电路原理图焊接至电路板上,完成电源的实物制作。
4.调试电路,根据需要调节元件参数,必要时,替换个别元件。
5.完成设计报告。
3电源设计方案论证
3.1设计方案分析
分析本题,根据设计要求先确定了本系统的整体设计原理框图如图1:
调整电路
显示电路
取样电路
比较电路
电源电路
STC89C51
单
片
机
DAC
按键控制
图1系统框图
3.2D/A数字模拟转换模块
方案一:
采用MX7541是高速高精度12位数字/模拟转换器芯片,功耗低,而且其线性失真可低达0.012%,特别适合于精密模拟数据的获得和控制。
方案二:
采用DAC0832,DAC0832是一种常用的8位的数字/模拟转换芯片。
本系统是基于51单片机的数控电源的设计,8位的单片机,而MX7541是12位数字输入的,因此须用锁存器。
而此数控电源要求单步0.1V,0~12V,DAC0832完全可以达到,故选择常用的DAC0832。
3.3稳压模块
稳压部分是系统的实现核心,DAC模块输出的模拟信号决定最终的输出电压,电路如图2所示。
图2稳压电路
稳压电路中电阻R1和R3组成取样电路,对输出电压进行取样,运放TLC082构成比较电路,对采样电压与数模转换输出的电压进行比较以控制调整电路,三极管Q1和Q2构成调整电路,调整电路通过改变三极管Q2的管压降来调整输出电压。
3.4按键控制模块
采用矩阵键盘,由于按键多可实现电压值的直接键入。
采用一般的电平判键按钮,实现方法很简单,但一个端口最多只实现8个按键。
由于本数控电源需要用的按键不多,要实现步进为1V的设计要求,只需用一个“+”和一个“-”按键。
2个按键就可实现本题的设计要求,固采用方案二。
3.5显示模块
选用数码管显示,用普通的数码管显示简单的数字、符号、字母。
选用液晶显示,显示的内容更加的丰富。
此系统显示的只是最终电源输出的10位和个位电压值,只需显示出两个数字,数码管更加的实惠,故我选择了方案一。
3.6电源模块
220V交流电经过降压、整流,然后使用LM7805、LM7815、LM7915芯片进行稳压,分别为系统提供+5V、+15V、-15V工作电压,使单片机芯片、显示模块、稳压模块、DAC模块等正常工作。
4电源系统硬件介绍
4.1单片机模块
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
4.1.1单片机介绍
CPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作,CPU由运算器和控制器两部分电路组成。
a.运算器电路
运算器电路包括ALU(算术逻辑单元)、ACC(累加器)、B寄存器、状态寄存器、暂存器1和暂存器2等部件,运算器的功能是进行算术运算和逻辑运算。
b.控制器电路
控制器电路包括程序计数器PC、PC加1寄存器、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以及定时与控制电路等。
控制电路完成指挥控制工作,协调单片机各部分正常工作。
c.定时器/计数器
MCS-52单片机片内有两个16位的定时/计数器,即定时器0和定时器1。
它们可以用于定时控制、延时以及对外部事件的计数和检测等。
d.存储器
MCS-52系列单片机的存储器包括数据存储器和程序存储器,其主要特点是程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。
e.并行I/O口
MCS-52单片机共有4个8位的I/O口(P0、P1、P2和P3),每一条I/O线都能独立地用作输入或输出。
P0口为三态双向口,能带8个TTL门电路,P1、P2和P3口为准双向口,负载能力为4个TTL门电路。
f.串行I/O口
MCS-521单片机具有一个采用通用异步工作方式的全双工串行通信接口,可以同时发送和接收数据。
g.中断控制系统
8051共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。
h.时钟电路
MCS-52芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。
时钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz~12MHz,典型取值为6MHz。
i.总线
以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。
系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。
选用单片机的结构:
1一个8位算术逻辑单元
232个I/O口4组8位端口可单独寻址
3两个16位定时计数器
4全双工串行通信
56个中断源两个中断优先级
6128字节内置RAM
7独立的64K字节可寻址数据和代码区
每个8051处理周期包括12个振荡周期每12个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz除以12后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms。
STC89C52的管脚图如图3:
:
图3STC89C52管脚图
4.1.2单片机外围电路介绍
电源引脚Vcc和Vss
Vcc:
电源端,接+5V。
Vss:
接地端。
时钟电路引脚XTAL1和XTAL2
XTAL1:
接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
XTAL2:
接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
地址锁存允许ALE
系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
P0口与数码管相连,P1口的P1.0~P1.3作为位选端。
P1口的P1.6,P1.7和键盘相连,作为整个系统的输入部分。
和P1.6,P1.7相接的分别是“+”,“-”号键。
P2口和DAC0832的输入相接,作为D/A模块的输入。
4.2D/A模块
4.2.1DAC0832工作原理
直流稳压电源的数模转换采用通用芯片DAC0832。
DAC0832的原理框图如图4所示。
DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。
8位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;
8位DAC寄存器用于存放待转换的数字量,由加以控制;
8位D/A转换器输出与数字量成正比的模拟电流;
由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。
4DAC0832原理框图
Vcc芯片电源电压,+5V~+15V
VREF参考电压,-10V~+10V
RFB反馈电阻引出端,此端可接运算放大器输出端
AGND模拟信号地
DGND数字信号地
DI7~DI0数字量输入信号其中:
DI0为最低位,DI7为最高位。
当WR2和XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是输入寄存器Q端的电平变化;
反之,当端为低电平“0”时,第一级8位输入寄存器Q端的状态则锁存到第二级8位DAC寄存器中,以便第三级8位DAC转换器进行D/A转换。
一般情况下为了简化接口电路,使第二级8位DAC寄存器的输入端到输出端直通,只有第一级8位输入寄存器置成可选通、可锁存的单缓冲输入方式。
特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式。
DAC单极性输出方式如图5所示。
图5DAC单极性输出电路
4.2.2DAC0832及其外围电路
本系统是基于单片机的数控电源的设计,而MX7541是12位数字输入的,因此须用锁存器。
而此数控电源要求单步1V,2~15.0V只需区分14个点,DAC0832完全可以达到,故选择常用的DAC0832。
当其与单片机进行相连时,电路也简单,只需把单片机的数据线与DAC0832的输入端直接相连即可,程序也很简单,只需向其送数据即可。
DAC0832的管脚图如图6所示:
图6DAC0832管脚图
其各个引脚的连接及外围图:
图7D/A模块电路
4.2.3D/A转换的计算
D/A转换器(DAC)输入的是数字量,经转换输出的是模拟量。
DAC的技术指标很多,如:
分辨率、满刻度误差、线性度、绝对精度、相对精度、建立时间、输入/输出特性等。
分辨率:
DAC的分辨率反映了它的输出模拟电压的最小变化量。
其定义为输出满刻度电压与
的比值,其中n为DAC的位数。
如:
8位DAC的满刻度输出电压为5V,则其分辨率为
;
10位DAC的分辨率为
。
可见,DAC的位数越高,分辨率越小。
建立时间:
是描述DAC转换速度快慢的参数。
其定义为从输入数字量变化到输出达到终值误差
LSB(最低有效位)所需的时间。
高速DAC的建立时间可达1us。
接口形式:
在DAC输入/输出特性之一。
包括输入数字量的形式,十六进制式BCD,输入是否带有锁存器等。
DAC0832为8位D/A转换器。
单电源供电,范围为+5V~+15V,基准电压范围为
电流的建立时间为1us。
CMOS工艺功耗20mw。
输入设有两级缓冲锁存器。
电压的计算方式:
该数模转换电路采用的是DAC0832单极性输出方式,输出Vo=-B*Vref/256,其中B的值为D0~D7组成的8位二进制,取值范围为0~255,Vref是参考电压,该电压有电阻R2、R10和可变电阻RV1分压所得,通过调节可变电阻可以改变参考电压Vref。
数字量取0~256,B取16,Vref取-8V,即数字量每步进16,模拟量0.03125V,要达到步进0.1V,必须放大2倍,用运放即可。
运算放大器的原理如下图:
图8运算放大电路
输出的电压V,再从Vi输入,经过电容滤波再输入,
,
输出的Vo值的大小为输入Vi的
倍,只需调节可调电阻R3的阻值达到所需的电压放大倍数即可,输出的电压Vo通过电压跟随,再用于控制LC082的输出。
4.3LED数码管显示模块
4.3.1数码管结构
输出电压采用7段数码管进行显示。
数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字09、字符AF、H、L、P、R、U、Y、符号“”及小数点“”。
共阳数码管的外型结构如图9所示。
图9外型结构
4.3.2数码管工作原理
共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及段导通电流来确定相应的限流电阻。
4.3.3数码管连接电路图
图10数码管连接电路图
4.4直流电源
4.4.1整流滤波、初步稳压
整流就是把交流电变成脉动的直流电的过程,整流的基本器件是二极管,利用二极管的单向导电性即可把交流电转换成脉动的直流电,桥式整流电路如图11所示。
图11整流滤波电路
滤波是为了降低输出电压的脉动成分,得到较为平滑的直流电源,常有的滤波电路有电容滤波、RC(LC)∏型滤波等滤波形式。
电容是一个能储存电荷的元件。
有了电荷,两极板之间就有电压UC=Q/C。
在电容量不变时,要改变两端电压就必须改变两端电荷,而电荷改变的速度,取决于充放电时间常数。
时间常数越大,电荷改变得越慢,则电压变化也越慢,即交流分量越小,也就“滤除”了交流分量,经过滤波后,输出电压的纹波减小,直流成分得到提高。
固定三端稳压器稳压电路如图12所示,在输入与公共端之间、输出端与公共端之间分别接了0.33uf、0.1uf的电容,可以防止自激振荡。
图12三端稳压电路
5电源硬件电路仿真图
采用Proteus仿真,电路图如下:
6电源硬件电路原理图
采用Protel2004绘制的原理图如下:
图13开关电源电路原理图
7.硬件电路PCB图
根据原理图来硬件电路的设计,最后生成的PCB板图如下:
图14开关电源电路PCB图
8.硬件电路实物图
本次设计共5周时间,分别进行了可调直流电源电路原理图的设计,电路仿真图的设计以及实物电路板的焊制几个过程。
经过这次的课程设计,我们不仅加深了对 Protel2004软件的应用和Proteus仿真软件的了解和使用,还学到了许多课本上没有涉及知识,练习了电路原理图的设计和仿真运行,同时对以前学习的单片机课程进行了一次全面的复习和巩固,收益很大。
第一阶段是对稳压开关电源电路原理图设计,刚开始感觉有一定的难度,主要是对Protel2004软件及功能的不了解。
整个设计的过程就是一个学习的过程。
因为在设计的过程中,我们必须熟悉电路原理及器件的使用特点,这些都是对课本知识复习和巩固。
这次设计让我对单片机有了进一步的了解,而且对Proteus仿真软件的有了一定了解。
体会到了Proteus仿真软件的强大。
这次设计能够很大程度上的把我们从课堂上以及外出实习所学的东西应用出来,是对自己能力的一个很好的证明。
从中我们发现自己的不足之处,比如,对单片机的端口选择,对整体效果的影响,对各个元件的功能以及封装没有进行很彻底的了解,导致线路存在问题等等。
通过本次设计,能够使我们熟练掌握单片机控制电路的设计、程序编写和整体焊接及系统调试,从而全面地提高我们对单片机的软件、硬件等方面的理解,进而增强我们在实践环节的动手操作能力。
譬如,我们可以根据实验指导书的要求,完成开关电源电路的硬件设计、电路器件的选择、单片机软件的运行、以及整体系统调试,并写出完善的设计报告。
在进行设计之时,也是对我们所学的数字电路、模拟电路、电路基础、微机原理、电力电子和单片机等相关课程的知识的一种复习与巩固,为以后的工作打好一定的基础。
[1] 乔恩明.开关电源工程设计快速入门.中国电力出版社.2010.4
[2]康华光.电子技术基础(模拟部分).高等教育出版社.2002
[3]倪晓军.单片机原理与接口技术教程..北京:
清华大学出版社,2009.4
[4] 李广弟,单片机基础.北京:
北京航空航天大学出版社.1994
[4]康华光.电子技术基础(数字部分).高等教育出版社.2002
[5]王兆安,刘进军.电力电子技术(第五版).北京:
机械工业出版社.2009.5
[6]周灵彬,张靖武.PROTEUS的单片机教学与应用仿真[J].单片机与嵌入式系统应用.2008年01期
基于单片机的直流可调电源的设计程
#include<
reg51.h>
#defineucharunsignedchar
//管脚定义
sbitjia=P1^6;
sbitjian=P1^7;
sbitLED1=P1^0;
sbitLED2=P1^1;
sbitLED3=P1^2;
sbitLED4=P1^3;
//函数声明
voiddelay(void);
//延时
voidkey(void);
//按键
voidadd01(void);
//步进加0.1
voiddec01(void);
//步进减0.1
voidshuchu(void);
//显示输出和电压调节
voidDA(void);
//模数转换
uchara[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
ucharbw=0,sw=0,gw=5,dw=0;
voidmain(void)//主程序
{
while
(1)
{
key();
shuchu();
DA();
}
}
voiddelay(void)//延时程序
{
unsignedchari,j;
for(i=10;
i>
0;
i--)
for(j=248;
j>
j--);
}
voidkey(void)//按键
{
uchark;
P1=0xff;
k=P1;
if(k==0xff)
return;
delay();
while(P1!
=0xff)
switch(k)
{
case0xbf:
add01();
break;
case0x7f:
d