ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:65.47KB ,
资源ID:14101509      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14101509.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AT89S51单片机控制的数控电源装置.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于AT89S51单片机控制的数控电源装置.docx

1、基于AT89S51单片机控制的数控电源装置摘要:本文介绍的是以AT89S51单片机为核心,设计制作的一种数控电源装置。它是用按键步进的方式来调节输出电压,该装置能实时的显示电压调节过程和输出电压结果,电压调节范围宽,精确度高,调整方便,同时还有电流监控的过流保护功能,是微机技术和数模转换技术相结合的具体应用。关键词:键盘,步进, 显示, 调整,D/A转换前言:直流稳压电源是电子技术中经常用到的,它广泛应用于电子设备的科研,生产和生活的各领域,传统的直流电源的输出电压的调节要经过粗调(波段开关)和细调(电位器)来调节,当输出电压需要精确输出,或者需要在一个很小的范围,如需0.1V变化的电压时,困

2、难较大,不容易实现。随着使用时间久了,波段开关及电位器难免出现接触不良,阻值大小发生变化的情况,这对输出电压的调整结果肯定会有影响的。在普通的直流电源中大多使用指针式电压表来指示电压的大小,这种表的误差大,其指示的电压值只能作为参考,不能准确的显示实际电压值,准确度差。从直流稳压电源的结构方面看,多数直流稳压电源采用串联稳压电路对过载进行限流或者是采用截流型保护电路构成的,电路复杂,稳压精度不高。现代的科学技术日新月异,突飞猛进,由数字技术和微机技术相结合的,具有智能化的直流电源开发和应用,不但可以解决传统直流稳压电源的各种问题,而且可实现传统的直流稳压电源无法实现的功能。这是电源技术里程碑式

3、的一大进步,本文介绍的单片机数控电源的设计就是这两种技术的具体应用。正文 一,方案的选择数控电源电路要实现步进调整电压,有三种方案第一种是采用标准逻辑器件,它的集成度低更改设计困难。第二种是采用可编程逻辑器件如PLC,外围元件少,它可以根据现场工控设备的实际控制要求,通过更改设计程序来满足,编程容易,但是价格成本相对较高, 第三种是采用微处理器如单片机,可方便的通过编程来满足控制要求,容易实现信号的处理,价格成本低,本装置选择用单片机来实现数控电源的设计。二,设计的要求:1:输出电压的调整范围是:0.0V9.9V2:输出电压的调整方式为步进,每步即每按一下按键,电压有0.1V的变化。3:最大输

4、出电流为100mA。4:电路具有过电流保护功能。5:用两位数码管来显示电压的调整过程和输出电压的大小。三,硬件设计方框图如下数码管显示电路 键盘电路单片机电路数字/模拟转换电路 模拟信号放大电路 负载过流保护电路 如图所示,通过键盘把需要输出的电压用按键的方式,每步0.1V输入给单片机,由单片机驱动数码管显示电压调整的过程,待调整完成以后,把数码管显示的十进制数送数模转换电路DAC0832数据线上,执行D/A转换。此时数码管显示的数据既是送到D/A转换的十进制数,即BCD码(00H99H),又表示的是数控电源输出的电压值,输出电压范围是(0.0V9.9V)。经数模转换电路输出的模拟电压是很小的

5、,通过外补偿运放LM301把模拟信号的电压放大,使输出电压大小与数码管显示的值相符,满足负载的实际要求。再经过三极管的电流放大电路,提高了输出电流,降低了负载变化对输出电压的影响,使负载上的电压稳定。为了防止当负载电阻变得很小,甚至当电源的输出端有短路的情况下,引起输出电流过大而危及电源的安全,在电路中加了一级电流保护回路。当输出电流超出允许值时,过流保护起作用,关闭D/A转换电路,使输出电压为0,同时给出警告信号。这就是这个调压装置整个工作过程的简述。四,本装置用到的主要硬件简介:1:单片机AT89S51 是ATMEL公司生产的,采用PDIP-40封装形式,内部有4KB的在系统可编程的FLA

6、SH程序存储器ROM,和256B的数据存储器RAM,外部均可扩展至64KB,内外部的程序存储器ROM是统一编址的,内部ROM地址从0000H开始到0FFFH,外部ROM地址接着从1000H开始直到0FFFFH止,ROM总共有64KB。内外部数据存储器RAM是分开编址的,内部RAM的地址从0000H到00FFH,有256B,外部RAM地址从0000H到0FFFFH,有64KB。 CSVCC AT89S51单片机具有时钟静态工作方式,降低了本身的功耗,非常适合便携式仪器选用。这种单片机的外部40个引脚和功能,以及应用的指令和时钟频率等均与INTEL公司的8051系列的单片机相同,在此不再缀诉。 W

7、R1ILE1 20 2 193 184 175 166 157 148 139 1210 114 s2:数字/模拟转换器DAC0832 AGNDXFERWR2 是一种接口与MCS51系列的单片机完全 DI4 DI2 DI3兼容匹配的,具有8位分辨率的数字/模拟 DI1DI6DI5转换芯片,它的PDIP-20引脚排列如图所示DI7 VR DI0 IOUT2 RFIOUT1DGND DI0DI7是8位数据输入线,VR是接入基准电源,IOUT1和IOUT2用来输出模拟电流,RFB用来从输出端向芯片引入反馈信号。CS为片选信号,WR1是输入锁存器写选通信号,ILE是输入锁存允许信号。当CS和WR1为低

8、电平,ILE为高电平时,输入锁存器的允许信号LE1有效,单片机传送的数据通过DI0-DI7 数据线锁进输入锁存器。XFER为数据传送控制信号输入线,WR2为DAC寄存器写选通信号输入线 ,当XFER和WR2同时有效时,DAC锁存器的允许信号LE2有效,输入锁存器内被锁存的数据又被锁存到DAC锁存器中,同时进入D/A转换器开始转换成模拟信号。AGND是芯片的模拟电路接地点,DGND是芯片的数字电路接地点。DACO832与单片机的连接方式有三种 ,下面分别介绍(1)直通方式:就是将CS,WR1,WR2,XFER信号引脚都直接接地,ILE引脚接高电平时,输入锁存器与 DAC锁存器都处于直通方式。8位

9、数字量一旦送到DI0-DI7 数据输入线上,立即进行D/A转换,不用选通,直接完成一次D/A转换。这种方法简单,较少采用。(2)单缓冲方式:就是将WR2和XFER直接接地,使 DAC锁存器处于直通状态,而输入锁存器处于受控状态。只要数据通过输入锁存器,就能完成D/A转换,有一次选通过程。(3)双缓冲方式:输入锁存器和DAC锁存器均处于受控状态,此时单片机的数据送到8位数据线上时,经过两次选通才能完成D/A转换。它的优点是数据接收和启动转换可同步进行。可在D/A转换的同时,进行下一个数据的接收。提高了转换速度。本装置不强调工作速度,输出转换好的模拟电流既可,采用直通方式与单片机连接 。 3:运算

10、放大器LM324由4组相同的运算放大器构成,是一种高放大倍数的直接耦合,线性集成放大器。每组运算器有二个输入端(同相输入端和反相输入端),一个输出端,使用时,作为反相比例放大器,可从反相端输入信号。作为同相比例放大器,可从同相端输入信号。作为差动比例放大器时,可从正反相两端同时输入信号。LM324可用来放大直流信号。本装置是利用LM324将DAC0832输出的模拟电流转换成模拟电压输出,具体见后面调试过程所述。RG RG1 82 73 64 54:精密仪表运算放大器INA126V+VIN-INA126的管脚如左图所示V0VIN REFV INA126是低噪声差分信号采集精密仪表放大器,用于便携

11、式仪表和数据采集系统内部采用两个运算放大器设计。INA126用在单电源时,其共模电压大小为1/2VCC,使用的传感器如果是电桥型的,中点电位在1/2VCC处。当输入信号为0时,输出直流电压是1/2VCC。在1和8两个RG之间接可调电阻,可以调整INA126的电压放大倍数。其参数如下a:宽电源电压的供电范围:(1.35V18V)b:低失调电压:最大250Ac:低失调漂移电压:最大3V/度d:低静态电流:最大175Ae:低噪声:最大380dBf:低输入偏置电流:(250nA250nA) 本装置采用可调电阻W2来调整INA126的电压放大倍数,使得当数控电源的输出电流为100mA时, 使74LS14

12、的输出电压发生翻转,输出低电平,单片机进入外中断0的中断服务程序。5:显示译码驱动MC14495MC14495能把十六进制数对应的BCD码,译成能在数码管上显示的七段字型码,驱动LED数码管发光显示的芯片。6:与门芯片CD4082BECD4082是4个输入端和1个输出端的与门电路,当4个输入端都是高电平时,输出是高电平,当有1个输入是低电平时,输出就是低电平。电路中用CD4082输出的低电平使单片机进入外部中断1的中断服务程序。7:外补偿通用运算放大器LM301 LM301是单片通用的外补偿运算放大器,具有输入输出过载保护,失调电压调零,无阻塞现象,较小的输入电流,有保证的漂移特点。电源电压最

13、大可达18V,输入失调电压最大10V,温度漂移电压最大30V/度,输入失调电流最大70PA,输入偏置电流最大0.3A。本装置是利用LM301将LM324输出的模拟电压放大成与数码管上显示的数据相同。电路中用到的其它元器件的型号规格见后面附录二五,软件程序的设计程序中用到外部中断0和外部中断1,外部中断0用来在数控电源的输出电流过大时,起保护作用。关闭D/A转换,显示报警信息。由于过流保护作用的重要性,它的中断优先等级设为高级。外中断1用在4个按键的操作上,分别是数位选择键,增加键,减少键和D/A转换键。开机时单片机初始化,两数码管均显示0,负载上没有电压,当按下键盘上任一键,就使单片机的程序进

14、入外部中断1,在此中断服务程序中,先延时消除按键的抖动,再判断是否有键按下,无键按下就返回主程序,有键按下了,根据按下键的键号来产生相应的操作,执行完后返回主程序。按K1键来判断要调整的数位,每按一次,数码管显示00和01不断的交替,00表示要调整的是十位,01表示要调整的是个位。按K2键,使相应的数位加1,按K3键,使相应的数位减1,两数码管分别显示电压的调节的过程,用寄存器R3保存十位数值,用寄存器R5保存个位数值。通过按K2和K3调出一个数据,当按下K4时,将R3和R5两寄存器中的数组成一个十进数送DAC0832,完成数模转换。在程序中用寄存器R3和R5存数,有利于十进制数的两位分别调试

15、和组合。程序流程图见附录三程序见附录四 ,六,调试过程见附录一图,单片机数控电源工作原理图,数控电源的输出电压为手动按键步进调整,每步0.1V,输出电压的范围是(0.0V9.9V),共需99步来调整电压,BCD码为(00H99H),其数字量为十六进制数(00H63H),送到DAC0832的8位数据线上,数模转换的公式为:255/5=D/A 。D是已知的数字量,模拟电压A=5D/255,最大输出模拟量电压A=599/255,算得A=1.94V,要求输出的电压是9.9V,则电压放大倍数为Av=9.9/1.94=5.1倍。按键盘输入DAC0832数字量,测量LM324转换后的模拟输出电压,与理论上计

16、算得出的输出电压数据比较列表如下。表一: DAC0832数字/模拟转换电路的测试结果表,输入数据理论输出模拟电压/V实测输出模拟电压/V绝对误差/相对误差/00H0.000.000.000.010H0.310.300.013.220H0.630.620.011.630H0.940.930.011.140H1.251.240.010.850H1.571.550.021.360H1.881.860.021,163H1.941.920.021.0由上表,经DAC0832数模转换后在LM324的输出测量出的模拟电压,与理论上经公式推导出的数据有一定的误差。采用LM301来放大数模转换后LM324输出的

17、模拟电压,由附录一原理图所见,从DAC0832输出的电流模拟信号从IOUT1送到 LM324的反相端,这是个反相运算放大器,输出的模拟电压为负值。再经LM301放大成与两位数码管的数据相同。由三极管T1的T2组成的达林顿管结构的射极输出器把负载的电流放大,这样会降低数控电源的输出电阻,使负载较小,即输出电流较大时,数控电源的输出电压下降的不会太多。LM301反馈电阻接法可进一步降低它的输出电阻,稳定数控电源的输出电压。下面是在数控电源的输出端接阻值为100欧负载时,实际测量的输出电压与要求的输出电压数据比较表 表二:要求输出电压/V实测输电压/V绝对误差相对误差0.00.000.000.001

18、.01.010.011.002.02.010.010.503.03.010.010.334.04.020.020.505.05.020.020.406.06.030.030.507.07.040.040.578.08.050.050.629.09.040.040.44通过表二与表一的分析比较,经运算放大器LM301放大调整后测量的输出电压,与要求的电压误差精确度,比在LM324输出的电压误差的精确度提高了。数控电源的过流保护工作,来自采样电阻R9上的电压,采样电阻R9与负载RL是串联的,R9的阻值与RL 相比是极小的,正常工作时,其上的压降小,不会影响RL上的电压,当输出电流增大,R9上的电压

19、增大,R9并接到差分精密仪表运算放大器INA126的IN和IN两输入端。调节INA126的1和8脚两个RG端的电位器W2,确定INA126的电压放大倍数,当输出电流达到保护动作值时,R9上的电压增大,INA126的输出电压使反相施密特触发比较器74LS14的输出由高电平5V翻转为低电平0V。这个低电平信号送到AT89S51单片机的外部中断0(INT0),使单片机的程序进入外部中断0的服务程序,在此程序中,把00H数据送到DAC0832,关闭D/A转换,负载上的输出电压为0V,同时在两数码管上显示EE 的报警信号。此时根据实际情况,按键盘调出相应数据送DAC0832,使输出电压满足负载要求。表三

20、:负载为100欧时,通过测量计算得到的过流保护电路的数据如表 数控电源输出电压/V0.002.014.026.038.0410.05数控电源输出电流/mA0.0020.140.260.380.4100.5INA126输出电压/V0.000.601.231.862.493.1174LS14输出电压/V5.005.005.005.005.000.20 当数控电源的输出电流达到100.5mA时, INA126的输出电压为3.11V,使74LS14的输出电平发生翻转。七,注意事项1:本装置的供电电压有12V,12V, 5V三种,单片机AT89S51和数模转换DAC0832由5V的电压供电,运算放大器L

21、M324和差分精密仪表放大器INA126由12V和12V两种电压供电。注意不要把12V电压加到单片机上,或电路中任何5V电源的地方,以免烧坏单片机和其它事故的发生。2:在使用步进方式调整数据时,输出电压不能随着变化,以免在调整过程中加到负载上的电压不能满足要求。在完成数据的步进调整以后,再按K4键,实现D/A转换,向负载输出电压结论:本装置用单片机和各种芯片设计制作的数控直流电源,该电源的输出电压是由键盘步进调整,这种调压方法比用电位器更方便,更准确,而且调节电压的范围宽,每调一次的电压只有0.1V,精确度提高了。用数码管显示电压的调节过程和输出电压的大小,比用指针表更加准确,直观。调整电压和

22、输出电压分两步进行,使电压满足负载的要求。输出电流采用闭环实时监控保护,完善了装置的使用功能,如果在此电路中加上变压器和整流,滤波和功放部份,在软件程序设计中把抗干扰因素考虑进去,就能做成应用在10V以下精确调压的实用电源。致谢:在论文的写作过程中,得到深圳市睿马电源有限公司的孙秀燕工程师的大力帮助,在此表示感谢。 由于本人知识水平有限,写作时间仓促,有些问题没有完全搞懂,阐述的不好,文中的错误和疏漏之处在所难免,肯请各位老师,专家和同行不吝赐教,批评指正,提出宝贵的意见。参考文献。1:王为青,邱文勋著.51单片机应用开发案例精选.北京:人民邮电出版社,2007.72:赫建国著.单片机在电子电

23、路设计中的应用.北京: 清华大学出版社,2006.53:石文华著.单片机原理及应用.北京:中国电力出版社,2005.24:张大明著.单片微机控制应用技术.北京:机械工业出版社,2006.4 5:付家才著.单片机控制工程实践技术.北京:化学工业出版社,2004.5附录一:单片机数控电源工作原理图 附录二:元件明细表 序号元件符号元件名称型号规格数量备注1R1R4碳膜电阻RXT-5.1K-1/4W42R5碳膜电阻RXT-4.7K-1/4W13R6,R7,R10碳膜电阻RXT-10K-1/4W34R8碳膜电阻RXT-47K-1/4W15R9碳膜电阻RXT-5R-1/4W16W1可调电阻134T-8.

24、7K17W2可调电阻B102AE-1K18C1电解电容CXD-10UF-25V19C2,C3瓷片电容CP-30PF210H晶振12MHZ111T1,T2三极管S9014-C331212LED数码管ULS-3161AS213K1K4按键414U1运算放大器LM324115U2单片机AT89S51116U3BCD译码驱动器MC14495217U4数模转换DAC0832118U5精密仪表放大器INA126119U6六反相施密特触发器74LS14120U7四输入与门集成块CD4082BE1附录三:程序流程图1:主程序和外中断0过流保护报警程序开始系统初始化开中断0和中断130H,40H,50H内容清零

25、等中断结束NONOINT1=0INT0=0YESYESA P2A 0EEHA (A)0FHP1 A 20H AP0 00H延时10毫秒按键去抖动A P2A (A)0FHNOA=20HYESD/A转换数值减少数值增加数据位选择A=20H2:数据位选择程序 NOP2.0=0YES主SA 50HA=0NOYES50H 00H50H 01HP1 (50H)等中断A=20H3:D/A转换程序NOP2.3=0YES A R3A30 A74A (A)R5DPTR AP1 A等中断A=20H4:数值增加程序NOP2.1=0YESA 50HA=0调十位调个位NOYESA 40HA 30H P1 A R3 A R

26、5 AA30 A74 P1 A40H (40H)+130H (30H)+1NOR5=09HR3=09HNOYESYES40H 00H30H 00H等中断A=20H5:数值减少程序NOP2.2=0YESA 50H(505A=0调十位NO调个位YESA 30HA 40H R3 A P1 AA30 A74 R5 A P1 A40H (40H)130H (30H)1 A R3NONOA=00HA=00HYESYES40H 09H30H 09H等中断附录四:程序 ORG 0000H ;主程序开始 LJMP MAIN ;主程序跳到MAIN ORG 0003H ;外中断0入口地址 LJMP WZT0 ;外中

27、断0跳到WZT0 ORG 0013H ;外中断1入口地址 LJMP WZT1 ;外中断1跳到WZT1 ORG 0100H ;主程序在标号为MAIN,地址为0100H地方执行MAIN:MOV SP,#70H ;设堆栈指针地址为70H MOV IE,#85H ;开中断0和中断1 SETB IT1 ;设外中断1触发方式为负脉冲下降沿 CLR IT0 ;设外中断0触发方式为低电平 SETB PX0 ;设外中断为高优先级 MOV P0,#00H ;输出DAC0832的数据为00H MOV P1,#00H ;两数码管均显示0 MOV P2,#0FFH ;把P2口设为键盘输入口 MOV 30H,#00H ;

28、输出电压十位缓冲存储器30H内容为00H MOV 40H,#00H ;输出电压个位缓冲存储器40H内容为00H MOV 50H,#00H ;十位和个位的选择缓冲存储器50H内容为00H SJMP $ ;主程序在此等待中断 ORG 0200H ;外中断1在标号为WZT1,地址为0200H地方执行WZT1:PUSH PSW ;将PSW内容压栈 PUSH ACC ;将ACC内容压栈 SETB RS1 ;寄存器选择组2 MOV A,P2 ;把P2口各键的内容读入累加器 ANL A,#0FH ;将读入的数据只保留低四位 MOV 20H,A ;数据结果存入20H ACALL TIMS ;延时0.1秒,消除按键抖动 MOV A,P2 ;延时时间到后再读入P2的数据 ANL A,#0FH ;再保留P2数据低四位 CJNE A,20H,KEY ;判A与20H中的内容比较,不等没有键按下转到KEY,相等有键按下顺序执行 JNB P2.0,KEY0 ;判数据位选择键 是否按下 JNB P2.1,KEY1 ;判数据增加键是否按下 JNB P2.2,K

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2