基于单片机的数控稳压电源的设计与制作Word文档格式.docx
《基于单片机的数控稳压电源的设计与制作Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的数控稳压电源的设计与制作Word文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
第3章硬件设计5
3.1设计思路5
3.2AT89C51模块电路5
3.3显示模块电路:
6
3.4741运算放大器外围电路:
7
3.4.1电流电压转换部分:
3.4.2数模转换部分:
8
3.5AT89C51单片机主要特性及引脚功能介绍10
3.6七段数码管介绍12
3.7DAC0832介绍及应用13
3.8LM741简介16
3.9系统总电路原理图16
第4章系统软件设计18
4.1主控程序框图18
第5章系统调试与分析23
5.1硬件调试23
5.2软件调试23
5.3系统调试23
5.4测试结果24
第6章结束语26
致谢27
参考文献28
附录源代码29
元件清单32
实物图33
第1章引言
1.1背景
近年来,随着电力电子技术的不断发展,数控电源在以往使用线性电源的场合中也获得日益广泛的应用。
在一些工业场合(例如,在设备仪表检测中)需要提供电压源和电流源,而且要求调节范围广,纹波低。
如果采用多台功能单一电源设备,体积和重量都会增加很多,不经济,也不能满足工作的要求。
因此研究开发多功能、宽范围、可调节的数控电源很有意义。
在现实生活中,人们经常要用到电子器件,而电子电路要正常工作,电源的作用是不可忽视的,电源性能的好坏,对电路、电子仪器和电子设备的使用寿命、使用性能等影响很大,尤其在带有感性负载的电路和设备(如电机)中,对电源的性能要求更高。
电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。
电力电子技术是电能的最佳应用技术之一。
当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。
随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。
随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。
电源在使用时会造成很多不良后果,世界各国纷纷对电源产品提出了不同要求并制定了一系列的产品精度标准。
只有满足产品标准,才能够进入市场。
随着经济全球化的发展,满足国际标准的产品才能获得进出的通行证。
数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。
这些理论为其后来的发展提供了一个良好的基础。
在以后的一段时间里,数控电源技术有了长足的发展。
但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。
因此数控电源主要的发展方向,是针对上述缺点不断加以改善。
单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。
新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源。
从组成上,数控电源可分成器件、主电路与控制等三部分。
目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦。
1.2研究内容
直流稳流电源在工程技术和测量领域,有重要的实际运用。
目前,市面上出售的大都是稳压电源,而研究和生产稳流电源的则比较少,且已有的稳流电源价格十分昂贵。
因此,发展适用、经济、性能可靠的直流稳流电源,有较为广阔的市场前景和应用价值。
本设计给出了一种输出电流范围在200mA~2000mA之间,且输出与给定值偏差不大于给定的1%的直流稳压、直流稳流电源。
本次毕业设计主要是以单片机AT89C51为核心,结合DAC0832芯片的功能,实现对输出电压的数字控制。
为实现对输出电压的控制:
一方面,通过D/A输出实现电压的预置,再通过运算放大器控制晶体管的输出电压;
另一方面,再将输出的电压的采样值送入单片机,与预置值进行比较,将误差值通过D/A转换芯片添加到调整电路,从而进一步降低了输出电流的纹波。
经过测试,该数控稳压电源的实际输出与显示值之间的误差小于1%,达到设计要求。
数字电压源要求实现以下功能:
(1)用数码管直接显示读数、显示清晰直观。
(2)可通过按键实现调节电压大小,步进0.1V
(3)电压调整范围大,电压调整范围为2到20V
(4)稳定性好;
设计中的重点与难点
(1)调整的范围:
各个电子电路所要求的电压通常有所区别,因此,所设计的电压源要求可调整的范围尽量大;
(2)稳定性:
各电子电路对电压源的稳定要求很高,这也是本设计的关键和难点;
第2章总体设计
进入21世纪以来,开关电源正朝着智能化,数字化的方向发展.数控电源提供了智能化的适应性与灵活性,能满足复杂的电源要求。
传统的电源虽然能满足部分电路的电压要求,但在自动控制领域中经常需要一种输出可调的电压源,用来控制执行机构的动作,要求电压源的步进量很小(例如0.1V),而电压调节的范围很宽(如0~20.0V),这些传统的电源就无法做到了。
而数控电源是具有数字控制功能的开关电源,它能调节电压或电源的启动、关断,并且步进量可以做到很小,从而满足了自动控制领域的电压源的要求。
考虑到一般情况下用到的电压都在2V以上,所以本次设计的数控稳压源的电压输出范围值就设定在2~20V。
2.1方案比较与选择
采用传统的调整管,使用一套十进制计数器完成系统的控制功能,一方面完成电压的译码显示,另一方面使其输出作为EPROM的地址输入,而由EPROM的输出经D/A变换后去控制误差放大的基准电压,以控制输出步进。
此方案虽然也能实现数控稳压源的功能,但是这种方案的结构比较复杂。
另一种方案是以单片机作为整个电路的控制单元,通过改变输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接的改变输出电压的大小。
采用软件方法来解决数据的预置以及电流的步进控制,从而使得系统的硬件更加的简洁。
利用单片机为主控制器,通过按键来设置数输出电流,来设置步进的等级。
而实际电路中所需要的电压是模拟信号,所以要加上数模转换器来实现数模转换器,这样单片机程控输出数字信号,经过D/A转换器(DAC0832)后就可以实现输出模拟量,而此时DAC0832的模拟输出端输出的模拟电流我们要将它转化成电压,因此我们必须加一个器件来完成电流转换到电压,我选用了741运算放大器来实现电流转换成电压这一过程,通过741运算放大器转换的电压信号很小,因此要再加个运算发大器来实现对信号的放大功能,通过数据形式的反馈环节,使得电压更加稳定,构成数控稳压源。
通过以上两种方案的比较,我选取了第二种方案,使用单片机来实现。
原理电路示意图如下图2-1所示:
图2-1原理电路示意图
第3章硬件设计
3.1设计思路
系统硬件的设计思想是力求结构简单、工作可靠、适应教学要求、性能价格比高。
本次设计是以单片机来控制运行状态的数字电压源控制系统。
根据要求采用C语言编制程序,通过单片机控制数字电压源的运行。
本系统硬件设计由单片机(AT89c51)模块、DAC0832、LM741、四联七段共阴数码管模块等4个模块所组成。
本次设计采用单片机AT89C51作为整机的控制单元,通过改变输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接地改变输出电压的大小。
如果要使系统具备检测实际输出电压值的大小,可以经过ADC0809进行模数转换,间接用单片机实时对电压进行采样,然后进行数据处理及显示。
采用软件方法来解决数据的预置以及电流的步进控制,使系统硬件更加简洁,各类功能易于实现本系统以直流电源为核心,利用51系列单片机为主控制器,通过键盘来设置直流电源的输出电流,设置步进等级可达1V,并可由数码管显示出实际输出电压值和电压设定值。
利用单片机程控输出数字信号,经过D/A转换器(DA0832)输出模拟量,再经过运算放大器隔离放大,控制输出功率管的基极,随着功率管基极电流的变化而输出不同的电压。
3.2AT89C51模块电路
由于在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电压必须被拉高。
P0端口接上拉电阻后,再与DAC0832的数字输入信号口相连,P0.0与DI0相连、P0.1与DI1相连、P0.2与DI2相连、P0.3与DI3相连、P0.4与DI4相连、P0.5与DI5相连、P0.6与DI6相连、P0.7相连DI7。
加上上拉电阻从而使得输出电压为AT89C51的P0口的电压加上上拉电阻的压降,从而使得输出电压得到提高。
具体连接如下图2-1所示:
图3-1AT89C51P0口连线
如下图3-2所示:
图3-2数码管
以上的第0段到第6段也就是对应的的a到g。
AT89C51的P1.0口与数码管a端相连,P1.1与b端相连,P1.2与c端相连,P1.3与d端相连,P1.4与e端相连,P1.5与f端相连,P1.6与g端相连,以上的连接实现数码管的数行条的显示。
例如要显示数字2,也就是对应的a、b、g、e、d的发光二极管亮。
同理可以推出数字0、1、3、4、5、6、7、8、9的数字显示。
dp端是控制数码管的小数点位,s1、s2、s3是用来控制数码管的位的开关,分别与AT89C51的P2.0、P2.1、P2.2端口相连,通过对开关的控制实现数码管对位的选择,实现数码管的位的选择。
本次设计用到两个741运算放大器,分别用来电流转换电压和电压放大功能。
如下图2-2电路图所示:
图3-2741运算放大器电流转换电压部分电路
由上图3-2可知,放大器的输入端2端口和3端口分别接DAC0832的模拟电流输出端IOUT1和IOUT2,同时我们可以看到3端口接地,6端口与DAC0832的RFB端口相连,也就是电路中引入了负反馈,由运算放大器的虚断虚短原理可知,6端口的输出值为-IOUT1*RFB,也就实现了电流到电压的转换。
而由上面的得到的电压值往往很小,不符合本电路的电压数值的要求,此时我们必须再次引入一个741运算放大器用来实现电压的放大,从而得到我们所需要的电压。
如下图3-3所示:
图3-3运算放大器
图中的两个电压表只是为了检测运算放大器的放大倍数的精度问题,我们就撇开它们。
3端口与上图那个6端口相连,我们就把它的电压值定为V3,2端口接10K的电阻后再接地,我们把它的电压定为V2,输出端6端口的电压我们将它定为V6,从电路图上看,该运算放大器引入了40K的负反馈电阻,同样根据虚断虚短的原理,我们可知:
V3=V2,由于2端口接地,根据虚断原理则我们可以得出:
(-V3-0)/10K=(V6-0)/(40K+10k)
经化解,可得出
V6=-5*V3
这也就实现了电压的放大功能。
选取DAC0832作为模数转换芯片,DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
DAC数模转换原理:
如下图3-4所示:
图3-4DAC0832内部结构图
从图3-4中我们可以看到DAC0832是由倒T型R-2R电阻网路、模拟开关、运算放大器和参考电压VREF四大部分组成。
从电路图中我们可知运算放大器的输出模拟量V0为:
从上式中,我们可以看到输出的模拟量与输入的数字量
成正比,这也就实现了数字量到模拟量的转换。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制的一位),有一个模拟输出端。
输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
数模转换部分的连线图如下图3-5所示:
图3-5数模转换部分连线图
数字信号输入端D0到D7与AT89C51的P0口的P0.0到P0.7分别对应相连,为了保证有足够的电压,我们在P0口加了10K的上拉电阻来提供压降,以此用来的得到足够的电压。
基准电压Vref端口接5.12V电压,传输控制信号/XFER接电阻后接地,这个端口也是对低低平有效。
REF端口与741运算放大器的输出口6端口相连,用来提供负反馈电阻,从而使得实现电流转换电压。
片选信号CS端口、写信号/WR1口、模拟地AGND与数字地DGND相连后接地。
因为这些端口是对低电平有效。
关于管脚说明及主要参数会在后面详细提到。
DAC0832有两种工作方式:
单缓冲工作方式和双缓冲工作方式。
而本设计中用到的是单缓冲工作方式。
也就是一个寄存器工作于直通状态,另一个工作与受控锁存状态。
3.5AT89C51单片机主要特性及引脚功能介绍
AT89C51的主要参数有;
与MCS-51产品指令系统完全兼容;
4K字节可重擦写Flash闪速存储器;
1000次擦写周期;
全静态工作频率范围0Hz-24Hz;
三级程序存储器锁定;
128*8字节内部RAM;
32个可编程I/O口线;
两个16位定时/计数器;
6个中断源;
可编程串行UART通道;
低功耗的闲置和掉电模式;
片内振荡器和时钟电路。
AT89C51主要功能特性有:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降低至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位
AT89C51结构图如下图3-6所示:
图3-6AT89C51结构图
4.引脚功能说明:
VCC:
供电电压;
GND:
接地。
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),/EA端必须保持低电平(接地)。
不管是否有内部程序存储器。
注意加密位LB1被编程,复位时内部会锁存/EA端状态;
当/EA端保持高电平(接VCC端),此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.6七段数码管介绍
七段LED显示器由7个发光二极管组成,其中7个长条形的发光管排列成“日”字形,由七个发光二极管组成的七段显示器。
发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。
如再加一个贺点形的发光管在显示器的右下角作为显示小数点用,则组成八段LED显示器。
它能显示各种数字及部份英文字母。
LED显示器有两种不同的形式:
一种是8个发光二极管的阳极都连在一起的,称之为共阳LED显示器;
另一种是8个发光二极管的阴极都连在一起的,称之为共阴LED显示器。
如下图3-7所示:
图3-7LED数码管
共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。
当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。
8个笔划段hgfedcba对应于一个字节(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就可以表示欲显示字符的字形代码。
在单片机系统中,通常用LED数码显示器来显示各种数字或符号。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
[7]
数码管使用条件:
1.段及小数点上加限流电阻。
2.使用电压:
段:
根据发光颜色决定;
小数点:
根据发光颜色决定。
3.使用电流:
静态:
总电流80mA(每段10mA);
动态:
平均电流4-5mA峰值电流100mA。
3.7DAC0832介绍及应用
引脚与逻辑结构:
DAC0832芯片有20个引脚的双列直插式的芯片如下图3-8所示:
图3-8DAC0832逻辑结构图
DI7~DI0:
数字量输入信号;
其中:
DI0为最低位,DI7为最高位
ILE输入锁存允许信号,高电平有效
CS片选信号,低电平有效
WR1写信号1,低电平有效
当ILE、CS、WR1同时有效时,LE=1,LE1
输入寄存器的输出随输入而变化
WR1,LE=0,将输入数据锁存到输入寄存器
XFER转移控制信号,低电平有效
WR2写信号2,低电平有效
当XFER、WR2同时有效时,LE2=1
DAC寄存器输出随输入而变化;
当WR1,LE=0,将输入数据锁存到DAC寄存器,数据进入D/A转换器,开始D/A转换.
IOUT1模拟电流输出端1;
当输入数字为全”1”时,输出电流最大,约为:
255VREF/256RFB
全”0”时,输出电流为0
IOUT2模拟电流输出端2
IOUT1+IOUT2=常数
DAC0832是一种常用的数模转换器,它有两种连接模式,一种是电压输出模式,另一种是电流输出模式。
它的工作方式可分为单缓冲工作方式和双缓冲工作方式。
单缓冲工作方式:
一个寄存器工作于直通状态,另一个工作于受控锁存器状态。
如下图3-9所示:
图3-9单缓冲工作方式
运用DAC0832实现调幅其连线如下图3-10所示:
图3-10DAC0832实现调幅连线图
调幅分析:
当数字量为0FFH=255时,IOUT1=255V/256RFB,VO=-IOUT1*RFB=255VREF/256
所以:
当数字量为OCDH=205,VREF=-5V时:
VO=205VREF/256=4V
3.8LM741简介
LM741其引脚图如下图3-11所示:
图3-11LM741引脚图及内部结构图
其中2接口和3接口为输入端
6接口为输出端
1接口和5接口调零
7接口和4接口为电源接口
3.9系统总电路原理图
本次设计的系统电路原理图如下图3-12所示:
图3-12系统电路原理图
本次设计采用AT89C51芯片作为控制器,P0口和DAC0832的数据口直接相连,/CS和/WR1连接后接地,/WR2和/XEF接地,ILE接电源。
由于/WR2=/XFER=0,DAC寄存处与直通状态。
又由于ILE=1,故只要在选中该片(/CS=0)的地址,写入(/WR=0)数字量,则该数字信号立刻传送到输入寄存器,并直通至DAC寄