数控直流电流源(D题)

更新时间:2024-02-26 10:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

评审等级 南 京 师 范 大 学

电气与自动化工程学院

设 计 报 告

数控直流电流源(D题)

组别:第2组

姓名:钟汝莹、张雅婷、刘事成

F-1

一、摘要

恒流电流源是电子设备和仪器中常用的一种电源,本次以MSP430G2553单片机为核心作为控制器,可以连续设定20mA~2A的电流,输出PWM波来控制最后的电流,输出电流通过1Ω的采样电阻转换为电压输入给单片机,该系统结构简单,工作稳定,成本低廉,纹波较小。

关键词:直流电流源、数控、单片机。

二、设计原理概述

如图为数控直流电流源的系统结构框图。

图2-1 数控直流电流源的系统结构框图

为达到通过单片机对输出电流值的设定来实现输出恒定电流,同时将输出电流实际值与设定值显示在液晶屏的目的,它应该由单片机,LCD显示屏,滤波电路,稳流电路组成。

单片机用于产生不同占空比的PWM波以及将设定电流值与实际输出电流值显示在LCD显示屏上;滤波电路用于滤除单片机输出的PWM波中的高频分量,从而得到PWM波中的直流分量;稳流电路通过V/I转换将滤得的直流电压分量转化为稳定的电流。数控直流电流源用于实现在带不同负载下输出恒定电流的目的。

三、模块电路方案论证

1、数控模块

根据课题要求,数控模块部分应将单片机设定的电流值转化为对应的电压值输出,作为后续电路的控制电压。

方案一:由DAC1208构成的数模转换电路

如图3-1所示,该电路通过单片机的11个接口并行输出11位二进制码,通过数模转换将单片机设定的电流值转换为控制电压输入给V/I转换器,并行结构的数据转换器的基本思想是:同时比较待转换的信号电平与所有级别的量化电平之间的关系,在模拟信号和数字信号之间相互转换,并行结构只需要一级模拟电路。因此该电路能实现对数字信号与模拟信号的高速转换,可对电流变化及时作出响应,但考虑到LCD显示屏需要用到单片机的13个接口以及电压反馈输入接口,使得单片机的输出口受到限制,同时,该电路成本较高,性价比较低,电路相对复杂,因此该方案不宜采用。

F-2

U1单片机123456789101112CSWR1GNDDI5DI4DI3DI2DI1DI0VREFRFBGNDDAC1208VCCBYTE1/2WR2XFERDI6DI7DI8DI9DI10DI11IOUT2IOUT1242322212019181716151413U2:A8312控制电压4RV11k50%TL072 图3-1并行12位D/A转换器

方案二:由MAX5822构成的数模转换电路

如图3-2所示,该电路通过单片机的1个接口串行输出12位二进制码(其中最高位为0),通过数模转换将单片机设定的电流值转换为控制电压输入给V/I转换器,该电路极大地减少了对单片机输出端口数的需求,并且能实现对数字信号与模拟信号的转换,符合课题要求,但考虑到该芯片是串行输入,使得该电路的运行速度大大的减慢,不能对电流变化及时响应。同时,该电路成本较高,性价比较低,因此该方案不宜采用。

+5vU1cp45SCLSDAADDMAX5822OUTAOUTBREF786output单片机输入3+2v 图3-2 串行12位D/A转换器

方案三:由单片机系统和滤波电路实现控制的电压输出。

本次课题采用型号为MSP430g2553单片机根据设定的电流值从而输出不同占空比的高频的PWM波,再将输出的PWM波通过二阶低通滤波器,滤掉PWM波中的高频成分,从而实现将单片机设置的电流值转化为控制电压输出。该方案采用单片机系统,虽然采用滤波电路,对输出的电压值有一定程度的衰减,但可通过后级放大电路进行相应调整,且电路结构相对简单,极大的减少了电路的成本,且运行速度相对较快。

综上所述,以上三种方案均能实现课题设计要求,但方案一的电路结构比较复杂,而方案二电路运行速度相对较慢,所以本课题采用方案三。 2.滤波电路模块

根据课题要求,滤波电路模块需要滤除PWM波中的高频成分,从而得到直流分量。 方案一:由RC构成的无源高阶滤波电路

如图3-3为无源二阶滤波电路,利用电容通高频阻低频的特性,使一定频率范围内的频率通过,输入输出波形间较小衰减。

F-3

RV1RV1(1)5k50%RV210k50á1uFC31uF 图3-3 由RC构成的二阶无源低通滤波电路

方案二:由集成运放和RC网络构成的二阶有源低通滤波电路

如图3-4所示,二阶有源低通滤波电路是由两级RC滤波电路和同相比例放大电路组成,其同样具有输入阻抗高,输出阻抗低,并且滤波效果更好,但同样存在着信号衰减的缺点。

图3-4由集成运放和RC网络构成的二阶有源低通滤波电路

方案三:由集成运放和RC网络构成的二阶低通无源滤波电

如图3-5所示,在一级RC低通滤波电路的输出端再加上一个同相放大电路,其输入阻抗无穷大,使得其具有比较强的带负载能力,同时能通过放大,将滤波输出的电压值得到一定的放大,弥补了滤波电路对电压值的衰减。虽然该电路较以上电路显得复杂,但其既能达到滤波目的,又能将衰减掉的信号得到一定的放大。

+15vU1:AR11kR21k3124-15v8TL072C14.7uFC24.7uFRV110k16%R35k 图3-5由集成运放和RC网络构成的二阶无源低通滤波电路

综上所述,以上三种方案均能满足课题要求,但方案三既能进行滤波,同时又可以将衰减的信号进行适当的放大,因此本课题选用方案三。

F-4

3.恒流源电路模块

根据课题要求,恒流源模块需要将控制电压转换为恒定的电流值输出。 方案一:由CMOS管构成的V/I转换电路

如图3-6所示,该电路由集成运放和场效应管共同构成了V/I转换电路,在该电路中,运放工作在深度负反馈状态,根据虚短虚断,使得输出电流值为采样电阻两端的电压,又因为该电路存在电流反馈,可以输出稳定的电流。同时,在采样电阻与集成运放的反相输入端加了电压跟随器,可以防止采样电阻处的电流流到反馈支路中去,从而产生电压的衰减。同时又由于场效应管为电压控制型器件,且温度特性好,因此该模块电路采用CMOS管将数控模块输出的控制电压转化为恒定的电流。

+15RL50050%U1:B8U1:B(+IP)576R21kQ1VN664TL072-15U1:A8312R3TL07214 图3-6 由IRFP240构成的V/I转换电路

方案二:由三极管构成的V/I转换电路

如图3-7所示,该电路由集成运放和三极管共同构成了V/I转换电路,在该电路中,运放工作在深度负反馈状态,根据虚短虚断,使得输出电流值为采样电阻两端的电压,又因为该电路存在电流反馈,可以输出稳定的电流。但三极管是温敏器件,受温度的影响较大。

RV1500+1562%Q22N3702U1:BR1(1)R110k8576R22kQ12SD7584TL072-12R31 图3-7 由三极管构成的V/I转换电路

方案三:由LM317构成的稳流电路

如图3-8所示,利用三端可调集成稳压器LM317的电路,可以通过改变电阻值进行电流的调整。由于需要满足步进为1mA,此电路需要用一个可用单片机控制的数字电位器,来改变电路的可调电阻,从而改变电流。输出电流Io=1.25/Rw1。但由于数字电位器价格昂贵,而且允许通过的电流也达不到2A,所以此方案不合适。

F-5

图3-8 由LM317构成的稳流电路

综上所述,以上三种方案均能达到本次课题要求,但由于三极管受环境温度的影响较大,且数字电位器价格比较昂贵,而CMOS管的温敏特性较好,因此选用方案一。

四、软件设计

如图4-1为软件设计流程图

PWM波输出模块,通过设定CCRO值来确定输出PWM波的频率,再通过改变CCR1值的设定来改变PWM波的占空比,从而输出对应不同电流值的占空比的PWM波;

反馈显示模块,通过设定一定的采样时间,通过单片机采集数据,从而将采集到的数据转换为单片机所能识别的数据????????,然后再通过换算将单片机采集到的数据转换为实际测得值,再通过软件将设定值和实测值显示在LCD显示屏上。

图4-1 单片机设计流程图

五、电路参数计算及系统参数协调

1.数控模块

该模块根据电流设定值通过单片机输出相应的PWM波, PWM波的占空比为q=

??设定??+

(其中??+=3560)

1

输出的PWM波经过低通滤波电路,将PWM波中的高频成分滤除,从而得到对应的直流分量,其中低通滤波器的截止频率????=2

?????

得到的理论直流分量为????????=??+×q,

但由于通过滤波器后电压会有一定的衰减,因此需要通过同相放大器对衰减的电压进行一定的放大,使其接近理论值。

F-6

2.V/I转换模块

该模块通过使运放工作在深度负反馈状态,满足虚短虚断,从而使得采样电阻上的电压等于????????,所以输出的恒定电流为I=????????/1, 3.反馈显示模块

该模块通过单片机的采样,将采样电阻上的电压值??????反馈给单片机,单片机采样后得到的值为????????=1023×??????,单片机经过处理后,再通过换算??????=

??????

??

????????×????????

1023

,从而通过LCD显

示屏将实测值显示出来。

然而,考虑到单片机输出的PWM波经过滤波,放大,V/I转换等一系列的处理后,通过对数据的分析处理,改变对单片机的算法,从而使得电流设定值与单片机中(CCR0-CCR1)之间的关系式为I=1.614*(CCR0-CCR1)+5.0793,从而进一步减小了误差。

六、系统电路原理总图

下图为数控直流电流源电路的原理总图

+15RV15k56%RV210k850%U1:B8U1:B576576R21kQ1VN661uFC31uF1k50L14RV1TL072C11nFTL072R1100k18U1:A3-1524R110kR3TL0721U2:A83124TL072 图6-1 直流电流源电路的系统原理总图

七、参考文献

1、王金鹏 赵昕 谷开永;数控直流电流源[J];大连轻工业学院学报;第25卷 第1期;2006.3

2、胡山 张兴会 耿丽清;低纹波高精度数字电流源的设计[J];中文核心期刊《微计算机信息》(测控自动化);第23卷 第2-1期;2007年

3、张春华常昌远;CMOS亚阈偏置恒流源的分析与设计[J];微电子与基础产品;第33卷 第1期;2007.1

4、康华光;电子技术基础模拟部分;华中科技大学电子技术课程组编;第六版; 北京;高等教育出版社;2013.12

5、康华光;电子技术基础数字部分;华中科技大学电子技术课程组编;第六版; 北京;高等教育出版社;2013.12

F-7

附件:

一、 系统参数调整

表1-1 系统算法参数调整表

CCR0-CCR1 10 15 20 25 30 35 40 45 50 60 70 80 90 100 120 140 160 200 250 300 400 500 600 700 800 900 950 1000 1050 1100 1200 1250 采样电压实测值 21.00 29.20 37.20 45.20 53.40 61.50 69.50 77.60 85.70 101.80 118.00 134.20 150.30 166.40 198.70 231.00 263.40 328.00 408.80 489.50 651.10 812.50 973.80 1135.20 1296.70 1458.10 1538.60 1618.80 1699.30 1779.80 1941.00 2023.00 占空比(q) 0.5556% 0.8333% 1.1111% 1.3889% 1.6667% 1.9444% 2.2222% 2.5000% 2.7778% 3.3333% 3.8889% 4.4444% 5.0000% 5.5556% 6.6667% 7.7778% 8.8889% 11.1111% 13.8889% 16.6667% 22.2222% 27.7778% 33.3333% 38.8889% 44.4444% 50.0000% 52.7778% 55.5556% 58.3333% 61.1111% 66.6667% 69.4444%

F-8

根据表1-1,可作出如下曲线图:

2500.00 2000.00 1500.00 1000.00 500.00 0.00 0200400600800100012001400电流实测值与(CCR0-CCR1)之间的关系y = 1.614x + 5.079 图1-1 电流实测值与(CCR0-CCR1)之间的关系

根据图表可知,电流实测值与(CCR0-CCR1)之间的关系近似满足一次线性关系,从而由excel可生成一次函数,其函数关系试为I=1.614*(CCR0-CCR1)+5.0793,从而根据这一关系,改进算法,使得电流设定值与实际值之间尽可能的减少误差。

二、测试与误差分析

表2-2 稳流源性能测试表

根据表格可知,当电流值I≤80mA时,电路中所能稳定产生的电流值的误差比较大,这些误差主要来源于纹波电流。由于滑动变阻器是呈感性的,当电流值比较小时,电路中含有较多的高频信号,这些高频信号难以通过滤波电路将其滤除,因此,纹波比较大,从而导致误差相对比较大;而当I≥80mA时,我们所要测得信号相对比较大,纹波对我们所要测得电流值影响很小,因此误差相对较小。

F-9

二、 系统电路元器件清单

表2-1 系统电路元器件清单

序号 1 2 品名 电容 电阻 型号/规格 4.7uF 10uF 104 1kΩ/1/4W 100kΩ/1/4W 1Ω/5W 3 4 5 6 7 8 9 10 11 12 电位器 集成运放 电路板 插槽 接插件 导线 排针 雷管 散热片 场效应管 1kΩ 10kΩ NE5532 洞洞板 8脚 XH2.54-3P KF2EDGVG/RC 插接线 飞线 排针 100Ω/200W IRFP240 数量 2 2 5 1 1 1 2 2 2 若干 2 1 2 若干 若干 若干 1 1 1 备注 电解电容 电解电容 RJ RJ 精密度0.1% TL072 面包板

F-10

三、 单片机程序

#include \#include \chardata_display[10]; #define y 800 floatres,ADCresult,df; void PWM(void) {

WDTCTL= WDTPW + WDTHOLD; TACTL = TASSEL_2 +TACLR+MC_1; CCR0=1800;

res=CCR0-(y-5.0793)/1.614; CCR1=res; CCTL1=OUTMOD_3; P1SEL |=BIT6; P1DIR |=BIT6; }

voidBCS_Init(void) { }

void main(void) {

float dat3;

if(CALBC1_16MHZ ==0xFF) { }

DCOCTL = 0;

BCSCTL1 = CALBC1_16MHZ; DCOCTL = CALDCO_16MHZ; __delay_cycles(100);

while(1);

double x,dat2;

BCS_Init();

PWM();

F-11

Lcd_Init(); Lcd_Clear();

StrDisplay(\Lcd_Clear();

while(1) {

ADC10CTL0 = ADC10SHT_2 + ADC10ON +REFON + REF2_5V + ADC10IE

+SREF_1;

ADC10CTL1 |= INCH_7; ADC10AE0 |= BIT7;

ADC10CTL0 |=ENC+ADC10SC; _EINT();

dat3=(float)100*(CCR0-CCR1)/CCR0; x=(double)(CCR0-CCR1); dat2=(double)(1.614)*x+5.0793; StrDisplay(\组 2\

StrDisplay(\占空比:\StrDisplay(\理论值:\StrDisplay(\实际值:\StrDisplay(\StrDisplay(\StrDisplay(\floatTochar(y,data_display,2); StrDisplay(data_display,1,7,0); floatTochar(data2,data_display,2); StrDisplay(data_display,2,7,0); floatTochar(ADCresult,data_display,2); StrDisplay(data_display,3,7,0); __delay_cycles(30000000); } }

#pragma vector=ADC10_VECTOR __interrupt void ADC10_ISR(void) { }

F-12

df=ADC10MEM;

ADCresult=df*1000*2.5/(1023.0);

本文来源:https://www.bwwdw.com/article/i8ka.html

Top