第一章 系统设计
1.1设计任务与要求
1.1.1设计任务
设计一台微机控制的数控直流电压源,为电子设备供电。
在设计过程中,选择1~2个单元电路使用仿真软件(例如Multisim2001等)进行仿真调试。
用计算机绘制所有的电路图和印刷电路图
1.1.2设计要求
输出电压范围0-30v,步进值为0.1V
电压调整率Sv<0.05%V;
电流调整率Si<0.03%A;
纹波电压〈峰峰值<=5mA;
具有过流保护和短路保护功能;用数字显示输出电压
1.2方案的选择与论证
1.2.1 总体设计方案
根据题目要求设计的框图,如图1.1所示:
方案一:此方案采用传统的调整管方案,主要特点在于使用一套十进制计数器完成系统的控制功能,一方面完成电压的译码显示,另一方面其输出作为EPROM 的地址输入,而由EPROM的输出经D/A变换后去控制误差放大的基准电压,以控制输出步进。其框图如图1.2所示
方案二:采用51系列单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接地改变输出电压的大小。为了能够使系统具备检测实际输出电压值的大小,可以经过ADC0809进行模数转换,间接用单片机实时对电压进行采样,然后进行数据处理及显示。采用软件方法来解决数据的预置以及电流的步进控制,使系统硬件更加简洁,各类功能易于实现本系统以直流电源为核心,利用51系列单片机为主控制器,通过键盘来设置直流电源的输出电流,设置步进等级可达0.1V,并可由数码管显示实际输出电压值和电压设定值。利用单片机程控输出数字信号,经过D/A转换器(DA0832)输出模拟量,再经过运算放大器隔离放大,控制输出功率管的基极,随着功率管基极电电流的变化而输出不同的电压。单片机系统还兼顾对恒压源进行实时监控,输出电压经过电流/电压转变后,通过A/D转换芯片,实时把模拟量转化为数据量,经单片机分析处理, 通过数据形式的反馈环节,使电压更加稳定,构成稳定的压控电压源。
1.2.2方案的比较与论证
1.2.2.1数控部分
方案一采用中、小规模器件实现系统的数控部分,使用的芯片很多,造成控制电路内部接口信号繁琐,中间相互关联多,抗干扰能力差。在方案二中采用单片机完成整个数控部分的功能,同时,8031作为一个智能化的可编程器件,便于系统功能的扩展。
1.2.2.1输出部分
方案一采用线性调压电源,以改变其基准电压的方式使输出不仅增加/减少,这样不能不考虑整流滤波后的纹波对输出的影响,而方案二中使用运算放大器作前级的运算放大器,由于运算放大器具有很大的电源电压抑制比,可以大大减小输出端的纹波电压。在方案一中。为抑制纹波而在线性调压电源输出端并联的大电容降低了系统的响应速度,这样输出的电压难以跟踪快变的输入,方案二中的输出电压波形与D/A变换输出波形相同,不尽可以输出直流电平,而且只要预先生成波形的量化数据,就可以产生多种波形输出,使系统陈给有一定驱动能力的信号源。
1.2.2.3显示部分
方案一中的显示输出是对电压的量化值直接进行译码显示输出,显示值为D/A转换的输入量,由于D/A转换与功率驱动电路引入的误差,显示值与电源实际输出值之间可能出现较大偏差。方案二中采用三位半的数字电压表直接对输出电压采样并显示输出实际电压值,一旦系统工作异常,出现预制值与输出值偏差过大,用户可以根据该信息予以处理。方案二中还采用了键盘/显示器接口控制器8279。不仅简化接口引线,而且减小了软件对键盘/显示器的查询时间,提高了CPU的利用率。
综上所述,选择方案二,使用单片机实现。
2.2数控部分
2.2.1AT89C51单片机
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可提供高性价比的应用场合,可灵活应用于各种控制领域。因此,在这里我选用AT89C51单片机来完成。
2.4键盘与显示部分
2.4.1显示部分
显示数据以串行方式从89C51的P12口输出送往移位寄存器74LS164的A、B端,然后将变成的并行数据从输出端Q0~Q7输出,以控制开关管WT1~WT3的集电极,然后再将输出的LED段选码同时送往数码管LED1~LED2。位选码由89C51的P14~P16口输出并经译码器74LS138送往开关管Y1~Y8的基极,以对数码管LED1~LED8进行位选控制,这样,4个数码管便以100ms的时间间隔轮流显示。由于人眼的残留效应,这4个数码管看上去几乎是同时显示。
2.4.2键盘部分
键盘是有无数个按键组成的开关矩阵,它是一种廉价的输入设备。一个键盘通常包括数据键,字母键以及一些功能键。操作人员可以通过键盘向计算机输入数据、地址、指令或其他的控制命令,实现简单的人机对话。
用于计算机系统的键盘通常有两种:一类是编码键盘,即键盘上闭合键的识别有专用硬件识别。另一类是非编码键盘,即键盘上键入及闭合键的识别由软件实现。
键盘接口应具有的功能:
键扫描功能,即检测是否有键按下
键识别功能,确定被按下建所在的行列的位置
产生相应的键的代码
消除按键弹跳及对付多键串键
这里我要选用的是非编码3x3键盘结构,能自动消除键抖动影响,具有对按键同时按下的保护,能把键盘信息存入堆栈,也可向CPU发中断请求,得到响应后,使CPU获取按键信息,还可接受CPU队间信息的查询。
对每个键我们都赋予了特定的功能:
0------每按键一次增加10V
1------每按键一次减少10V