直流数控电压源设计方法.doc_第1页
直流数控电压源设计方法.doc_第2页
直流数控电压源设计方法.doc_第3页
直流数控电压源设计方法.doc_第4页
直流数控电压源设计方法.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一题目基本要求 :1、运用所学的数字电子技术和模拟电子知识惊醒电路设计2、设计出的直流电源要求输出精度高,步进电压在1V左右,并且调整方便。3、使用通用器件4、要求输出电压在0-10V5、工作电压:2-6V(典型5V)6、工作电流:20mA(5V时)15mA(3V时)7、稳压输出值:0-10V8、步进电压值:1V9、输出纹波电压:10mV10、输出电流:1.5A 二 、硬件系统设计2.1总体设计总框图键盘控制器电压源负载显示器电 源2.2、摘要 本次实验是以89C51单片机为控制单元,以数模转换器DAC0832输出参考电压,以该参考电压控制电压转换模块LM350的输出电压大小。该电路设计简单,应用广泛,精度较高等特点。目前所使用的直流可调电源中,大多为旋钮开关调节电压,调节精度不高,而且经常跳变,使用麻烦。利用本数控电源,可以达到每步0. 1 V 的精度,输出电压范围010V ,电流可以达到20mA(5V时) ,且数码显示直观明显。2.3、引言总体设计思路采用A T89C51 系列单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值(A/ D 转换后电压值) ,经集成运放放大和射极输出器输出,间接地改变输出电压的大小。2.4、系统硬件设计结构图本数控直流稳压电源的设计以一稳压电源为基础,以高性能单片机系统为控制核心,以稳压驱动放大电路、短路保护电路为外围的硬件系统,在检测与控制软件的支持下实现对电压输出的数字控制,通过对稳压电源输出的电压进行数据采样与给定数据比较,从而调整和控制稳压电源的工作状态及监测开关电路的输出电流大小。本数控直流稳压电源实现以下功能:键盘可以直接设定输出电压值;可快速调整电压;LCD显示电压值等。数控电压源硬件电路图三主要芯片介绍 3.1、8051简介我们采用8051系列的AT89S51作为CPU,AT89S51是一种带4K字节FLASH可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。主要特性1)与MCS-51兼容 ;2)8位字长的CPU;3)可在线ISP编程的4KB片内FLASH存储器,用于程序存储,可擦写1000次;4) 256B的片内数据存储器,其中高128字节地址被特殊功能寄存器SFR占用;5)可编程的32根I/O口线(P0P3);6)2个可编程16位定时器;7)一个数据指针DPTR;8)1个可编程的全双工串行通信口;9)具有“空闲”和“掉电”两种低功耗工作方式;10)可编程的3级程序锁定位;11)工作电源的电压为5(10.2)V;12)振荡器最高频率为24MHz;13)编程频率3 24 MHz,编程电流1mA,编程电压为5V。芯片引脚排列与名称DIP封装形式的AT89S51的芯片引脚排列与名称如图1所示。VCC:供电电压。GND:接地。P0口:P0口为一个8位,并行, AT89S51的芯片引脚排列与名称漏极开路双向I/O口,作为输出时可驱动8个TTL负载。该口内无上拉电阻,在设计中作为D/A,A/D及液晶显示器的数据口。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,该口在设计中低四位作为键盘输入口,高四位与RST作为在线编程下载口。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收/输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,可作为输入。在作为输出时,P2口的管脚被外部拉低,将输出电流。该口在设计中作为D/A,A/D及液晶显示器的控制口。端口引脚复用功能P3.0TXD(串行输入口)P3.1RXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口:P3口管脚是带内部上拉电阻的8位双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也可作为AT89S51的一些特殊功能口,如下表所示:各端口引脚与复用功能表 该口在设计中使用其特殊功能作为D/A,A/D读写信号的控制口。和A/D的中断输入口。RST:该引脚为复位信号输入端,高电平有效。在振荡器稳定工作情况下,该引脚被置成高电平并持续两个机器周期以上是系统复位。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。该引脚在设计中作为锁存器器和A/D的时钟信号。/PSEN:外部程序存储器的选通信号。/EA/VPP:/EA为访问芯片内部和芯片外部程序存储器的选择信号。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:芯片内振荡器放大器的输入及内部时钟工作电路的输入。XTAL2:芯片内振荡器放大器的输出。 3.2、D/A转换器DAC0832简介设计要求电压输出范围是0.0V9.9V,步进0.1V,共有100种状态,因此采用8位的D/A转换器就能满足设计要求。因此采用常用的DAC0832芯片。8位字长的D/A转换器DAC0832具有256种状态,能满足设计要求。DAC0832芯片是具有两个输入数据寄存器的8位DAC,它能直接与AT89S51单片机相连接。主要特性1)8位分辨率;2)电流型输出,稳定时间为1uS;3)可双缓冲输入,单缓冲输入或直接数字输入;4)单一电源供电(+5+15V); 5)低功耗(20mW;) 芯片引脚排列与名称DIP封装形式的DAC0832的芯片引脚排列与名称如图51所示。VCC:电源电压,+5V。GND:地线输入端。 DAC0832的芯片引脚排列与名称D0D7:8位数字量输入引脚。单片机由这8根线传送给D/A转换数字量。D7为最高有效位,D0为最低有效位。Vref:参考电压端。/CS:片选信号,当/CS为低电平时候,芯片被选中工作。ILE:允许数字量输入线。高电平有效。/XREF:传送控制输入线,低电平有效。/WR1,/WR2:写命令输入线。Ffb:运算放大器反馈线。Iout1,Iout2:模拟电流输出线,Iout1+Iout2为一常数。3.3、A/D转换器ADC0809主要特性1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s4)单5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。芯片引脚排列与名称DIP封装形式的ADC0809的芯片引脚排列与名称如图6所示各引脚功能说明如下:经过方案论证和比较后,最终确定的系统框图如下,主要由主电源、辅助电源、D/ A 转换、集成运放、射极输出器、单片机最小系统、显示及按键等组成。此数控直流稳压电源共有六部分,输出电压的调节是通过“+” ,“-”两键操作,步进电压精确到 0.1V控制可逆计数器分别作加,减计数,可逆计数器的二进制数字输出分两路运行:一路用于驱动数字显示电路,精确显示当前输出电压值;另一路进入数模转换电路(D/A转换电路) ,数模转换电路将数字量按比例,转换成模拟电压,然后经过射极跟随器控制,调整输出级,输出稳定直流电压。为了实现上述几部分的正常工作,需要另制15V,和5V 的直流稳压电源。此下所讲的数控电源主要就是对此组电压进行控制,使输出 09.9V的稳定的可调直流VCC:电源电压,+5V。GND:地线输入端。D0D7:8位数字量输出引脚。A/D转换结果由这8根线传送给单片机最高有效位,D0为最低有效位。IN0IN7:8路模拟量输入引脚。Vref(+):参考电压正端。Vref(-):参考电压负端。START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。START和ALE两信号用于启动A/D转换。EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。CLK:时钟输入信号,0809的时钟频率范围在101200kHz,典型值为640kHz。A、B、C:3位地址输入线,经过译码后可选通IN0IN78个通道中的一个通道进行转换。A、B、C的输入与选通的通道的关系如表所示:被选通的通道C B A被选通的通道C B AIN00 0 0IN41 0 0IN10 0 1IN51 0 1IN20 1 0IN61 1 0IN30 1 1IN71 1 13.4、 显示器设计要求能显示当前电压值,因此可采用液晶显示或者数码管显示两种方法。考虑到数码管显示过于单调,因此采用采用液晶显示。液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在点阵型液晶显示模块已经是单片机应用设计中常用的信息显示器件了。引脚排列与名称1602C引脚排列与名称如图所示。GND:电源地;VCC:电源正极,4.55.5V,通常使用5V电压;VO:LCD对比度调节端,电压调节范围为05V;RS:写入数据或者指令选择端。要写入指令时,使RS为低电平;要写入数据时,使RS为高电平; R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据; E:LCD模块使能信号控制端。写数据时, 需要下降沿触发;。DB0DB7:8位数据总线,三态双向。如果I/O口资源紧张的话,该模块也可以只使用4位数据线DB4DB7接口传送数据。A: LED背光正极。需要背光时,A串接一个限流电阻接VDD,K接地,实测该模块的背光电流为50mA左右;K: LED背光地端DAC0832接口电路DAC0832 最具特色是输入为双缓冲结构,数字信号在进入D/A 转换前,需经过两个独立控制的8 位锁存器传送。其优点是D/A 转换的同时,DAC 寄存器中保留现有的数据,而在输入寄存器中可送入新的数据。系统中多个D/A 转换器内容可用一公共的选通信号选通输出。设计中用2个电压控制字代表0.1V当电压控制字从0,2,4,到198时,可调稳压源输出0.0,0.1,9.9。由于DAC0832是电流输出型,输出的电流随输入的电压控制字线性变化。若要得到电压,还需要外接一片运放来实现电流到电压的转换。由于DAC0832 输出级没有加集成运放,所以需外加LM324 相配适用。考虑到设计需要,采用了单缓冲双级性的接法,如图所示:其计算公式为:其中Vref为参考电压,D为DAC0832接收到的数据。5为DAC0832基准电压。如果图中所示电阻RX,RY,RZ的阻值选取适当,则输出电压范围在电压控制字从0,2,4,到198变换时根据上式计算可得输出电压为+4.9V-5V,正好满足后续电路的要求。其中P2.7为DAC0832的片选控制端。ADC0809接口电路由于输出电压范围是0.0V9.9V超出了ADC0809的测量范围,因此使用电位器将输出电压分压后送至ADC0809的输入端。ADC0809与AT89S51的接口电路如图所示 ADC0809接口电路其中P2.6为0809的片选信号,与WR和RD分别通过或非门接到0809的START和OE上,EOC通过非门与AT89S51的INT0相接。由于0809需要时钟信号,因此可以从AT89S51的ALE端得到6分频的振荡信号,为了使6分频后的信号能满足0809的需求,我们采用的是4M的晶体振荡器。LCD1602C接口电路LCD1602C与AT89S51的接口电路如图所示图LCD显示电路可调稳压源电路为了获得大的负载电流,可调稳压部分使用了最大输出电流为1A 的7805三端集成稳压块。7805原本是输出固定电压为5V的集成稳压块,但可以外接电路来改变输出电压值。可调稳压的电路见右图:设运放理想。这时,可认为运放输入电压很小。即: 其中Vin为D/A部分输出的双级性电压,5为7805的稳压值。由上式可见,Vout与Vin之间成线形关系,当Vin变化时,输出电压改变。由于Vin是DAC0832输出的范围是+4.9V-5V的电压,因而Vout的变化可以从0.0V9.9V。经实验证明:这种可调稳压输出具有良好的负载特性,输出最大负载电流可达到1A。电压输出端接上500mA负载与未接负载(空载)之间输出电压仅相差0.04V以内。四软件流程设计4.1 图为系统主控程序。开始系统初始化D/A子程序键盘处理子程序A/D子程序有键按下?显示子程序是否4.2 D/A子程序图为D/A子程序框图。开始将显示值转换成对应的数字量数字量送D/A返回1可以看出,D/A子程序的作用是将设定的数字量通过变换送给D/A。4.3 A/D子程序图为A/D子程序框图。开始返回将输出电压转换成数字量与送D/A数字量相比较是否相等?将送D/A数字量减01H相等不等大于送D/A数字量?是否将送D/A数字量加01H1由A/D子程序框图看出,修改精度为一个数字量,由于A/D和D/A的精度限制,修改量只能达到0.05V,但足已满足设计需要。开始判断按键+-设 置其 它步进,步减子程序设 置子程序返回4.4 步进步减子程序图为步进,步减子程序框图开始D/A数字量加02H为“+”?1否是D/A数字量加02H返回是否为9.9V否是否为0.0V否保持不变为“-”?是是是 步进,步减子程序框图 由步进,步减子程序框图可以看出,如果每次把D/A的数字量加01H,可以使步进量和步减量由0.1V变为0.05V。如果采用更高位的D/A转换器。可以使步进量和步减量进一步的减小,以满足更高的要求。4.5 程序代码 A、程 序 实 现#include#define uchar unsigned char#define uint unsigned intsbit rs=P33;/按键端口定义sbit rw=P34;sbit lcden=P35;sbit keyup=P36;sbit keydown=P37;int val=0;uchar code table0=Voltage:;uchar code table1=DC=.V;void delayms(int x); /函数申明void keyuper();void keydowner();void write(uchar com);void date(uchar date);void start();void lcd1602();void main() uint k; P2=0X00; rw=0; start(); write(0x84); for(k=0;table0k!=0;k+) date(table0k); delayms(2); write(0x80+0x44); date(table10); date(table11); date(table12); while(1) keyuper(); keydowner(); lcd1602(); void keyuper() /检测按键使电平上升函数 if(keyup=0) delayms(10); if(keyup=0) delayms(400); if(keyup=0) val+=20; P2=val; delayms(1); if(val256) val=0; while(keyup=0); else val+=1; P2=val; delayms(1); if(val256) val=0; while(keyup=0); void keydowner() /检测按键使电平下降函数 if(keydown=0) delayms(10); if(keydown=0) delayms(400); if (keydown=0) val-=10; P2=val; delayms(1); if(val0) val=0; while(keydown=0); else val-=1; P2=val; delayms(1); if(val0;i-) for(j=110;j0;j-);五安装调试 首先测量主电源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论