1、数控直流稳压电源要实现电压的键盘化输出控制,同时要具备输出、电压比较及数组存贮与预置等功能。另外,根据要求电源还应该可以通过按键选择一些特殊的功能。如何有效的实现这些功能也是课题所需研究解决的问题。(3)设计要求。输出电压围:0.5V10V,电压步进:0.1V;输入电压由液晶显示;自制键盘,可以通过键盘输入电压值;输出电压值可在输出端用万用表测得;1.4 论文的总体结构第一部分简要介绍课题的背景、意义、国外研究现状,介绍本文的主要研究容, 包括实现的目标、功能的完备和性能指标。第二部分提出了数控直流电源的总的设计思路和几种实现方案论证,以及相关系统实现的功能,对这些方案的可行性进行比较分析,选
2、择了一种基于51 单片机系统的数控直流电源的方案,并对该方案运用的基础知识和使用的器件作出扼要的介绍。第三部分模块化详细阐述了基于51 单片数控直流电源的系统整体结构和设计框图,包括数据单片机控制模块、数模转换模块、稳压控制模块、及键盘模块。第四部分主要阐述了数控直流电源的软件系统的设计思路和软件设计流程。第五部分对数控直流电源的性能参数进行测量与评估,以及对误差进行分析。第六部分对本数控直流电源的给出了本课题的结论。本论文共分6个部分,主要阐述了设计方案的选择和确定以及对系统硬件设计、软件设计作了较为具体的论述。由于本人知识、实际应用水平及工程实际水平有限,在本次毕业设计中难免产生一些错误,
3、敬请各位老师批评指正。2 总体方案论证本章从系统方案与设计等一些方面来进行论证。2.1 方案的比较与选择方案一:设计线性稳压电源,是目前常使用的直流稳压电源,它利用分立器件组成,体积大,效率低,可靠性差,操作使用不方便,自我保护功能不够全,因而故障率高。方案二:设计开关电源。在前期方案设计中采用PWM脉宽调制。它的功耗小,效率高,稳压围宽,电路形式灵活多样,功耗小,效率高。在制作过程中发现,PWM3占空比的线性变化使相应的电流呈非线性变化,经分析发现滤波电容的存在对占空比很小的PWM波积分效果明显,导致电压的非线性变化更显著,特别是PWM占空比很小时(希望得到输出的电压很小),利用单片开关电源
4、的PWM技术控制开关的占空比来调整输出电压的,以达到稳定输出的目的。但用数字量控制的作用更加明显。方案三:设计智能型稳压电源,以单片机为控制核心,结构紧凑,价格低廉,性能卓越,而且由于单片机具有计算和控制能力,利用它对采样数据进行各种计算,从而可排除和减少由于干扰信号和模拟电路引起的误差,提高稳压电源输出电压和控制电流精密度,降低了对模拟电路的要求。与方案一、二相比,方案三中提及的智能稳压电源具有小型化、高效率、低成本、高可靠性、低干扰、模块化和智能化等优点。终上所述,选择方案三。采用常用的51芯片作为控制器,P0口与DAC0832的数据口直接相连,比较输出电压模块LM324的电压分辨率0.1
5、V。所以,当MCU输出数据增加1 的时候,最终输出电压增加0.1V,当调节电压的时候,可以以每次0.1V的梯度增加或者降低电压,并通过LCD电路来显示,本主电路的原理是通过MCU控制DAC0832的输出电压大小,通过DAC0832的转换,给电压比较模块,真正的电压、电流还是由比较电压输出模块LM324输出。方案原理图如图2.1所示。图2.1 方案原理图2.2 系统主要模块的概述本设计采用AT89C51单片机、DAC0832、四运算放大器LM324、独立键盘和液晶显示LCD1602来实现整体电路功能。主要是对AT89C51单片机的各个I/O口的充分利用。P0口连接液晶显示电路,P1口连接独立键盘
6、电路,P2口直接连接DAC0832芯片输出电压,最终的电压通过带有真差动输入的四运算放大器。这种设计总体上能充分利用单片机各个接口而不必添加额外芯片,大大减少成本和电路板面积。2.2.1 AT89C51单片机性能AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,含4K容量的可反擦写的只读程序存储器和128字节的随机存取数据存储器,该器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片通用8位中央处理器和flash存储单元,功能强大可应用于许多高性价比的场合,可灵活应用于各种控制领域。AT89C51芯片引脚图如图2.2所示。图2.2 AT
7、89C51引脚图 (1)AT89C51主要功能指标:(a)与MCS-51指令集完全兼容;(b)4k字节可重擦写Flash闪速存储器;(c)1000次擦写周期;(d)全静态操作:0Hz24MHz;(e)三级加密程序存储器;(f)1288字节部RAM;(g)32个可编程I/O口;(h)2个16位定时/计数器;(i)6个中断源;(j)可编程串行UART通道;(k)低功耗空闲和掉电模式;(2)AT89C51的引脚及功能介绍:(a)VCC:供电电源端。(b)GND:接地端。(c)P0口:P0口是一组8位漏级开路型双向I/O口,也即地址/数据总线复用口。每位可吸收8个TTL门电流。P0能够用于外部程序数据
8、存储器或者程序储存器,此时它可以分时复用为转换地址和数据总线。在运用Flash编程时,P0口作为接受指令字节;在程序校检时,输出指令字节,此时要求外接上拉电阻。(d)P1口:P1口是一个自带部上拉电阻的8位双向I/O口,P1口输出缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,通过部上拉电阻使端口为高电平,此时可用作输入口,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。Flash编程和校验时,P1口用做低8位地址的接收。(e)P2口:P2口是一个自带部上拉电阻的8位双向I/O口,P2口的输出缓冲器可驱动4个TTL逻辑门电路。对端口写“1”时,其管脚被部上拉电阻拉高置高电平
9、,且作为输入。作为输入口使用时,P2口的管脚被外部拉低,将输出电流。在访问外部程序存储器或16位地址外部数据存储器时,P2口送出地址的高8位。P2口在Flash编程和校验时,同样也接收高位地址信号和其它控制信号。(f)P3口:P3口是一组带有8位部上拉电阻的双向I/O口,可接收输出4个TTL门电流。对P3口写入“1”后,它们被部上拉电阻提高为高电平,并当作输入口。作为输入端时,由于外部下拉为低电平,P3口将用上拉电阻输出电流。(g)RST:复位输入信号。当振荡器工作时,要保持RST脚两个机器周期的高电平时间来使单片机复位。(h)ALE/PROG:当访问外部存储器或数据存储器时,地址锁存允许的输
10、出电平用于锁存低8位字节。在Flash编程期间,该引脚用于输入编程脉冲。工作时,ALE端以振荡器频率1/6的频率周期输出固定的正脉冲信号。因此它可用作对外部输出时钟或用于实现定时。要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。此外,单片机执行外部程序时,应将ALE设置为无效。(i)/PSEN:程序储存允许输出是对外部程序存储器的读选通信号,当单片机由于外部程序存储器取指令时,每个机器周期两次均有效,即输出两个脉冲。(j)/EA:外部允许访问端。当EA端保持低电平时,则在此期间CPU仅访问外部程序存储器(地址为0000HFFFFH)。如果加密LB1被设置时,EA将部锁定为复位;当E
11、A端保持高电平时,CPU执行部程序存储器中的指令。在Flash编程时,该脚也用于+12V的编程电源。(k)XTAL1:振荡器反相放大器及部时钟工作电路的输入端。(l)XTAL2:振荡器反相放大器的输出端。2.2.2 DAC0832数模转换器DAC0832是一种采样频率8位的D/A转换集成芯片,该芯片与单片机系统完全兼容。这个D/A转换芯片具有价格低廉、接口简单、转换容易控制等优点,在单片机应用系统中得以广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路和转换控制电路构成。(1)DAC0832的主要功能指标:(a)8位分辨率;(b)电流稳定时间仅1us;(c)可单缓冲
12、、双缓冲或直接数据输入;(d)在满量程下可以调整线性度;(e)可单一电源供电;(f)低功耗为20mW。(2)DAC0832引脚及功能介绍:(a)D0D7:8位数据输入线,TLL电平,有效时间大于90ns;(b)ILE:数据锁存允许控制信号输入线,高电平有效;(c)CS:片选信号输入线,低电平有效;(d)WR1:数据锁存器写选通信号输入线,负脉冲有效;(e)WR2:DAC寄存器写选通信号输入线,负脉冲有效;(f)IOUT1:电流输出端,当输入值为1时,Iout1最大;(g)IOUT2:电流输出端,其值与Iout1值之和为常数;(h)Rfb:反馈信号输入线,芯片部有反馈电阻;(i)Vcc:电源输入
13、端,工作电压围为+5V+15V;(j)Vref:基准电压输入端,Vref的电压围为-10V+10V;(k)AGND:模拟信号接地端,模拟信号和基准电源的参考接地;(l)DGND:数字信号接地端;2.2.3 四运算放大器LM324LM324为价格低廉的带有真差动输入的四运算放大集成电路。与单电源应用场合的标准运算放大器相比,它具有一些显著优点。该四运算放大器可以工作在3V以下或者32V以上的电源,其静态电流很低。该芯片共模输入电压围包括了负电源,因此消除了在许多应用场合中采用外部偏置器件的必要。LM324具有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源输入端,“
14、Vo”为电压输出端。在两个信号输入端中,Vi(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。(1)LM324的主要参数特性描述:(a)4运算低功率放大器;(b)1.2MHz带宽;(c)3dB带宽增益乘积为1.2MHz;(d)变化斜率为0.5V/s ;(e)增益带宽为1.2MHz;(f)工作温度围为0C70C;(g)电源电压围3V32V;(h)输入最大偏移电压7mV;(i)额定电源电压为+15V;(2)LM324的主要功能特点:(a)短路输出保护功能;(b)自带真差动输入级;(c)可在电压围3V32V单电源工
15、作:;(d)低偏置电流最大为100nA;(e)具有部补偿的功能;(f)共模围拓展至负电源;(g)具有输入端静电保护的功能;2.2.4 LCD显示电路LCD1602 可以在LCD显示屏上完整显示32 个英文字符和日文等一些字符,适合显示英文文字信息量较小的地方。可以应用在计算器、频率计、信号发生器、时钟等产品显示上。引脚图如图2.3所示。图2.3 LCD1602引脚(1)LCD1602主要技术参数:(a)显示容量:32字符;(b)芯片工作电压围为4.5V5.5V;(c)正常工作电流2mA,不包括背光源电流;(d)模块最佳工作电压设置5V;(e)自带英文和日文字库,使用简便;(2)LCD1602引
16、脚接口说明:(a)1脚:VSS为地电源;(b)2脚:VDD接5V正电源;(c)3脚:V0为液晶显示器对比度调整端,接正电源时对比度较弱,接地电源时对比度较高,对比度过高时会产生阴影,使用时可以通过一个10K的滑动变阻器调整其对比度。(d)4脚:RS为寄存器选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。(e)5脚:R/W为读写信号端,高电平时进行读操作,低电平时进行写操作。当RS和RW为低电平时可以写入指令或者显示地址。(f)6脚:E端为使能控制端,当E端由高电平变为低电平时,LCD就执行命令。(g)7脚14脚:D0D7为8位双向数据线。2.2.5 键盘电路目前键盘电路常用的主要有两种
17、,一种是独立式键盘电路,另一种是矩阵式键盘电路。独立式键盘电路是指直接用I/O口线构成的单个按键电路,每根I/O口线上按键的工作状态不会影响其它I/O口线的工作状态。这种方式无论在硬件连接还是软件编译处理上都比较简单,直接选取输入键值,简单快捷,这种方式在I/O富余的情况下可以使用。矩阵式键盘电路是指按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5V时,被钳位在高电平状态。键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。独立式按键电路配置灵活,软件结构简单。在本课题中由于键盘数目较
18、少,经过所查阅的参考资料经综合考虑最终决定采用独立式键盘,这样可以充分利用I/O口,简化软件编程,并且节省电路板面积。3 硬件电路设计硬件电路主要由模拟电路和数字电路两大部分组成。本设计的数控直流电源是由51单片机为主控模块,DAC0832 为数模转换器,四运算放大器LM324为比较输出芯片,键盘模块由三个独立按键组成,系统实现闭环控制。系统主要由微控制器模块、比较输出模块、显示模块、键盘模块、D/A转换模块五部分构成,具有电压可预置、可步进调整、输出的电压信号。系统框图如图3.1所示。图3.1 系统总体框图 3.1 单片机控制模块的设计单片机控制模块即为主机部分,整个控制都是依靠单片机完成。
19、从功能和价位以及本题目要求来看,我选择51单片机作为本方案的控制核心,P0 口接液晶显示作为输出数据显示传输,同时P1.5、P1.6、P1.7是液晶LCD控制端口;P2 口接 DAC0832 作为输出数据传输,P3.0 为DAC0832 控制端口;P1.0、P1.1、P1.2接三个独立键盘作为输入数据传输。单片机控制电路如图3.2所示。图3.2 单片机控制电路 3.2 单片机时钟电路的设计MCS-51单片机各功能部件的运行都是以时钟信号为基准,在时钟电路工作下,系统才能有条不紊的工作,因此时钟频率直接影响着单片机的速度,时钟电路的质量也直接影响着单片机系统的稳定性。MCS-51单片机有两种时钟
20、产生方式:部时钟方式和外部时钟方式。本次毕业设计采用的是部时钟方式作为单片机时钟产生方式。在单片机的部有一用于构成振荡器的高增益反相放大器,即为输入端XTAL1和输出端XTAL2。在此两引脚跨接石英晶体和微调电容器,即可构成一个稳定的振荡器。在频率稳定性要求不高,并尽可能廉价时,可采用瓷谐振器和电容器组成并联谐振回路。部振荡电路便产生自激振荡,用示波器可以观察到XTAL2端输出的时钟信号。振荡频率取决于所用石英晶体的谐振频率和电容的大小。晶振的频率围一般为1.2MHz12MHz,晶振的频率越高,系统的时钟频率越高,单片机的运行速度就越快。图3.3给出了采用部时钟方式的晶体振荡器的单片机时钟电路
21、图。图3.3 单片机时钟电路元器件参数选择如下:AT89C51的振荡频率可在1MHz24MHz围选取,本设计的时钟电路选取12MHz的振荡频率。C1、C2的电容取值无严格要求,因其取值对振荡频率输出稳定、大小、起振速度有略微影响。一般对石英晶体,可取典型值30pF左右,本次毕业设计C1、C2均选取了33pF的电容器。对瓷谐振器,可取典型值40pF左右。3.3 单片机复位电路的设计复位电路是单片机系统中必不可少的组成部分。所谓的复位就是将单片机重新启动,使单片机部的所有寄存器都回到初始状态。复位电路方式有上电自动复位方式和手动复位方式,本设计中系统采用手动复位方式。复位电路如图3.4所示。图3.
22、4 手动复位电路手动复位过程如下:按下键后,电容器被短路放电、RST直接与VDD相连,此时为高电平,从而进入复位状态;松手后,电源开始对电容充电,此时充电电流在电阻上,形成高电平送到RST端,仍然是复位状态;最后,电容充电结束,电流降为0,电阻上的电压也降为0,RST降为低电平,系统开始正常工作。3.4 键盘模块的设计键盘电路是由一组规则排列的按键组成,一个按键实则是一个开关元件,也就是说键盘是一组规则排列的开关。键盘按照结构原理可分为两类,一类是触点式开关键盘,如机械式开关、导电橡胶式开关等;另一类是无触点开关键盘,如电气式键盘,磁感应键盘等。两者相比,前者造价较低,后者寿命较长。目前,单片
23、机系统中最常见的是触点式开关按键。键盘按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键盘的识别,非编码键盘主要是由软件设置来实现键盘的定义与识别。全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖和多键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统应用较少。非编码键盘只简单地提供按键,其它工作均由软件完成,由于其经济实用,从而较多地应用于单片机系统中。本系统采用独立式按键结构,并结合非编码键盘相应原理。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独
24、占用一根I/O口线 。每个按键的工作不会影响其它I/O口线的状态。图3.5 键盘接口图独立式按键软件常采用查询式结构,先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。本设计共设计三个按键,分别为“增加”键,“减少”键,“确定”键,三个按键分别与P1.0,P1.1,P1.2连接,电路图如图3.5所示。3.5 显示模块的设计用于单片机系统设计显示的方式主要分为两类:LED显示和LCD显示。前者显示亮度较高,制作成本低,适合做远距离显示,但其功耗较大,所用端口随显示的数字位数增加而增加。如果采用动态扫描方式显
25、示,则占用CPU的存空间,如果采用静态显示则需要加锁存器,加大硬件制作量,就该题目要求来说,需要设定电压显示,又与实际电压比较再显示,LCD显示更为清晰、直观,从上面诸多因数来看,采用LCD显示比较理想。LCD最常用的就是液晶1602,LCD1602 可以在LCD显示屏上完整显示32 个英文字符和日文字符,适合显示英文文字信息量较小的地方,可以清晰显示出同时还能显示英文名称和电压/电流单位。通过单片机编程控制第4脚RS数据/命令选择端,第5脚R/W读/写选择端,第6脚使能信号,从而实现显示效果。本设计中LCD1602接法如图3.6所示。图3.6 LCD1602 显示电路3.6 数模转化模块的设
26、计本设计采用DAC0832的数模转换器,P2口和DAC0832的数据口直接相连,DA的/CS和/WR1连接后接地,/WR2和/XEFR连接输出同时也接地,ILE信号引脚接高电平,DA的8脚接参考电压,芯片处于直通状态,此时8位数字量一旦到达DI0DI7输入线上,就立刻进行D/A转换并输出结果。通过独立式键盘给单片机输入一数据,这个数据在显示电路上显示,单片机保存该数据,然后在键盘上按确认键,就是把DAC0832电路打开把数据传输进去,这个芯片把送过来的数字信号转换成模拟信号后经过比较电路最终输出所要电源电压。3.7 电压比较输出模块的设计本设计中真正的电压输出是通过四运算放大器LM324的末端
27、输出的,具体的设计如图3.7所示,DAC0832的11脚接LM324的6脚,LM324的5脚接地,4脚和11脚分别连接+12V和-12V,DAC的9脚接1K的电阻与运放的7脚相连,构成比较回路。选用集成型电压比较器LM324是为了使电路工作更加可靠,同时该类芯片具有负载能力强、抗干扰性优越等特点,可以更好的实现电路功能。图3.7 比较输出电路4 软件设计在单片机应用系统开发中,常用的编程语言有汇编语言和C语言两种。这两种开发语言都具有各自的特点。以下就这两种开发语言的特点分别作简介并根据实际开发情况,选择适合的开发语言。汇编语言的特点:可直接操纵系统的硬件资源,从而可以编写高质量的编码。但是采用汇编语言编写比较复杂的数值计算程序相对比较困难,又因汇编语言源程序的可读性远不如高级语言,如果想修改程序功能,得花费心思重新阅读程序,效率不是很高。C语言的特点:C语言程序的优点是
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1