简易数控直流电源设计的报告.docx
《简易数控直流电源设计的报告.docx》由会员分享,可在线阅读,更多相关《简易数控直流电源设计的报告.docx(25页珍藏版)》请在冰豆网上搜索。
简易数控直流电源设计的报告
简易数控直流电源
摘要
数控直流电源是一种常见的电子仪器,广泛应用于电路,教学试验和科学研究等领域。
目前使用的可控直流电源大部分是点动的,利用分立器件,体积大,效率低,可靠性差,操作不方便,故障率高。
随着电子技术的发展,各种电子,电器设备对电源的性能要求提高,电源不断朝数字化,高效率,模块化和智能化发展。
以单片机系统为核心而设计的新一代——数控直流电源,它不但电路简单,结构紧凑,价格低廉,性能优越,而且由于单片机具有计算和控制能力,利用它对数据进行各种计算,从而可排除和减少模拟电路引起的误差,输出电压和限定电流采用数输入采用键盘方式,电源的外表美观,操作使用方便,具有较高的使用价值。
关键词:
数控直流电源单片机
ABSTRACT
Numericalcontroldcpowerisacommonelectronicinstrument,iswidelyusedinthecircuit,theteachingexperimentandscientificresearch,etc.Currentuseofcontrolledmostofthedcpowersupplyisthepointstart,theuseofthedevicedivision,bigvolume,lowefficiency,poorreliability,operationconvenience,nothighfailure.Withthedevelopmentofelectronictechnology,variouskindsofelectronic,electricalequipmenttoimprovetheperformancerequirementsofpower,thepowersupply,highefficiency,theconstantdigitalmodularandintelligentdevelopment.Basedonthesinglechipcomputersystemasthecoreandthedesignofanewgenerationofnumericalcontroldcpower,it-notonlycircuitissimple,compactstructure,thepriceislow,superiorperformance,andbecausethesingle-chipmicrocomputerwiththecalculationandcontrolability,useitfordata,soastoeliminateallkindsofcalculationandreducetheerrorcausedbytheanalogcircuit,outputvoltageandcurrentlimitthenumberofthekeyboardinputway,thepowersupplyappearance,convenientinoperation,hashigherapplicationvalue.
Keywords:
NumericalcontroldcpowerSingle-chipmicrocomputer
第一章设计任务与要求.........................................................1
1.1基本功能…………………………………………………..1
1.2扩展与创新………………………………………………..1
第二章系统方案………………………………………..……2
2.1直流稳压电源...................................2
2.2总设计方案.....................................2
第三章系统硬件设计………………………………….…….5
3.1数控部分.......................................5
3.2稳压输入部分...................................7
第四章软件设计………………………………….…………..9
4.1软件设计流程图.................................9
第五章测试结果及结果分析……….………………………11
5.1系统功能测试..................................11
5.2系统指标测试..................................11
5.3系统误差分析..................................12
致谢…………………………………………………………….13
参考文献………………………………………………...……..14
附录............................................................................................15
第一章设计任务与要求
1.1基本功能
(1)输出电压:
范围0~+9.9V,步进0.1V,纹波不大于10mV;
(2)输出电流:
500mA;
(3)输出电压值由数码管显示;
(4)由“+”、“-”两键分别控制输出电压步进增减;
(5)为实现上述几部件工作,自制一稳压直流电源,输出±15V,+5V。
示意图如下:
图1.1
1.2扩展与创新
(1)输出电压可预置在0~9.9V之间的任意一个值;
(2)用自动扫描代替人工按键,实现输出电压变化(步进0.1V不变);
(3)扩展输出电压种类(比如三角波等)。
第二章系统方案
2.1直流稳压电源
稳压电源是能为负载提供稳定交流电源或直流电源的电子装置。
对一个理想的直流
稳压电源来说,应具有下述特点:
(l)在直流和所有频率下,输出阻抗为零;
(2)在交流电源电压很宽的范围内,并在供电电路所要求的负载电流范围内,调整率为零;(直流电压输出恒定)
(3)功耗为零;
(4)电网电压和负载电流变化时,输出电压能立即恢复稳定;
(5)当过载电流消除时,过载保护装置能自动恢复到正常工作状态。
为了给元器件提供稳定的电流输出,我自制了一个直流稳压电源,电路图如下:
图2.1
2.2总体设计方案
方案一:
方案一如图2.2所示,采用单片机+数字电位器方案。
此方案就是把常用的电位器调节电源中的机械式电位器用数字电位器代替。
数字电位器是没有机械抽头,具有较小的震动公差和较高的机械可靠性,且其可编能力允许可重复可靠地返回同一抽头位置,因此此方案线路较为简单、可靠。
但现有的数字电位器分辨率有限,常见的有32抽头、64抽头,构成的分压电路精度有限,无法满足设计要求。
图2.2方案一
方案二:
方案二如图2.3所示,此方案采用单片机+串联调整型稳压电源。
单片机输出电压控制数字量送至DA/转换器,经DA/转换器输出的模拟电压作为误差放大器的基准电压。
由于理想DA/转换器的输出量A与输入量D和R的关系应为A=R·D。
对一个确定的DA/转换器,模拟基准电压R往往是一个固定值,相当于一个比例系数。
显然这里DA/转换器输出的电量不能连续可调,而只能以所用D/A转换器的绝对分辨率为量化单位增减,所以D/A转换器实际上是准模拟量输出。
这样通过改变稳压电源的基准电压的方法就可使实现输出的步进增加(或减小),稳定性高,纹波小,可靠性高,调试容易。
缺点是要求功率器件一调整管严格工作在线性区,靠调整管之间的电压降来稳定输出,当输出电压较低时,稳压电路的输入输出端压降太大,调整管静态损耗大,发热量大,使得电路总效率不高。
图2.3方案二
方案三:
采用EasyARM2103为核心控制器,具有电压可预置、可步进调整、输出的电压信号和预置的电压信号可同时显示的数控直流电源,其系统框图如图2.4所示。
系统由EasyARM2103开发板、八位LED数码显示、电源电路、D/A、A/D电路、功放电路、短路保护和报警电路、稳压输出电路八部分组成。
系统通过“开关”、“+”、“-”三个按键来控制预置电压的升降,并通过数码管显示。
EasyARM2103单片机送出相应的数字信号,在D/A转换之后输出电流,经集成运放OP07转换、OP07放大、RC网络滤波,最终稳定。
同时由LED数码管显示实际输出电压。
图2.4方案三
综合观上三种方案,不难确定方案三为最佳方案。
第三章系统硬件设计
3.1数控部分
主要由数字电路构成,它要完成键盘控制、预置电压显示控制、电压控制字输、数码管显示控、电流过流软件保护及报警等功能。
由于控制功能多,选用EasyARM2103开发板作为主控系统。
其核心芯片图如图3.1。
图3.12103核心控制芯片
3.11ARM2103开发板
LPC2103是一个基于支持实时仿真的16/32位ARM7TDMI-SCPU的微控制器,并带有32kB的嵌入高速Flash存储器,128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。
32/16位定时器、增强型10位ADC、定时器输出匹配PWM特性、多达13个边沿、电平触发的外部中断、32条高速GPIO,使得LPC2103微控制器特别适用于工业控制和医疗系统中,其食物图如图3.2所示
图3.2
3.12键盘显示电路
此次的显示部分由键盘显示板来完成,它由2个8位LED数码显示器和2片SN74HC164CN芯片加上8个按键组成,具体电路图如下图3.3。
图3.3
3.2稳压输出部分
稳压输出部分原理图如图3.4所示。
这部分将控制部分送来的电压控制字数据转换成稳定电压输出。
他由数/模转换器(DAC0832)、集成运放(OP-07CP)、晶体三极管(TIP122、TIP127、9015、9014)、基准电压源组成。
图3.4
3.21主电路的工作原理及参数计算
电压输出范围0~9.9V,步进0.1V,共有100种状态,8为字长的D/A转换器具有256种状态,能满足要求,设计中用两个电压控制字代表0.1V,当电压控制字从0,2,4,…,198时,电源输出电压为0.0V,0.1V,…,9.9V。
电路选用的D/A转换芯片是DAC0832,该芯片价廉且精度较高。
DAC0832属于电流输出型D/A,输出的电流随输入的电压控制字线性变化。
为了得到电压,还需外接一片运放来实现电流到电压的转换。
该运放输入端的输入电流对转换精度影响打,DAC0832输出地电流有几十微安的变化,若运放输入端的输入电流为0.1uA,如uA741的输入电流约为此值,且有一定变化,则会引入相当于1~2个电压控制字的误差,因此应选用高输入阻抗的运放,如JFET输入的运放LF356,他的输入电流可以忽略。
DAC0832需要外接基准电压,此基准电压的性能决定了输出电压的性能,要求基准电压具有高稳定度和低纹波,故选用LM336-5作为基准源,当DAC0832采用5V基准电压时,D/A转换电路的满幅输出为5.0V(电压控制字为255时),由于实际最大用到电压控制字198,因此D/A部分最大输出电压U(imax)=(198/255)*5.0=3.882V。
D/A转换部分输出电压Ui作为电源功放机的输入电压。
其输出电压
U0=(1+(Rpi+R3)/R2)Ui
3.22过流保护电路
在图3.4中,Q1(9015)、Q3(9014)构成过流保护电路。
正常工作时,Q1截止,Q1集成级电平为-15V,使Q3截止,INTO输出高电平,不触发中断。
当输出电流过大时(例如Io>500mA)时,取样电阻R2(1.5欧姆)上的压降>0.75V。
调节电位器使Ube>0.6V时,三极管Q1导通,Q1的等电极电平提高,于是三极管Q2也导通。
INTO呈现低电平,触发LPC2103中断,执行中断保护程序。
3.23扩展输出负电源
输出负电压只要在D/A转换端再介入一级反相加法器,其输出电压U0与输入电压Ui的关系为
U0=-2Ui+3.882(V)
这样一来输出电压的变化范围为–3.882~3.882V,从而扩展了负电路。
3.24扩展输出电压种类
可以采用专用波形发生器芯片,如LM324,或者采用DDS技术,将波形数据存储在RAM存储器芯片中,由CPU送出量化后的波形数据,即可在输出端得到相应的波形。
由于时间仓促,输出负电源和扩展电压种类都未能实现。
第四章软件设计
4.1软件设计流程图
(1)主程序流程图如图4.1所示,主要包括D/A转换处理子程序,A/D转换处理子程序,调整DA输出、键盘处理子程序等。
(2)过流保护程序流程图及其计数器中断流程图如图4.3所示。
(3)键盘扫描程序流程图如图4.3所示。
图4..1
图4.2
图4.3过流保护和计数器中断流程图
第五章测试结果及结果分析
5.1系统功能测试
(1)直流稳压电源调试
此模块的输入电压为16V的交流变压器,经LM7805LM7905LM7815LM7915芯片和一些电容及电感滤波后输出正负5V,正负15V的直流电压,稳度精度可以达到要求。
(2)DAC测试:
调整Iout1/Iout2的基准电压使输入255时输出电压7.5V。
用软件测试输出。
(3)放大器调试:
经DAC0832输出后输入OP07,经调试后可行。
5.2系统指标测试
(1)输出端接空载
测量仪器:
万用表及示波器。
记录数据如下表5.1
数据记录(室温下)
表5.1
1
2
3
4
5
6
7
8
9
10
11
预置电压/V
(数码显示)
0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
9.9
输出电压/V
(数码显示)
0.00
1.00
2.01
3.01
4.02
5.02
6.03
7.03
8.03
9.04
9.94
实测电压/V
(1905a测量)
0.000
1.005
2.010
3.016
4.020
5.025
6.031
7.032
8.036
9.042
9.947
(2)输出0.5A时
测量仪器:
万用表及示波器。
记录数据如下表5.2数据记录(室温下)
表5.2
1
2
3
4
5
6
7
8
9
10
11
预置电压/V
(数码显示)
0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
9.9
输出电压/V
(数码显示)
0.00
097
1.98
2.99
3.99
5.00
6.01
7.01
8.01
9.02
9.92
实测电压/V
(1905a测量)
0.000
0.985
1.985
2.995
4.000
5.005
6.011
7.012
8.016
9.022
9.926
5.3系统误差分析
从电路的原理框图可以看出,系统的主要误差来源于:
(1)DAC0832的量化误差
DAC0832为8位D/A转换器,满量程为10V的量化误差为
+/-(1/2)Lmbs≈+/-20mV
按满度归一化的相对误差为+/-0.2%。
(2)运放零点漂移
由运算放大器的零点漂移,温度漂移等带来的误差,可以通过温度补偿措施来解决此误差。
(3)A/D,D/A转换误差
受AD转换器精度及基准源稳定程度的限制,不可避免地带来一定的误差,为了更精确的输出恒流电源,必须选用更多位数的AD、DA芯片。
(4)因外界突发干扰或仪表显示值等引起的随机误差或粗大误差。
(5)基准电压温漂引入的误差
LM336在0~40℃范围内漂移不大于4mV,故相对误差=+/-2mV/5mV=+/-0.04%
致谢
为期2周的课程设计结束了,有付出就会有收获,在这两个星期里,我学习了制作一个产品了完整流程,鉴于个人专业素质的原因,很多问题我并不能依靠自己在短时间的完成,所以我虚心的向老师和同学们请教,而且也得到了老师和同学们耐心和仔细的指导,除了学习知识外,我感受到了学习间交流的乐趣。
当然,最深刻的,我明白了自己专业技能的不足,甚至在一个完整的流程里,需要用上许许多多的知识,包括本专业的也包括外专业的以及生活中的一些常识,我想,这方面我需要不断的加强。
在实习中,我感受到了一种学习心态的重要性,在调试一直调试不出来的时候,是否还能有那份坚持,在电容爆掉时,是否还能抛开那份气馁,在程序一直运行不成功的时候,是否还能有那份耐心,在时间一晃而过而还毫无进展的时候,是否还能有那份镇定。
。
。
在这次试验中,我要感谢指导我的老师们,他们那耐心与细致的指导是我前进道路上了一站明灯,我还要感谢我的同学们,他们热心的帮助与融洽的氛围让我有一个舒适的学习环境。
最后,我要说,学习,永无止尽。
参考文献
【1】华成英童诗白模拟电子技术基础高等教育出版社2006
【2】阎石数字电子技术技术高等教育出版社2006
【3】铃木雅臣晶体管电路设计科学出版社2004
【4】周立功深入浅出ARM7广州致远电子有限公司2007
【5】高吉祥.全国大学生电子设计竞赛培训系列教程——模拟电子线路设计.电子工业出版社.2007
附录A
程序清单:
#include"config.h"
#include
#include"UART.H"
#definekey1<<5
#defineDATA0832(1<<30)
#defineSHCP0832(1<<28)
#defineSTCP0832(1<<29)
#defineDACS0832(1<<31)
uint8Data0832=255;
//定时器中断标志
uint8T0Flag=FALSE;
uint8DATA[9];
uint8i=0;//用于记录刷新的位数,显示器共有八位,每显示一位就i++,显示下一位,直到i==7时就令i=0;重新从第一位显示起
uint8display=8;
uint8keydown=9;//按键位置寄存
//段码,其中的digitable[10]为不显示任何内容
constuint8digitable[13]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40,0x80};
//位码
constuint8selectable[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
/*******************************************************************************************
**函数名称:
Timer0_InitExt()
**功能描述:
TIMER0初始化
**入口参数:
无
**出口参数:
无
*******************************************************************************************/
voidDA_dataInit(void)
{
PINSEL1=(PINSEL1&0XFFF00FFF);/*设置P0.22-P0.25是GPIO口*/
IO0DIR|=DATA0832|SHCP0832|STCP0832|DACS0832;//输出
}
/*******************************************************************************************
**函数名称:
Timer0_InitExt()
**功能描述:
TIMER0初始化
**入口参数:
无
**出口参数:
无
*******************************************************************************************/
voidHC595send_data(uint8data)//要传输的数据,建议用数组的方法来查询
{
uint8i;
IO0CLR|=STCP0832;//锁存器
for(i=0;i<8;i++)
{
IO0CLR|=SHCP0832;
if((data&0x80)!
=0)IO0SET|=DATA0832;
elseIO0CLR|=DATA0832;
data=data<<1;
IO0SET|=SHCP0832;
}
IO0SET|=STCP0832;//锁存器
}
/*******************************************************************************************
**函数名称:
Timer0_InitExt()
**功能描述:
TIMER0初始化
**入口参数:
无
**出口参数:
无
*******************************************************************************************/
voidDAC0832_SendData(uint8data)
{
IO0CLR|=DACS0832;
HC595send_data(data);
IO0SET|=DACS0832;
}
/*******************************************************************************************
**函数名称:
Timer0_InitExt()
**功能描述:
TIMER0初始化
**入口参数:
无
**出口参数:
无
*******************************************************************************************/
voidTimer0_InitExt(void)
{
T0TC=0;/*定时器设置为0*/
T0PR=0;/*时钟不分频*/
T0MCR=0x03;/*设置T0MR0匹配后复位T0TC,并产生中断标志*/
T0MR0=Fpclk/400;/*2.5毫秒定时刷新频率为50HZ*/
T0TCR