简易数控直流电源报.docx

上传人:b****6 文档编号:7699922 上传时间:2023-01-25 格式:DOCX 页数:27 大小:1.45MB
下载 相关 举报
简易数控直流电源报.docx_第1页
第1页 / 共27页
简易数控直流电源报.docx_第2页
第2页 / 共27页
简易数控直流电源报.docx_第3页
第3页 / 共27页
简易数控直流电源报.docx_第4页
第4页 / 共27页
简易数控直流电源报.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

简易数控直流电源报.docx

《简易数控直流电源报.docx》由会员分享,可在线阅读,更多相关《简易数控直流电源报.docx(27页珍藏版)》请在冰豆网上搜索。

简易数控直流电源报.docx

简易数控直流电源报

简易数控直流电源设计报告

 

设计题目:

简易数控直流电源

系别:

电子信息与电气工程系

年级专业:

10级电气类(5)班

小组成员:

汪家乐1005075039

王鹏飞1005075038

熊王来1005075042

2012年6月11日

目录

摘要:

3

关键词:

3

1.引言3

1.1设计任务3

1.2设计要求4

2.总体方案论证4

2.1设计思路4

2.2模块方案论证5

2.2.1控制部分选择5

2.2.2数模转换部分选择6

2.2.4设置部分选择7

3.系统设计与实现7

3.1变压整流及系统电源单元7

3.2调整管单元8

3.3显示部分设计8

3.4数模转换电路设计9

3.4.1DAC0832的结构及引脚功能9

3.4.2DAC0832的数字接口10

3.4.3DAC0832的模拟输出11

3.5按键部分设计11

4.软件系统设计12

4.1系统流程图12

5.系统功能指标及参数13

5.1系统调试13

5.2系统测试13

5.3系统误差分析13

6.附录14

附录一使用原件清单14

附录二:

系统程序14

附录三:

系统电路图21

7.总结22

8.参考文献22

摘要

本系统以直流电压源为核心,STC89C52单片机为主控制器,通过矩阵键盘来设置直流电源的输出电压,设置步进等级可达0.1V,输出电压范围为0—9.9V,输出电流为500mA,并由数码管显示输出电压值。

由“+”、“-”两键分别控制输出电压步进增减,并且输出电压可预置在0~9.9V之间的任意一个值。

系统由单片机程控输出数字信号,经过D/A转换器(DAC0832)输出模拟电流量,再经过运算放大器隔离放大输出模拟电压量,从而控制输出欲知电压。

关键词

STC89C52DAC0832数码管矩阵键盘uA714

1.引言

随着电子技术的迅速发展,各种电子产品层出不穷,不过不管是哪种电子产品或设备,都需要电源供电才能进行正常的工作,而且对于不同的产品或设备来说,其需要不同的工作电源,但是往往市面上的很多电源模块都只能输出固定而单一的电压,从而不能提供各种不同数值的电压,因此,在这里做一个数控直流电源的设计。

该数控电源采用步进调整方式,调整范围为0.0V~9.9V,调整手段采用按键进行调整,当需要改变电压值时,启动数控系统,输入想要得到的电压值,再按下确定键,即可输出相应的电压。

该系统采用单片机作主控器件,结合软件和硬件设计方法,使该系统的结构较简单,可控性强,使用也很方便。

1.1设计任务

设计出有一定输出电压范围和功能的数控电源。

其原理示意图如下:

1.2设计要求

1.基本要求

  

(1)输出电压:

范围0~+9.9V,步进0.1V,纹波不大于10mV;

  

(2)输出电流:

500mA;

(3)输出电压值由数码管显示;

  (4)由“+”、“-”两键分别控制输出电压步进增减;

  (5)为实现上述几部件工作,自制一稳压直流电源,输出±15V,+5V。

2.发挥部分

  

(1)输出电压可预置在0~9.9V之间的任意一个值;

  

(2)用自动扫描代替人工按键,实现输出电压变化(步进0.1V不变);

  (3)扩展输出电压种类(比如三角波等)。

2.总体方案论证

2.1设计思路

方案一:

本方案调压方式基本沿用串联稳压电源的调压方式,以STC89C52单片机为核心,控制比较调整单元基准电源的变化,实现高精密电压控制。

交流电压经变压、整流、滤波后,通过调整管输出,CPU根据预置开关设定的数据或键盘输入数据,计算出相应的基准电压值,送DAC转换成模拟电压。

该电压送比较放大单元,以调整输出电压Vo。

方案一框图

方案二:

方案二框图

比较这两种方案,两种方案均是通过按键命令单片机给DAC数字量然后经过DAC和运放输出模拟量。

但第一种方案经过两级放大后,再通过复合管功率放大电路,使输出电流达到要求。

而方案二是经过运放放大后的电压直接输出,电流很小。

所以采用第一种设计方案完成设计任务。

2.2模块方案论证

2.2.1控制部分选择

方案一:

采用FPGA作为系统的控制器。

FPGA可以实现各种复杂的逻辑功能,所有数字逻辑器件集中在一块芯片上,体积小,稳定度高。

同时,FPGA可用EDA软件仿真调试,易于进行功能扩展。

但FPGA引脚较多,布线复杂,成本偏高,结合分析本系统要求如果采用FPGA作为控制器利用率不高,造成资源浪费。

方案二:

80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。

采用40引脚双列直插式DIP(DualInLinePackage),内有128个RAM单元及4K的ROM。

80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。

80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。

由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟。

经比较,此系统采用方案二,选用STC89C52作为控制核心。

AT89C52及其外围电路

2.2.2数模转换部分选择

方案一:

采用THS5661A。

电流输出型DA转换器THS5661A很少直接利用电流输出,大多外接电流—电压转换电路得到电压输出,用负载电阻进行电流—电压转换的方法,虽可在电流输出引脚上出现电压,但必须在规定的输出电压范围内使用,而且由于输出阻抗高,所以一般外接运算放大器使用。

THS5661A输出电压不为零时不能正确动作,所以必须外接运算放大器。

此外,这种电路中运算放大器因输出引脚的内部电容而容易起振,有时必须作相位补偿。

方案二:

采用DAC0832。

DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。

D/A转换结果采用电流形式输出。

若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。

运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。

DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。

经比较,选择方案二。

2.2.4设置部分选择

方案一(按键式输入):

此方法操作简单,而且采用此方式控制,由于键盘的数目少,也不会占用单片机太多的资源,且价格便宜。

方案二(触摸屏输入):

通过触摸检测部件检测用户触摸位置,接受触摸信息后送触摸屏控制器,触摸屏控制器将它转换成触点坐标送给CPU,它同时接收CPU发来的命令并加以执行。

此方法操作方便,简单,但价格昂贵。

另外红外遥控设置可能会由于房屋或楼道墙壁等受到影响,所以经过比较,我们采用独立式键盘作为输入控制模块。

经比较,选择方案一,采用4*4矩阵键盘和独立按键共同实现。

3.系统设计与实现

3.1变压整流及系统电源单元

本单元担任提供对外电源的整流、滤波和作为系统本身工作电源的双重任务。

经过变压器变压之后,得到双18V交流电,两路交流经过一个全桥整流得到正负18V的电压。

正18V提供给调整管,作为对外输出,同时经过三端稳压器,分别得到正负15V,5V作为系统本身工作电源。

电源模块电路图

3.2调整管单元

调整管采用复管形式,以实现大电流输出。

R203和N203构成过流保护,当I>700mA时,VR203=R203*I0=1*0.7V=0.7V两端的电压达到0.7V,N203会导通,对N202基极分流,达到过流保护目的,同时发光二级管L201点亮。

涉及运算:

由题意Iomax=0.5A,Vomin=0V,

故PN202max=(Vinmax-Vomin)Iomax=(18-0)*0.5=9W

N202选用TIP41,其Icmax=6A>Iomax=0.5A,PCM=65W>9W,BVCEOmax=100V>18V,

故能满足工作要求。

调整管模块电路

3.3显示部分设计

LED显示电路有静态显示和动态显示,静态显示是指所有的LED数码管同时显示,这种显示方法使得软件结构比较简单,显示效果好,不过电路结构比较复杂,占用处理器的端口较多,功耗也较大。

动态显示是指处理器定时地对LED数码管扫描,数码管分时工作,每次只有一个数码管显示,由于扫描的频率比较高,又因人眼的视觉暂留,所以,看起来,似乎所有的数码管同时在显示,采用这种方法的电路结构变得较简单,占用处理器的端口较少,功耗也较低,不过软件结构比较复杂,必须要在软件中消隐,而且显示的效果受到扫描频率的影响。

数码管采用二一体共阴极数码管,考虑到节省I/O口,其驱动电路由两片74HC573锁存器来实现。

数码管显示模块电路

3.4数模转换电路设计

由于数控电源输出的是模拟信号,而单片机输出的是数字信号,所以,必须要通过数/模转换。

数/模转换芯片众多,有电流输出,也有电压输出,分辨率也有所不同,有8位,12位,16位等等,不同的分辨率,价格也有很大的差距,因数控电源输出的精确度要求不是很高,且从成本上考虑,这里使用8位的数/模转换器DAC0832即可。

3.4.1DAC0832的结构及引脚功能

DAC0832是用CMOS工艺制成的8位D/A转换芯片,它主要包括两个8位寄存器和一个8位D/A转换器构成,其两个寄存器可以进行两次缓冲操作,使器件的操作有更大的灵活性。

DAC0832芯片采用20引脚双列直插封装,各引脚功能如下:

CS:

片选信号(低电平有效)。

ILE:

输入锁存允许信号。

WR1:

写信号1(低电平有效)。

当ILE=1时,且当CS与WR1同时有效才能把数字量锁存到8位输入寄存器中;当WR1为高电平时输入数据锁存到输入寄存器中。

以上三个信号构成一级输入锁存。

XFER:

控制传送信号。

WR2:

写信号2(低电平有效),用于将锁存在输入寄存器数据送到DAC寄存器中,只有在XFER和WR2同时有效时才把输入寄存器中的数据锁入DAC寄存器中。

这样构成了二级锁存。

D0~D7:

8位数据输入线,TTL电平。

Iout1和Iout2:

输出电流。

其中Iout1在D/A寄存器内容全为1时,输出电流最大;Iout2

在D/A寄存器内容全为0时,输出电流最大,Iout1和Iout2之和为常数。

AGND:

模拟信号地。

DGND:

数字地。

UREF:

基准电压。

一般为-10V~+10V。

Rfb:

反馈电阻。

该电阻被制作在芯片内,用作运算放大器的反馈电阻。

3.4.2DAC0832的数字接口

因在本系统中,单片机不仅要送D/A转换数据,还要送显示数据,且都是和P0口相连,而且,数控电源的转换速率要求不高,输出也只有一路,因此,本系统采用单缓冲工作方式DAC0832与单片机的连接电路图如图3.4.2所示。

当需要进行转换时,CS和WR有效,单片机从P0口输出数据到DAC0832上并启动转换,这时,DAC0832将转换后的电流值从Iout1和Iout2输出。

图3.4.2DAC0832与单片机的连接电路图

3.4.3DAC0832的模拟输出

DAC0832转换器输出的是电流信号,因此必须要经过电流-电压转换才能输出电压信号。

DAC0832是8位数/模转换器,基准电源为+5V时,其输出电压的计算公式为

D—输入数据;

u—输出电压.

因为DAC0832的分辨率不是很高,所以转换精度必然有些欠缺,不过由于数控电源的电压输出范围为0.0V~9.9V,步进电压调整值为0.1V,而DAC0832的输出模拟电压步进值约为0.02V,若再放大5倍,则刚好使数控电源的步进值为0.1V,当输入数据为65H(十进制101)时,输出电压u≈1.98V,,再放大5倍后约为9.9V,即为要求的最大值。

因此,DAC0832转换器的数据输入范围为00~65H,以提供100个调整步进。

DAC0832及外部放大电路图

3.5按键部分设计

本系统按键部分采用矩阵键盘和独立按键两部分共同组成,矩阵键盘实现预置数和自动扫描功能,独立按键实现步进加减和控制波形功能。

4.软件系统设计

4.1系统流程图

5.系统功能指标及参数

5.1系统调试

(1)电源部分调试:

先断开所有除输入电源以外的其他电源接入线,在外部电源输入部分加入正负20V的压,通过L7815的1脚,和L7915的2脚,后用万用表测量L7815的3脚为15V,L7915D3脚为-15V,L7805的3脚为+5V,同时测试单片机,DAC0832,放大器等底座接口供电。

电源部分正常。

(2)单片机系统测试:

编写简单程序(点亮发光二极管)测试单片机系统正常。

(3)调试LED显示:

编制简单的显示小程序验证正常。

(4)按键测试:

编写简单程序验证正常。

(5)DAC测试:

调整基准电压使输入255时输出电压-2.56V;输入0时输出电压为0。

5.2系统测试

测试时间:

2012年6月8日星期五

测试数据表格(常温下)

1

2

3

4

5

6

7

8

9

预置电压

1.00

2.00

3.00

4.00

5.00

6.00

7.00

8.00

9.00

实测电压

1.05

1.94

2.96

3.91

4.94

5.97

6.95

7.94

8.90

5.3系统误差分析

从电路原理图分析得出,系统的主要误差有:

(1)自制稳压电源电压不稳,影响系统供电和LM336的基准精度。

(2)DAC0832的量化误差,和由于LM336-2.5所给出的VREF不是准确的2.56V造成DAC的转换精度不是0.01V。

(3)放大器放大的线性失真引起的误差,以及经过0点的调零误差。

6.附录

附录一使用原件清单

名称

型号

封装

数量

单位

三抽头双输出变压器

18V50W

1

三抽头双输出变压器

9V50W

1

集成电路

LM7805

直插

2

集成电路

KA7815

直插

1

集成电路

KA7915

直插

1

集成电路

DAC0832

DIP-20

1

集成电路

74HC573

DIP-20

2

集成电路

Stc89c52

DIP-40

1

数码管

2位共阴

直插

1

晶振

12M

直插

1

二极管

IN4007

直插

5

电位器

102

直插

1

电位器

503

直插

1

电位器

104

直插

1

电解电容

2200uf35V

直插

2

电解电容

2200uf25V

直插

2

电解电容

470uf25V

直插

1

电解电容

10uf50V

直插

6

瓷片电容

104

直插

10

瓷片电容

30PF

直插

2

瓷片电容

150PF

直插

2

排阻

10K

直插

1

电阻

100K

直插

电阻

50K

直插

电阻

1K

直插

附录二:

系统程序

#include

#include"keyscan.h"

#include"delay.h"

#include"display.h"

#include"wace.h"

#include"scan.h"

#include"dac0832.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitdula=P1^0;

sbitwela=P1^1;

sbitkey3=P1^4;

sbitkey3=P1^4;

sbitkey4=P1^5;

sbitkey1=P1^7;

bitflag,clearflag,scanflag,boxingflag;

ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uintkey,t=0,m=0,dy=0,s=0,Wchange;

uintnum1,num2;

ucharx=0,y=120;

ucharnum3;

externuintkey;

externucharx;

externuchary;

voidmain()

{

init1();

while

(1)

{

keyscan1();

display2();

boxing();

DA(keyscan2());

}

}

voiddisplay1(uchart)

{

uintshi=0,ge=0;

shi=t/10;

ge=t%10;

dula=1;

P0=table[shi]|0x80;

dula=0;

P0=0xff;

wela=1;

P0=0xfe;

wela=0;

delay_ms(10);

dula=1;

P0=table[ge];

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delay_ms(10);

}

voiddisplay2()

{

uintshi=0,ge=0;

shi=keyscan2()/10;

ge=keyscan2()%10

dula=1;

P0=table[shi]|0x80;

dula=0;

P0=0xff;

wela=1;

P0=0xfe;

wela=0;

delay_ms(10);

dula=1;

P0=table[ge];

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delay_ms(10);

}

voidinit1()

{

P0=0;

dula=1;

dula=0;

P0=0xc0;

wela=1;

wela=0;

}

ucharkeyscan1()

{

uchartemp;

P2=0xfe;

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay_ms(10);

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P2;

switch(temp)

{

case0x7e:

key=1;flag=1;break;

case0xbe:

key=2;flag=1;break;

case0xde:

key=3;flag=1;break;

case0xee:

key=4;flag=1;break;

}

while(temp!

=0xf0)

{

temp=P2;

temp=temp&0xf0;

}

}

}

P2=0xfd;

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay_ms(10);

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P2;

switch(temp)

{

case0x7d:

key=5;flag=1;break;

case0xbd:

key=6;flag=1;break;

case0xdd:

key=7;flag=1;break;

case0xed:

key=8;flag=1;break;

}

while(temp!

=0xf0)

{

temp=P2;

temp=temp&0xf0;

}

}

}

P2=0xfb;

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay_ms(10);

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P2;

switch(temp)

{

case0x7b:

key=9;flag=1;break;

case0xbb:

key=0;flag=1;break;

}

while(temp!

=0xf0)

{

temp=P2;

temp=temp&0xf0;

}

}

}

returnkey;

}

voidkeyscan3()

{

uchartemp;

P2=0xf7;

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay_ms(10);

temp=P2;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P2;

switch(temp)

{

case0x77:

clearflag=1;break;

case0xb7:

scanflag=1;break;

case0xd7:

boxingflag=1;break;

}

while(temp!

=0xf0)

{

temp=P2;

temp=temp&0xf0;

}

}

}

}

voidboxing()

{

keyscan3();

if(boxingflag==1)

{

if(key1==0)

{

delay_ms(10);

if(key1==0)

{

Wchange++;

while(!

key1);

}

}

if(Wchange==1)

{

juchi();

}

if(Wchange==2)

{

sanjiao();

}

if(Wchange==3)

{

Wchange=0;

boxingflag=0;

}

}

}

ucharkeyscan2()

{

keyscan3();

if(flag==1)

{

s++;

if(s==1)

{

dy=keysc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1