数控直流电流源设计.docx

上传人:b****7 文档编号:9387642 上传时间:2023-02-04 格式:DOCX 页数:22 大小:186.97KB
下载 相关 举报
数控直流电流源设计.docx_第1页
第1页 / 共22页
数控直流电流源设计.docx_第2页
第2页 / 共22页
数控直流电流源设计.docx_第3页
第3页 / 共22页
数控直流电流源设计.docx_第4页
第4页 / 共22页
数控直流电流源设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数控直流电流源设计.docx

《数控直流电流源设计.docx》由会员分享,可在线阅读,更多相关《数控直流电流源设计.docx(22页珍藏版)》请在冰豆网上搜索。

数控直流电流源设计.docx

数控直流电流源设计

 

数控直流电流源(F题)

摘 要:

本设计以AT89S52为核心,通过A/D、D/A转换、V/I转换及独特的算法实现了高精度的,电流输出范围为20mA~2000mA的数控直流电流源。

该电流源具有电流可预置,1mA步进,同时显示给定值和实测值等功能。

关键字:

89S52,数控电源,V/I转换

 

NumericalControlledConstant-CurrentSource

Abstract:

Thepaperexpoundsthedesignofthenumericalcontrolledconstant-Currentsource.ThesystemcoreisAT89s52.TheA/DD/AV/Iconvertsandthespecificarithmeticisusedtocarryouthighprecisionandthecurrentoutputrangefrom20mAto2000mA.Thesourcerealizesthattheoutputcurrentcanbeset,1mAadjustedstepbystep,thedisplayofthepresentvalueandthepracticemeasurevalue。

Keywords:

AT89S52,Numericalcontrolledsource,V/Iconverter

 

目录

1.系统设计3

1.1设计要求3

1.1.1基本要求3

1.1.2发挥部分3

1.2总体设计方案4

1.2.1方案论证与比较4

2.单元电路设计7

2.1恒定电流源电路设计7

2.2控制器电路设计8

2.2.1单片机最小系统设计8

2.2.2A/D、D/A电路设计8

2.3键盘电路设计9

2.4显示器电路设计10

2.5稳压电源电路10

3.软件设计11

3.1软件设计流程图11

3.2软件功能、算法及源程序:

12

4.系统测试14

4.1测试使用的仪器14

4.2指标测试和测试结果14

4.2.1输出电流范围测试14

4.2.2步进调整测试14

4.2.3输出电流测试14

4.2.4结论15

5.结语15

参考文献16

附录1主要元器件清单16

附录2单片机最小系统原理图17

附录3模块电路原理图17

附录4单片机最小系统PCB19

附录5模块电路PCB19

附录6操作说明:

20

 

1.系统设计

设计并制作数控直流电流源。

输入交流200~240V,50Hz;输出直流电压≤10V。

其原理示意图如下所示。

图1.1数控直流电流源原理示意图

1.1设计要求

题目要求设计并制作数控直流电流源。

输入交流200~240V,50Hz;输出直流电压≤10V。

其要求如下:

1.1.1基本要求

(1)输出电流范围:

200mA~2000mA;

(2)可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值≤给定值的1%+10mA;

(3)具有“+”、“-”步进调整功能,步进≤10mA;

(4)改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的1%+10mA;

(5)纹波电流≤2mA;

(6)自制电源。

1.1.2发挥部分

(1)输出电流范围为20mA~2000mA,步进1mA;

(2)设计、制作测量并显示输出电流的装置(可同时或交替显示电流的给定值和实测值),测量误差的绝对值≤测量值的0.1%+3个字;

(3)改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的0.1%+1mA;

(4)纹波电流≤0.2mA;

(5)其他。

 

1.2总体设计方案

1.2.1方案论证与比较

(1)恒定电流源模块方案

方案一:

采用开关电源的开关恒流源。

其组成方框图如图1.2所示。

图中C1、C2为滤波电容;K是开关器件;D是续流二极管;L是扼流圈;PWM是脉宽调制电路;KF是电流反馈电路;R0是电流取样电阻。

在原理图电路上,通过精选元器件和采用合理的结构设计,可以使电路的分布参数得到有效控制。

采用开关电源的开关恒流源主要特点是:

振荡反馈电容小,阻抗大,反馈电流小。

图1.2采用开关电源的开关恒流源组成框图

方案二:

采用集成稳压器构成的开关恒流源。

图1.3所示是是三端集成稳压器构成的开关恒流源。

当设定电阻R一定时,电路给负载Ro提供一恒定电流当RL发生变化时,由IC的输入——输出压差进行自动补偿而使负载电流保持不变。

图1.3采用集成稳压器构成的开关恒流源原理框图

 

方案三:

采用集成运放的线性恒流源。

该恒流源输出的电流与负载无关,通过使用两块构成比较放大环节,功率管构成调整环节,利用晶体管平坦的输出特性和深度的负反馈电路可以得到稳定的恒流输出和高输出阻抗,实现了电压——电流转换。

其原理框图如图1.4所示。

图1.4采用集成运放的线性恒流源原理框图

综上所述,采用方案三,使用低噪音、高速宽带运放LF356和中功率管TIP42C等构成一个恒流源电路。

(2)控制器模块方案

方案一:

采用FPGA作为系统的控制模块。

FPGA可以实现复杂的逻辑功能,规模大,稳定性强,易于调试和进行功能扩展。

FPGA采用并行输入输出方式,处理速度高,适合作为大规模实时系统的核心。

但由于FPGA集成度高,成本偏高,且由于其引脚较多,加大了硬件设计和实物制作的难度。

方案二:

采用AT89S52作为控制模块核心。

单片机最小系统简单,容易制作PCB,算术功能强,软件编程灵活、可以通过ISP方式将程序快速下载到芯片,方便的实现程序的更新,自由度大,较好的发挥C语言的灵活性,可用编程实现各种算法和逻辑控制,同时其具有功耗低、体积小、技术成熟和成本低等优点。

基于以上分析,选择方案二,利用89S52单片机将电流步进值或设定值通过换算由D/A转换,驱动恒流源电路实现电流输出。

输出电流经处理电路作A/D转换反馈到单片机系统,通过补偿算法调整电流的输出,以此提高输出的精度和稳定性。

在器件的,D/A转换器选用12位优质D/A转换芯片TLV5618,直接输出电压值,且其输出电压能达到参考电压的两倍,A/D转换器选用高精度16位模数转换芯片AD7705。

(3)显示器模块方案

方案一:

使用LED数码管显示。

数码管采用BCD编码显示数字,对外界环境要求低,易于维护。

但根据题目要求,如果需要同时显示给定值和测量值,需显示的内容较多,要使用多个数码管动态显示,使电路变得复杂,加大了编程工作量。

方案二:

使用LCD显示。

LCD具有轻薄短小,可视面积大,方便的显示汉字数字,分辨率高,抗干扰能力强,功耗小,且设计简单等特点。

综上所述,选择方案二。

采用19264D汉字图形点阵液晶显示模块同时显示电流给定值和实测值。

(4)键盘模块方案

方案一:

采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。

缺点为当按键较多时占用单片机的I/O口数目较多。

方案二:

采用标准4X4键盘,此类键盘采用矩阵式行列扫描方式,优点是当按键较多时可降低占用单片机的I/O口数目,而且可以做到直接输入电流值而不必步进。

题目要求可进行电流给定值的设置和步进调整,需要的按键比较多。

综合考虑两种方案及题目要求,采用方案二。

(5)电源模块方案

系统需要多个电源,单片机、A/D、D/A、使用5V稳压电源,运放需要±12V稳压电源,同时题目要求最高输出电流为2000mA,电源需为系统提供足够大的稳定电流。

综上所述,采用三端稳压集成7805、7812、7912分别得到+5V和±12V的稳定电压,再外对LM7812加功率管构成扩流电路,达到可以提供3A以上的电流。

利用该方法实现的电源电路简单,工作稳定可靠。

1.2.2系统组成

经过方案比较与论证,最终确定系统的组成框图如图所示。

图1.5系统组成框图

 

2.单元电路设计

2.1恒定电流源电路设计

恒流源电路主要由运算放大器和大功率管等组成,如图2.1所示。

图中U1是LF356,这是一个JEFT输入的高速宽带运算放大器,可以稳定工作±2V—±40V之间。

具有输入阻抗高、带宽高(5MHz)、速度快(12V/us)、噪声低等优点。

U1A、R3、R5组成电平转换电路,保证U1B的同相端电位随直流电压VAC的变化而同步变化,使得D/A转换后的电压值与R5上的电压值相等,即满足VAB=VIN,以避免直流电压VAC变化时电路的输出电流也随之变化。

U1B、Q2与Q3构成电压跟随器,因此有VAB=VAC,该电压跟随器和R5等一起组成一个V/I转换电路。

由此得到恒流源输出电流的大小为:

对于题目基本要求中的输出200mA—2000mA,在实际电路测试中容易达到,但考虑到发挥部分的输出20mA—2000mA,受限于元器件的来源,我们采用了分段控制电路,在软件上也加以辅助,从而用较常见的器件实现了题目发挥部分的输出20mA—2000mA的要求,取得了良好的效果。

图2.1恒流源电路图

 

2.2控制器电路设计

2.2.1单片机最小系统设计

通过键盘模块输入给定的电流值或是步进调整信号传送给单片机,单片机在接受到信号后进行处理运算,并显示其给定的电流值,然后经D/A转换以输出电压,驱动恒流源电路实现电流输出,并将采样电阻上的电压经过A/D转换输入单片机系统,通过补偿算法进行数值补偿处理,调整电流输出,并驱动显示器显示当前的电流值。

最小系统的核心为AT89S52,为了方便单片机引脚的使用,我们将单片机的引脚用接口引出,电路如图2.2所示.P0口和P2.0~P2.3是LCD接口;P3口作为A/D与D/A转换接口,其中P3.0~P3.2是D/A转换器的接口;P3.3~P3.7是A/D转换器的接口;P1口为键盘接口。

图2.2由AT89S52为核心的单片机最小系统

2.2.2A/D、D/A电路设计

(1)D/A转换器

根据设计基本要求,电流的输出范围为200mA~2000mA,将最高输出电流2000mA进行十进制~二进制转换有

要满足步进为1mA的要求,需选用十二位的D/A转换器,TLV5618是较好的选择。

TLV5618是带有缓冲基准输入(高阻抗)的双路12位电压输出DAC。

DAC输出电压范围可编程为基准电压的两倍,其输出电压Vout=2×Vref×D/4096有两个输出端口A和B,且它们可以同步刷新。

此外,该器件还包含上电复位功能。

通过3线串行总线可对TLV5618实现控制,可采用单5V电源进行供电。

在快速、慢速模式下功耗分别为8mW和3mW,输入数据的刷新率可达1.21MHz。

 

(2)A/D转换器

A/D转换器选用带信号调理、1mW功耗、双通道16位AD转换器AD7705。

其串行数据接口包括5个:

片选输入口,串行施密特逻辑输入时钟SCLK,数据输入口DIN,转换数据输出口DOUT,指示数据准备就绪的状态信号输出口。

在电路中,AD7705与单片机P1.5~P1.7口相接,通过编程模拟AD7705的通信时序实现对AD7705的操作,然后通过程序查询该管脚是否为低电平,从而实现对AD7705中寄存器数据的读取。

如图2.3所示为A/D与D/A转换电路图,其中CON8接口与单片机最小系统的P1口相接。

图2.3A/D与D/A转换电路图

2.3键盘电路设计

在设计中,使用标准的4x4键盘,可以实现0~9数字输入,“+”、“-”、“设置”。

其电路图如图2.4所示。

图2.4键盘电路图

 

2.4显示器电路设计

本设计采用RT19264DSTN型汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(12X16点阵)及64X256点阵显示RAM(GDRAM)。

可显示内容为192列×64行,还带多种软件功能:

光标显示、画面移位、自定义字符、睡眠模式等。

RT19264D与单片机接口:

8位或4位并行/3位串行.在本设计中,采用8位并行接法,RT19264D与单片机P2口相连,用于显示设定值与当前测量值。

其接口如图2.5所示。

图2.5RT19264D接口

2.5稳压电源电路

在本设计中,运放需±12V供电,单片机和A/D、D/A需5V供电,采用三端稳压器7805、7812、7912构成一稳压电源,由于78及79系列稳压器最大输出电流只有1.5A,而题目要求输出电流范围是200mA~2000mA。

为了给系统提供更大的电流,需外加功率管进行扩流,电路如图2.6所示。

输入电压由环形变压器和全波整流滤波电路产生;图中Q5是过流保护取样电阻,当输出电流增大超过一定值时,Q5上压降增大,促使NPN1向截止方向转化;U3用于产生一直流电压VREF,为D/A转换器TLV5618提供参考电压;C18用于抑制电源纹波。

图2.6稳压电源电路

3.软件设计

软件设计采用C语言,对89S52进行编程实现各种功能。

软件设计的关键是对A/D、D/A转换器的控制。

软件实现的功能是:

①确定电流步进调整

②电流给定值的设置

③测量输出电流值

④控制TLV5618工作

⑤控制AD7705工作

⑥对反馈回单片机的电流值进行补偿处理

⑦驱动液晶显示器显示电流设置值与测量值

3.1软件设计流程图

图3.1单片机程序流程图

3.2软件功能、算法及源程序:

R

源程序用KeilC51编写,在XP系统下调试成功。

以下给出部分源程序:

7705初始化子程序:

/*************************************************************/

voidMX7705_Init()//ad7705初始化

{

unsignedchari;

ADC_CLK=1;//防止接口迷失

ADC_DIN=1;

for(i=0;i<200;i++)//preventinterfacefromlosting

{

ADC_CLK=0;_nop_();

ADC_CLK=1;_nop_();

}

WriteToReg_ADC(0x20);//write0x20tocommunicationregistertochoosechannel0

//andclockregisterforthenextonetowrite

WriteToReg_ADC(0x00);//写0x00到时钟寄存器,指定晶振频率为1MHz.

WriteToReg_ADC(0x10);//write0x10tocommunicationregistertochoosechannel0

//andsetupregisterforthenextonetowrite

WriteToReg_ADC(0x44);//写0x44到设置寄存器,指定增益为1,bufferoff,FSYNC=0,andself-calibration

}

 

串行DATLV5618DAC子程序

/////////////////////////////////////

//TLV5618DAC子程序,三线串行方式

voidset_dac(unsignedintvcon)

{

chari;

intsvcon;

svcon=vcon|0x8000;//vcon最高位置1,选择TLV5618的A通道

DAC_CS=0;///.................................................................................................5618的CS=0,允许片选

for(i=0;i<16;i++)

{

DAC_DIN=svcon&0x8000;//串行方式送16位数据

svcon<<=1;

DAC_CLK=0;

DAC_CLK=1;

}

DAC_CS=1;//禁止片选

return;

}

4×4键盘子程序

ucharkey(){

uchari;

keytruth=0;

for(i=0;i<200;i++)

{ucharkey_return;

loop:

P1=send;

get=P1;//get是接收回来的键值

get2=get;//保留get的值,不用也应该可以

test=get2|0xf0;//屏蔽高位,如果有按键的话低四位不全为一

if(test==0xff)//没有按键的话就移位,只限高四位

{

send=send<<1;

send=send|0x0f;//因为移位后低位出现0,所以将其屏蔽,令低四位全为一

if(t<3)//控制移位次数,当零移到最高位时作一次大循环,再装入初始值

{

t++;

gotoloop;

}

else

{

t=0;

send=0xef;

//gotoloop;

}

}

else//有按键的情况

{

key_return=cheak(get);

dy();dy();keytruth=1;

returnkey_return;

}

}

}

4.系统测试

4.1测试使用的仪器

测试使用的仪器设备如表4.1所示

表4.1测试使用的仪器设备

序号

名称、型号、规格

数量

备注

1

WYK-303B2直流稳压稳流电源

1

2

DT-9202数字万用表

1

31/2位

3

UT56数字万用表

1

41/2位

4

SC-7401数字万用表

1

5位

4.2指标测试和测试结果

4.2.1输出电流范围测试

由于在程序设计上限制了电流输出范围是20~2000mA,当给定值在量程内时显示“设置成功”;当给定值超过量程时将显示“超出2000mA!

请重新设定”

4.2.2步进调整测试

在量程范围内,通过“+”、“-”按钮可实现1mA步进,通过显示器可观察到效果

4.2.3输出电流测试

随机设置给定值,记录设定值和实测值,测量结果见表4.2

给定值

20

50

75

329

563

957

1689

1956

实测值

20

50

75

329

563

956

1689

1955

误差绝对值

0

0

0

0

0

1.04%

0

0.05%

 

4.2.3改变负载电阻,输出电压在10V以内变化时的电流测试

这里给出接上2.2Ω负载电阻的电流测量结果,见表4.3

给定值

20

100

329

1689

实测值

20

100

329

1689

电流变化绝对值

0

0

0

0

由测量结果可以看出,在改变负载条件下,电流值没变化,可以得出结论:

在有效的电压范围内,输出电流与负载无关。

4.2.4结论

经过对系统的电流输出的测试,本设计基本达到以下要求:

(1)输出电流范围为20mA~2000mA,步进1mA;

(2)可同时显示电流的给定值和实测值,测量误差的绝对值≤测量值的0.1%+3个字;

(3)改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的0.1%+1mA。

5.结语

本系统以单片机AT89S52为核心部件,利用A/D进行数值采集,D/A补偿等技术结合并配合补偿算法实现了题目中要求的精度。

在系统设计过程中,力求硬件电路参数合理,线路简单,发挥软件编程灵活的特点,通过多次的调试,不断提高系统的精度和电流的稳定性,来满足系统设计的要求。

由于时间关系,该系统还有许多值得改进的地方。

在本次设计的过程中,遇到了许多困难和意料之外的事情,设计进度比较慢,但通过仔细的分析和进行多方面的调整后解决了问题。

我们从中体会了共同协作和团队精神的重要性和提高了自身的综合能力。

 

参考文献

[1]赵亮,侯国锐.单片机C语言编程与实例.[M]北京:

人民邮电出版社,2003

[2]曲学基,王增福,曲敬铠.稳定电源实用电路选编.[M]北京:

电子工业出版社,2003

[3]黄智亮.全国大学生电子设计竞赛训练教程.[M]北京:

电子工业出版社,2005

[4]张毅刚,刘杰.MCS-51单片机原理及应用.[M]哈尔滨:

哈尔滨工业大学出版社,2004

[5]那文鹏,王昊.通用集成电路的选择与使用.[M]北京:

人民邮电出版社,2004

 

附录

附录1主要元器件清单

序号

元器件名

型号

数量

备注

1

单片机

AT89S52

1

2

AD转换器

AD7705

1

3

DA转换器

TLV5618

1

4

运算放大器

LF356

2

5

LCD显示器

RT19264D

1

 

附录2单片机最小系统原理图

附录3模块电路原理图

附录4单片机最小系统PCB

 

附录5模块电路PCB

附录6操作说明:

1.上电之后,直接按数字键输入电流值,按其他键无效,数据格式为四位,不够的前面补零。

当输入四位的电流值之后如果没有超出20mA~2000mA的话,第三行显示“设置成功”,第一行显示的是给定的电流值,第二行是测得的电流值。

2.按右下脚的“+”“-”可以实现步进,步进单位为1mA。

3.按右下脚的“设置”键可以直接设置20mA~2000mA的电流值,通过数字键设定,数据格式为四位,不够的前面补零。

操作流程:

忽略此处..

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1