输入电路:输入电路由“+”、“-”、“启动”、“复位”四个按键组成,由“+”、“-”两键分别控制输出电压步进增减,步进值为0.2V,启动按键用于启动控制数控电压源的输出。
数控部分:数控部分应具备的功能有:输出电压可预置,且能以“步进”0.2V的工作方式加(“+”、)或减(“-”)。数控部分的输出应该控制电压源的控制端。
两个按钮开关将预制量输入到MCU并口,输出结果由LCD显示。单独设置的“+”、“-”两个键由单片机进行检测。数模转换器DAC接收单片机数据线串行传送的数据,存放在存储芯片内,并据以确定输出电压。在软件的控制下,单片机开机后先将预制值读入,在送去显示的同时,送入DAC,并产生相同的输出电压。然后不断检测“+”、“-”两键是否按下。若检测到有按键按下,将使显示值和输出电压相应增减0.2V。
输出电路:输出电路是由三端固定输出稳压器件7805、LM324M和DAC电路所组成的输出电路。步进电压由DAC输入的数字量控制。这种电路输出电压的精度取决于7805输出电压的误差;运放的跟随误差以及DAC的积分非线性。步进值的误差直接与DAC的位数有关。如下图。
图3 输出电路图
显示电路:显示电路功能是显示当前输出的电压值和电流值。显示电路由液晶屏和两片模数转换器ADC组成。当前输出的电压值和电流值分别有两片模数转换器转换成数字量,并串行传送给单片机,单片机将接收到的8位数字量转换成电流和电压的小数和整数部分,然后送到液晶屏显示当前输出的电压和电流值。电路图如下。
图3 显示电路图
5 系统结构
单片机及其外围电路是数控直流电源的控制核心,本设计以STC89C52单片机为核心,单片机通过对D/A转换器输出的控制达到对电压的控制,并用LCD1602液晶来显示。系统结构图如图3所示。
图4 系统结构图
6 芯片介绍
6.1 AT89S52芯片介绍
6.1.1 AT89S52单片机主要特性:
·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
图5 AT89S52芯片引脚排列
6.1.2管脚介绍
(1)电源引脚
VCC(40):接DC电源端。
GND(20):接地端。
(2)时钟引脚
XTAL1(19):外接振荡元件(如晶振)的一个引脚。采用外部振荡器时,此引脚接振荡器的信号。
XTAL2(18):外接振荡元件(如晶振)的一个引脚。采用外部振荡器时,此引脚悬浮。
振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(3)控制线
RST(9):复位输入端。在此引脚上出现至少两个机器周期的高电平,将使单片机复位
ALE/() (30):地址锁存允许/编程脉冲。在对Flash存储器编程期间,此引脚用于输入编程脉冲().
PSEN(29):外部ROM读选通信号。
在从外部程序存储器取指令(或常数)期间,每个机器周期出现两次PSEN有效信号。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSEN有效信号作为外部ROM芯片输出允许OE的选通信号。在读内部ROM或RAM信号时,PSEN无效。
EA/VPP(31):内、外ROM选择/编程电源
EA为片内外ROM选择端。ROM寻址范围为64KB。AT89S52单片机有4KB的片内ROM,若不够用时,可扩展片外ROM。当EA保持高电平时,先访问片内ROM,当PC的值超过4KB时,自动转向执行片外ROM中的程序。当EA保持低电平时,只访问片外ROM。
在Flash编程期间,此引脚用于施加编程电压VPP。
(4)P0~P3
4个8位输入/输出口,一共32个引脚。
6.2 TLC549
TLC548和TLC549是以8位开关电容逐次逼近A/D转换器为基础而构造的CMOS A/D转换器。它们设计成能通过3态数据输出与微处理器或外围设备串行接口。TLC548和TLC549仅用输入/输出时钟和芯片选择输入作数据控制。TLC548的最高I/OCLOCK输入频率为2.048MHz,而TLC549的I/OCLOCK输入频率最高可达1.1MHz。
图6 TLC549引脚图
6.3 TLC5615
TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC寄存器复位至全零。
图7 TLC5615引脚排列图
7软件设计
7.1软件介绍
软件部分采用模块化程序设计的方法编写,系统软件由主控制程序、LCD1602显示子程序、键盘服务、A/D转换和D/A转换等子程序组成。还添加了显示器的自动刷新。
7.2 STC89C52资源分配
SBIT VEN=P1^0 电压A/D使能低电平有效
SBIT VSDA=P1^1 电压A/D输入数据
SBIT VSCL=P1^2 电压A/D时钟
SBIT IEN=P1^3 电流A/D使能低电平有效
SBIT ISDA=P1^4 电流A/D输入数据
SBIT ISCL=P1^5 电流A/D时钟
SBIT DAEN=P2^0 D/A使能低电平有效
SBIT DADA=P2^1 D/A输入数据
SBIT DASCL=P2^2 D/A时钟
SBIT JIA=P3^2 增加按钮
SBIT JIAN=P3^3 减按钮
SBIT QUEREN=P1^6 确认按钮
SBIT RS=P3^5 1602液晶RS端
SBIT LCDEN=P3^4 1602液晶EN端
SBIT RW=P3^6 1602液晶RW端
7.3 程序流程图
图8 程序流程图
8工作过程
上电复位:读取24C02中的电压,送DA转换输出电压,如24C02中电压为0则设置初始电压为5V。
电压控制:通过两个加减按钮控制MCU产生8位数字信号(0~255),通过P2口送至8位数模转换芯片(TLC5615)转换成模拟电流信号,再经运放作I/U转换,得到控制稳压电源输出部分的基准电压。
电流取样:采用8位模数转换芯片(TLC549)作为显示电流的模数转换器件,TLC549的取样电压由串联在电源输出电路的电流取样电阻(0.1欧)分压取得,并由运放按一定倍数放大后送至Vin(+),TLC549把转换结果送至单片机的P1口,再由程序将数据处理后送LCD1602显示当前电流。
过流保护:当短路或电流超过设定值1.2A时,MCU自动保存当前使用电压并关闭输出。
稳压输出:采用传统的串联稳压电路,由运放和功率输出管组成。利用TLC5615控制的基准电压驱动功率管稳压输出,反馈部分是通过电阻R3,VR2将取样电压输入运放的反相端比较,VR2可作小范围调整。
9制作调试
电源部分提供整个电路所需各种电压(包括DAC芯片所需的基准稳压+5V和89C52的+5V),由电源变压器和整流滤波电路及两个辅助稳压输出构成,电源变压器的功率由需要输出的电流大小决定,确保有充足的功率余量。
电流取样电阻R1要选择大功率的电阻(5W或10W)。也可使用废旧万用表上拆下来的电阻线。检查电路连接无误后,即可试机。找一块数字表将其并联在输出电路上,按“+”按钮或“-”按钮设定一个电压,此时LCD1602第一行可能会有误差,适当微调反馈电路的VR2,使其与数字表读数一致,再将数字表串联在电源的输出电路上,选择适当的电流档,接上一定的负载。此时,LCD1602第二行会显示出电流值,适当的调节VR3改变TLC549参考电压,直至显示的电流值与万用表显示的电流值一致为止,校正完后即可使用。
测试仪器及设备
仪器名称 型号 用途 数量
计算机 PC 调试用途 1
可跟踪直流稳压源 1731SB3A 提供电源 2
数字万用表 UT56 测量电压 1
示波器 DF4320 测量纹波 1
测试步骤
第一步:组装电路,使整个电路能正常工作,掉电存储电路能使在重新开机后显示上次断电时保存的数据。
第二步:在不带负载的情况下,通过按键调节电压值,使电压值从0~20V按步进0.2V增减,观察输出电压值,并测量纹波电压,并记录数据。
第三步:在带负载、电流达到800mA的情况下,调节电压值,测试输出电压值。
第四步:测试过流保护电路是否能正常工作,即当调节电流值超过设定的电流值时,观察电流保护电路是否断开。
测试数据
⑴测试输出电压
理论显示数据 单位:V 输出电压测量 单位:V 纹波电压 单位:mV
1.0 1.0 100
2.0 2.0 91
3.0 3.0 80
4.0 4.0 60
6.0 6.1 30
8.0 8.0 8
10.0 10.0 0
12.0 12.1 0
18.0 18.0 0
20.0 19.9 0
10总结
本设计制作完成了题目要求的基本部分的和发挥部分要求,达到了预期目标。本系统以51单片机STC89C52芯片和10位精度的DA转换器TLC5615为核心部件,利用常用的三端稳压器件7805的公共端与输出端固定的5伏电压特性,最终实现了数字显示输出电压值和电流值可实时控制并显示的数控电源
结论
由上可知,在这次试验中想把它一次性的做成功是很困难的,我们的水平还差很多,知识面不够广泛,还存在很多的问题,需要通过各种行政和经济的措施进行解决。其中在试验中碰到的问题有:在画梯形图时遇到有些不会的问题,需要去问老师通过老师的细心教导和认真研究下,这些问题都得到了一一解决。在单片机程序导入的时候会出现不同的情况,通过认真推导和反复求证最终得到一个满意的方案。找错误是很麻烦的事情,要把所有的程序都仔仔细细的来看,但是有可能你看了还是没有发现是哪有错误,只能寻找被的帮助,所以我们要认真加仔细,成功将属于你。
致谢
在我的毕业设计完成过程中,特别是在修改过程和整理过程中得到了很多老师的全力帮助跟悉心指导,让我在这条艰难的道路上不气馁,坚持一路走了下来。
大学的这个门即将向我关上,我的快乐的大学生活即将要结束,我在这里非常感谢大学里照顾我的各位老师对我的教育,让我受益颇多。尤其是感谢我的那些任课老师,他们在讲台上的认真讲课和在办公室里专心备课是我们最大的感恩,有了老师们的指点江山,激扬文字才有了我们的今天的学识和成就,大学是个美好的地方,每个学生梦想的地方,这里创造人才,培育国家栋梁,我再次衷心感谢老师们的教导,祝你们永葆青春!
参考文献
[1] 《全国大学生电子设计竞赛训练教程》(黄智伟主编 王彦 陈文光 朱卫华 编著)
[2] 《单片微型计算机与接口技术(第2版)》(李群芳 张士军 黄建 编著)
[3] 《51单片机原理与应用》 (张毅刚 主编)