数控直流电源论文.docx
《数控直流电源论文.docx》由会员分享,可在线阅读,更多相关《数控直流电源论文.docx(38页珍藏版)》请在冰豆网上搜索。
数控直流电源论文
1.
毕业设计(论文)
设计(论文)题目:
数控直流电源
指导教师:
封磊孙蔚
学生专业:
计算机控制
班级:
计控0902
学生姓名:
赵明忠王瑞函王恒张挺帅
教研室主任:
信息工程学院
二〇一一年十二月十七日
摘要
随着电子技术的不断进步,对电子仪器的要求也不断提高。
电源作为电路的动力源泉更是扮演着越来越重要的角色,不论是学校实验室还是维修中心都离不开实验电流源,然而传统的电流源不论是在控制精度还是输出特性上都无法满足要求。
随着单片机技术的不断发展和D/A,A/D技术的不断成熟,数控电流源不论是在控制精度还是在可操作性上都有传统电源无法比拟的优势。
本设计软件设计采用C语言,对单片机进行编程实现各项功能。
软件设计的关键是对直流电流源的正负步进电流控制以及显示。
设计软件完成的功能:
键盘检测和D/A转换。
本设计在参考传统电流源以及普通数控电流源的基础上,充分考虑了性价比的同时更极大地提高了数控电流源的准确性,通过软件修正后在使用普通元件的情况下,数控电流源的性能也达到了较高的水平。
关键字:
高精度、DAC0832、D/A转换、恒流源
ABSTRACT
Aelectriccurrentsourceofmachinecontrolbased
Onsingle-chipmicrocomputer
Progressunremittinglytherequesttotheelectronicsinstrumenttechnicallytoalsoraisecontinuouslyalongwiththeelectronics,thepowersupplyisthemotivesourceoftheelectriccircuittoplayamoreandmoreimportantrolemore,istheschoolalaboratorystillrepaircentersestoallcannotgetawayfromanexperimentpowersupplyinspiteof,howeverthetraditionalpowersupplyiscontrolaccuracyoroutputthetopsofthecharacteristicinspiteofandcan'tsatisfyarequest.
AlongwithsingleslicemachinetechnicalofdevelopcontinuouslywiththeD/A,theA/Distechnicalcontinuouslythematuritymakethenumbercontrolpowersupplytomakepossible,counttocontroltheelectriccurrentsourceandiscontrolaccuracyinspiteofstillonthemaneuverabilityallthereistraditionalpowersupplycan'tcomparetoofadvantage.
Thedesignsoftwaredesignedwithassemblylanguage,theMCUprogrammingachievementofthefunction.SoftwaredesignisthekeytotheDCcurrentsourceofplusorminusstepcurrentcontrolanddisplay.Designsoftwaretocompletethethreefunctions:
systeminitialization;keyboarddetectionandD/Aconverter.
Thistextinmakingreferencetothefoundationthatthetraditionalelectriccurrentsourceandcommonnumbercontroltheelectriccurrentsource,atthefullconsiderationpricecompareofinthemeantimeraisedanumbertocontroltheaccuracyoftheelectriccurrentsourcebiggest,passthesoftwarecorrectionhereafterwhileusethecircumstanceofthecommoncomponentthenumbercontrolstheelectriccurrentsourceofthefunctionalsocomestoahigherlevel.
Keywords:
Highaccuracy,DAC0832,D/Aconverter,Constantcurrentresource
目录
一绪论2
1.1电流源简介2
1.2数控直流电流源的必要性2
1.3数控直流电流源的可行性2
二.数控直流电流源设计方案3
2.1传统电流源的设计方案3
2.2数控电流源方案4
2.3数控直流电流源的方案比较5
三.数控直流电流源系统分析6
四.数控直流电流源系统硬件设计7
4.1硬件系统总电路图8
4.2本系统的特点9
4.3电源模块分析9
4.4单片机主控部分模块分析9
4.5键盘输入模块分析10
4.6显示模块分析10
4.7数模(D/A)转换模块分析10
4.8恒流源模块分析11
五.数控直流电流源软件设计12
5.1数控直流电流源模块框图12
5.2软件设计编程实现各项功能12
5.3主程序流程图13
5.4具体模块划分14
5.5软件设计编程程序清单:
(见附录2)16
参考文献17
附录118
致谢38
一.绪论
1.1电流源简介
所谓恒流源就是输出电流极其稳定不随负载变化。
为了保证电流不变,输出电压必须始终符合V=I*R。
即负载需要多大电压,恒流源就必须输出多大电压,“无条件”予以满足。
从外部看,就是Ro=∞。
如果R→∞,那么V→∞。
所以理想恒流源都不允许输出开路。
对于实际电路,当R大到一定程度,电压输出能力就会不够,输出电流必然下降,不再恒定。
在一般恒流电路中大多采用电流负反馈来恒定电流。
负反馈作用是“使之稳定”。
通过时刻“检查”控制对象的状态,并进行调整。
发现小了,就设法使之增大,发现大了,就设法使之减小。
形象地说,电流负反馈电路则是采样输出电流,计算误差,据此调节自身状态,使输出电流稳定,因而,输出特性接近恒流源。
衡量“接近”程度的指标就是输出电阻R远大于零。
一般希望Ro→∞。
1.2数控直流电流源的必要性
电流源作为常用的电子仪器在学校和研发检测部门都有着相当广泛的应用,特别在电路原理实验和电子元件老化测试中都离不开它。
随着电子技术的进步对电子仪器的要求也不断提高,电源作为电路的动力扮演着越来越重要的角色,不仅是实验室还是维修中心都离不开实验电源,然而传统的电源不论在控制精度还是输出特性上都无法满足要求。
从精度上来看传统电流源的调整大多采用旋转电位器的方式,在调整时电流值主要从电位器的刻度读出,容易产生读数误差。
从可操作性来看传统电流源电位器上的刻度有限,不能非常精细,仅仅靠电位器的几个刻度对操作者的技巧要求比较高,同时误差也较大,传统的实验电源亟待改进。
1.3数控直流电流源的可行性
由于单片机技术的不断发展和D/A元件的普及,使得数控电源成为可能,数控电源不仅在控制精度还是在可操作性上都有传统电源无法比拟的优势,由于单片机的平民化,使得数控电源与传统电源的成本日益接近。
另外SMT技术飞速发展,使得数控电源体积大大减小,为其在特殊领域的应用奠定了基础。
二.数控直流电流源设计方案
2.1传统电流源的设计方案
电源作为常用的实验仪器,在电子领域有着非常广泛的应用,传统电流源的控制部分一般采用模拟电路,即用电位器对基准电压源进行分压,再进行电压-电流转化,其电路设计简单,制造成本低廉[3],该电路原理框图如图2-1所示:
图2-1传统电流源方案
从框图不难发现传统的电流源方案存在着非常明显的缺点。
首先,输出电流无法精确掌握。
早期的电流源输出电流仅仅靠标在电位器或者指针表的读数读出,不仅读取很不方便,而且读数误差比较大。
[4]从实用的角度考虑,现在有些模拟电流源也使用了数字电流表作为电流显示,提高了其精确性,但是在可操作性方面依然存在一定的不足。
其次,用电位器产生参考电位的方法是不恰当的,在电子元件中电位器是最容易产生噪声的,对干扰也最为敏感,而且在使用一段时间以后,电位器作为机械元件会出现磨损的情况,此时该电流源的输出电流将变得不稳定,噪声大幅度提高,如不更换电位器该电流源将无法正常使用。
在可控升级方面,传统的电流源方案电路一旦确定可更改的余地较小,可升级性能差,几乎不存在什么升级的可能。
2.2数控电流源方案
随着单片机的日益成熟,其稳定性不断提高,价格不断下降使得数控电流源成为可能。
从原理图来看,数控电流源和传统电流源相似。
不同的是数控电流源是由单片机控制的D/A提供参考电压,取代了传统电流源的电位器,使得电流源不仅是在控制精度上还是在使用寿命上都有很大的提高。
另外单片机具有可编程性,可以进行更为复杂的控制,如输出特定的波形,和电脑通讯,实现智能化控制等,这些功能都是传统电流源难于实现的。
该电路原理框图如图2-2所示:
经过多年的发展,传统电流源的电流控制电路已经相当成熟,在用D/A替代了电位器以后,其性能有了很大的提高。
图2-2数控电流源原理图
2.3数控直流电流源的方案比较
方案一:
通过编码开关来控制存储器的地址,根据地址输出对应的数字量送数模(D/A)进行转换,再根据输出的电压量来控制电流的变化,同时,通过四个编码开关的BCD码送给4511及数码管显示。
此方案的优点是电路原理简单,缺点是数据量大且存储器存储容量有限,在实验过程中发现编码开关不稳定,所以不宜采用。
其电路方框图如图2-3所示:
图2-3方案一方框图
方案二:
采用以89C52为核心的单片机系统来控制D/A的数据输入并将其转换成模拟量输出,同时单片机把输入的预值电流送数码管显示,再改变输出的电压量来控制电流的变化,此方案的优点是成本低,电路简单,可升级性强。
所以在电路设计和制作中采用方案二。
其电路方框图如图2-4所示:
图2-4方案二方框图
三.数控直流电流源系统分析
本设计是基于单片机的一种数控电流源,与一般电流源相比具有可设置输出电流值、步进调整、输出电流给定值等特点。
本设计电路硬件以AT89C52作为核心控制器分五个模块:
单片机主控模块、键盘输入模块、显示模块、数模(D/A)转换模块和恒流源模块。
单片机控制模块以单片机为核心,将输入电流信号转换成数字量输出;恒流源模块将D/A转换来的电压模拟量通过恒流源电路变成恒流;显示模块是由74LS595移位寄存器和数码管构成,显示预值。
本设计系统软件完成三个功能:
(1)系统的初始化,包括各外围接口芯片的初始化和电流起始值的初始化;
(2)键盘检测包括电流的预置与步进调整;
(3)实现D/A转换。
四.数控直流电流源系统硬件设计
4.1硬件系统总电路图
图4-1数控直流电流源硬件设计总电路图
4.2本系统的特点
在系统设计时充分考虑了系统的性价比,在电源模块采用了有源滤波,并且使用两个8位D/A来提高其分辨率,使得系统可以输出五万多个电流值,通过软件修正后可以非常准确的输出相应电流值,较以往的数控电流源有了大大的提高。
同时得益于有源滤波的引入,其输出纹波也大大减小。
4.3电源模块分析
其中+5V给DA0832供电以及单片机(AT89C52)、数码显示(包括74LS595,ICL7107)、键盘;-5V为DA0832参考电压。
要求输出的电流最大值为2000mA。
提供的21V的电源用于LM358和VCC。
由于为了保证电路的性能采用线性稳压、滤波方式,从电路的可靠性以及性价比考虑采用标准的7812扩流输出方案。
4.4单片机主控部分模块分析
ATMEL公司的AT89C52单片机与MCS-51产品指令系统完全兼容,由8K字节可重擦写Flash闪速存储器,256*8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器和6个中断源组成。
并且该单片机经济实用使用广泛。
AT89C52单片机的最高时钟脉冲频率已经达到了24MHz,它内部已经具备了振荡电路,只要在AT89C52的两个引脚(即19、18脚)连接到简单的石英振荡晶体的2端即可,晶体的2个管脚也要用30pF的电容耦合到地。
89C52的复位引脚(Reset)是第9脚,当此引脚连接高电平超过2个机器周期,即可产生复位的动作。
以12MHz的时钟脉冲为例,每个时钟脉冲为1μs,两个机器周期为2μs,因此,在第9脚上连接一个4μs的高电平脉冲,即可产生复位动作。
最简单的就是只要一个电阻跟一个电容的复位电路。
4.5键盘输入模块分析
键盘对单片机输入数据,键盘为4*4矩阵键盘,用AT89C52的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线。
4×4矩阵键盘识别处理每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:
确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,设置了0-9十个数字和确认,删除键以及两个功能键步进加1、减1。
4.6显示模块分析
74LS595为串行输入并行输出的移位寄存器,可以作为静态显示器接口,接在89C52的串行口上用于数码的显示。
74LS595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。
这在串行速度慢的场合很有用处,数码管没有闪烁感。
与164只有数据清零端相比,595还具有输出时能/禁止控制端,可以使输出为高阻态。
4.7数模(D/A)转换模块分析
由于采用了粗调和细调分段控制以及软件修正,使得电流输出精度大大提高,从成本和元件采购方面综合考虑,采用DAC0832电路作为D/A转化电路。
DAC0832是一个8位D/A转换器芯片,单电源供电,从+5V~+15V均可正常工作,基准电压的范围为±10V,电流建立时间为1µs,CMOS工艺,低功耗20mA。
由1个8位输入寄存器、1个8位DAC寄存器和1个8位D/A转换器组成和引脚排列。
具体电路设计采用直通方式。
4.8恒流源模块分析
恒流源电路运放的输出端通过三极管与反向输出端相连,构成负反馈电路,由于运放的同相输入端与反相输入端在理论上是虚短的,且运放的输入电阻无穷大,因此反相端和同相端的电位相等,即
又由于三极管的发射极
与集电极电流
仅相差微小的基极电流,可视为两者相等即
。
因此可以通过改变同相输入端的电压来调整输出电流
的大小。
例如:
时,
但是在测试
对
的控制比预期效果差,总是小于理论值。
同时R2也是负反馈电阻,当电路电流受外界影响而减小的时候,R2的端电压也随之降低,三极管的Ibe也会上升。
由于三极管的驱动电流较大,在试验中输出电流偏小,达不到要求精度,所以采用方案二,用场效应管代替三极管输出,与三极管相比场效应管具有驱动电流小,电流噪声底,输出电流大的特点。
五.数控直流电流源软件设计
5.1数控直流电流源模块框图
本设计软件要实现的功能是:
键盘对单片机输入数据,单片机对获得的数据进行处理,送到数模转换器,再送到恒流源模块,实现数字量对电流的控制。
模块框图见图5-1:
图5-1单片机模块方框图
5.2软件设计编程实现各项功能
系统的软件设计对单片机进行编程实现各项功能。
软件设计的关键是对直流电流源的正负步进电流控制以及显示。
软件实现的功能有:
1、系统的初始化,包括各外围接口芯片的初始化和电流起始值的初始化;
2、键盘检测,包括电流的预置与步进调整;
3、实现D/A转换。
5.3主程序流程图
在综合硬件部分各个功能模块设计的基础上,再参照各芯片引脚功能和时序仿真电路工作原理,我采取了包括3部分主要功能的程序流程图。
在系统启动的时候对89C52各端口进行初始化,使其做好数据接收准备工作;随后系统可以进入工作状态,键盘扫描子程序开始运行,检查是否有键按下,若无键按下则继续扫描,当有键按下时对键值进行比较判断,没有发生错误则进行初值设定;经TXDP3.1串行输出口将初值数据送入具有串行输入并行输出带有锁存功能的74LS595移位寄存器,经由74LS595一方面把数据传输到D/A转换芯片DAC0832,接着D/A芯片将接收到的数字信号转换成模拟量输出电压;另一方面74LS595直接将初值数据输出到数码显示管显示。
主程序流程图如下图所示:
图5-2软件主程序流程图
5.4具体模块划分
按键处理程序模块如图5-3所示:
图5-3按键处理程序流程图
在89C52准备就绪和数码显示管已经初始化的状态下,操作人员可以利用键盘直接进行确定的数据输入;当然也可以在某一具体的数字上用“ADD+”和“SUBB—”进行加1、减1的步进输入,键盘扫描程序不停地对键盘输入接口进行扫描,判断是否有键按下,若无键按下则继续扫描,当有键按下时对键值进行比较判断,查找相应的按键号并转至处理程序进行处理;当按下的是“0~9”的数字键,程序进行数据处理并显示,当按下“ADD”和“SUBB”键时系统进行步进设置,当操作人员最后确认自己输入数值无误的情况下按“确认”键,程序按公式把数据转换成数值,使当前键入数值送系统处理送到D/A输出,若有误则按“清除”键,执行相应程序清除当前值,操作人员可重新按键进行设置。
数据处理以及显示模块其具体流程图如5-4图所示:
图5-4数据处理以及显示模块其具体流程图
在89C52已经初始化并接收到键盘输入的数据时,C52开始通过读取起始地址对其中的数据进行BCD码转换,将转换后的数据寄存到移位寄存器,接着开始读取下一位地址中的数据再进行BCD码转换处理,又传送至移位寄存器,依次选择表单,进行查表处理直到处理完一次输入的数据并且把数据经D/A转换输出,经由74LS595一次并行输出到数码显示管,最后返回。
5.5软件设计编程程序清单:
(见附录2)
参考文献
1)李华等编著·MCS-51系列单片机实用接口技术·北京:
北京航空航天大学出版社,1993
2)张立科·单片机通信技术与工程实践·北京:
人民邮电出版社,2005
3)张凯等编著·MCS-51单片机综合系统及其设计开发·北京:
科学出版社,1996
4)朱宇光编著·单片机应用新技术教程·北京:
电子工业出版社,2000
5)余永权·89系列FLASH单片机原理与应用·北京:
电子工业出版社,2000
6)楼然苗,李光飞·51系列单片机设计实例·北京:
北京航空航天大学出版社,2003
7)李东生·PROTEL99SE电路设计技术入门与应用·北京:
电子工业出版社,2002
8)张有顺编著·MCS-51/96系列单片机简明教程·北京:
中国脊梁出版社,1998
9)王兆安,黄俊编著·电力电子技术·西安:
西安交通大学出版社,2002
10)黄继昌,仝庆居编著·电源专用集成电路及其应用·北京:
人民邮电出版社,2006
11)肖金球·单片机原理与接口技术·北京:
清华大学出版社,2004
12)范风强,兰婵丽编著·单片机语言C51应用实战集锦·北京:
电子工业出版社,2005
13)姜大源,王胜元·单片机技术·北京:
高等教育出版社,2005
14)王川·实用电源技术·重庆:
重庆大学出版社,2000
15)何希才,张明莉编著·新型稳压电源及应用实例·北京:
电子工业出版社,2004
附录1
总电路图
附录2
程序清单
1.应用74LS595实现键盘输入与数码管显示
#include
#include
#include
#include
//***函数定义***
voidlong_delay(void); //长延时
voidshort_delay(void); //短暂延时
voiddelay10ms(unsignedchar); //延时10MS
voidwrite7279(unsignedchar,unsignedchar); //写入到HD7279
unsignedcharread7279(unsignedchar); //从HD7279读出
voidsend_byte(unsignedchar); //发送一个字节
unsignedcharreceive_byte(void); //接收一个字节
void Set_DA_Data(unsignedcharDataH,unsignedcharDataL);
//***变量及I/O口定义***
dataunsignedchardigit[5];
dataunsignedcharkey_number,j,k,cursetvalue,DataH,DataL;
unsignedinttmr,ig,is,ib,iq;
unsignedlongcnter;
unsignedlongCurValue;
unsignedcharCurStepLen;
unsignedlongP_Data;
sbitcs=P1^4; //csatP1.4
sbitclk=P1^5; //clk连接于P1.5
sbitdat=P1^2; //dat连接于P1.2
sbitkey=P1^3; //key连接于P1.3
sbitADCS=P1^0;
sbitADWR=P1^1;
74LS595指令
#defineCMD_RESET0xa4
#defineCMD_TEST0xbf
#defineDECODE00x80
#defineDECODE10xc8
#defineUNDECODE0x90
#defineRLC0xa3
#defineRRC0xa2
#defineRL0xa1
#defineRC0xa0
#defineHIDE