数字式的元件参数测试仪的设计.docx
《数字式的元件参数测试仪的设计.docx》由会员分享,可在线阅读,更多相关《数字式的元件参数测试仪的设计.docx(71页珍藏版)》请在冰豆网上搜索。
数字式的元件参数测试仪的设计
毕业设计[论文]
题目:
数字式的元件参数测试仪的设计研究
TitleThedesignandresearchondigital
componentparameterstester
院系:
专业:
姓名:
指导教师:
2010年6月6日
摘要
此设计是基于51和C语言编程的数字式电阻电容电感测试仪的制作。
类似于万用表的功能,我们不是直接测量这些未知量,而是用电压电流等这些容易测量的已知量来进行转化。
设计当中将一些芯片组合起来并用编程控制产生了幅值稳定的直流电源以及交流电源,选择合适的标准RLC,根据串联分压的原理分别测量出标准电阻电容电感的电压,这样根据串联电路的等量关系很容易知道需要测量的RLC,最后用显示装置把未知RLC显示出来。
这种方法比较直接,通俗易懂,程序也都比较直接,在很多仪器仪表的制作工艺当中都有所用到。
设计的关键是要产生合适的电压信号,选择合适的标准电阻电容和电感,还有用51与C语言程序来实现的未知变量与已知变量之间的等量关系.
关键词
编程、标准电阻电容电感、测试仪、A/D转换、显示
ABSTRACT
Thisdesignisbasedonthe51andClanguageprogrammingoftheproductionofthedigitalresistancecapacitanceandinductancetester.Similartothemultimeterfunctions,wearenotdirectlymeasuringtheunknownquantity,butwiththeseeasytomeasureasvoltageandcurrentofaknownquantitytobeconverted.Inthedesign,itcombinesanumberofchipsandproducesamplitudecontrolofastableDCpowerandACpowerwithprogramming.Accordingtotheprincipleofseriesvoltagedivider,selecttheappropriatestandardofRLC,resistanceandcapacitancearemeasuredinthestandardinductorvoltage.Thus,accordingtotheseriesvolume,itisveryeasytoknowthevalueoftheRLC.Atlast,useadisplaydevicetodisplaytheunknownRLC.Thismethodisrelativelystraightforwardandeasytounderstand,theprogramisalsorelativelystraightforward,andmanyinstrumentshaveusedtheproductiontechnology.Thekeyisdesignedtoproducetheappropriatevoltagesignal,selecttheappropriatestandardresistancecapacitanceandinductance,aswellaswith51andClanguageprogramtoimplementtheknownandunknownvariablesandequalrelationshipsbetweenvariables.
Keywords
programming,standardresistancecapacitanceinductancetester,A/Dconverter,display
一绪论
1.1课题背景
目前使用的电感测量方法是用数字LRC测量仪,但数字LRC测量仪的数字化程度并不高,其参量分离是靠同步检波器实现的。
随着单片机技术的发展,其在智能化测量仪表中的应用越来越广泛,利用单片机的软件来代替硬件的功能,可以实现仪表测量的自动化,并能进行数据分析处理,以达到仪表的高可靠性、高精度、多功能。
本文提出了一种利用MCS-51及其他系列的芯片和C语言编程来实现对电阻电容电感的测量。
1.2国内外研究现状
通常的测量仪器采用阻抗矢量电压法测量电容,需进行稳压、交流供电。
近年来随着计算机技术的广泛运用,电容测量方法有了较大的进展,但常用的方式是利用占用口线较多且价格昂贵的AD转换器将模拟信号输入计算机进行测量.。
根据一阶线性暂态电路理论,可以有一种占用资源少且能方便地实现模拟信号的检测方法,设计了电路和软件编程简单、口线较少且无需交流供电的单片机电容测量系统。
在科学实验和生产中,人们经常需要快速精密地测量电感和电容器件的值,一般的测量大都是采用交流电桥法和谐振法,即模拟法。
然而这些方法的测量时间较长,不适于专业化测量。
我看过笔者提出了一种用PIC16C62单片机测量L、C的一种新的数字方法,这种测量方法的精度只取决于对相位的测量,且这种测量方法的速度快,特别适用于专业化流水线测量。
1.3研究目的
万用表大家都知道它有三个基本的功能,测量电压电阻电流。
将万用表进行各种不同的合适设置,能够很方便的测量出来。
类似的,数字电路参数测试仪也是用来测量各种电路元件包括电阻电容和电感的。
本实验中需要用单片机编程来进行简单的电阻电容电感的测量,也很方便。
同时在示波器以及信号发生器中也可以根据波形的测量间接地知道电阻电容电感的数值。
等等,这些电子元件都用不同的方法进行了测量达到了目的。
二算法概要
2.1流程图及简单的电路图
被测R、L、C经过欧姆电压转换电路,转换成所需要的模拟电压,并将其放大到A/D转换器的规范值,由A/D转换器转换成数字量再送入单片机。
由单片机根据需要进行一系列处理(如非线性校正;四则运算:
计算最大值和最小值等),处理后以数字显示测量结果。
以下是RLC测量电路的流程图以及电路图,三个可以统一加交流电,也可以在测量电阻时用直流信号,消除电容和电感的影响。
在本设计当中,电阻的测量采用标准的直流电压信号,电容电感的测量采用标准的正弦波信号,下面分别进行叙述。
下面是整个设计当中的设计流程图以及简单的电路设计图:
2.2算法简述
在测量电容
时,加入交流电压信号,将电容电感转换成容抗或者感抗1/wC或者wL由串联分压可以知道未知电容和未知电感的计算公式
同样
=
在测量电阻
时,加入直流电压信号,根据串联电路分压关系推算我们可以得到未知电阻的计算公式。
其中U是输入的电压信号,
分别是待测电阻电容电感
、
分别是标准的电阻电容和电感。
在这个过程当中标准电阻电容电感的选择需要遵循一定的原则,为了充分利用A/D转换的效率,提高测量的精确度,要尽量选择比较合适的阻抗使测量的电压信号比较接近5V。
要达到这一个目的,我们就需要用程序来控制标准电阻电容电感的选择,使尽量多档位的电抗值被选到而达到控制电压的目的。
这时我们可以用继电器分档进行选择,以下几章会分别详细介绍。
三电阻元件的测量
3.1A/D转换的原理
工程实际中需要测量的信号,一般都是模拟信号,而计算机系统只能对数字信号进行运算、处理和存储。
因此要用计算机系统测量模拟信号,必须先将模拟电压信号转换为数字信号,这一过程称为模/数(A/D)转换。
实现A/D转换的原理电路有多种,下面简单介绍并联比较法A/D转换的原理。
并联比较法将输入的模拟信号转换为二位数字信号输出的原理电路如3.1图所示:
图3.1.1A/D转换原理
在图3.1.1中有三个比较器,各比较器的参考电压分别为(1/4)VREF、(2/4)VREF、
(3/4)VREF,比较器的输出为电平信号(数字信号)。
利用比较器将输入模拟电压信号和各自参考电压进行比较,从而把模拟信号转换成数字信号。
输入模拟电压Ui处于不同的范围,对应于不同的比较器输出数字信号Q0、Q1、Q2,如表3.1.2所示。
表3.1.2输入模拟信号和输出数字信号关系
输入模拟信号
电压范围
比较器输出
Q2Q1Q0
转换结果输出
D1D0
0~(1/4)VREF
000
00
(1/4)VREF~(2/4)VREF
001
01
(2/4)VREF~(3/4)VREF
011
10
(3/4)VREF~(4/4)VREF
111
11
比较器输出的数字信号Q0、Q1、Q2,并不是二进制数码,只是反映一定电路状态的电平信号,还需要经过一定的逻辑运算电路,将Q0、Q1、Q2电平信号转换成二进制代码D0、D1才能作为转换结果输出。
实现从Q0、Q1、Q2到D0、D1转换的逻辑运算。
因此,并联比较式A/D转换电路,实际上是根据输入模拟信号的电压范围,产生相应的数字信号输出。
按此原理增加比较器及相应的电路元件数量,就可以增加输出数字信号的位数。
输出数字信号位数越多,输入电压的范围划分则越细,输出数字信号就越能够准确地反映输入模拟信号的量值。
输出数字信号的位数,常用于表征A/D转换器件的精度。
常见的A/D转换器件的精度有8位、10位、12位等。
将模拟信号转换为数字信号,需要一定的时间,称为转换时间。
转换时间也是选用A/D转换器件的一项重要指标,常见A/D转换器件的转换时间一般为几十纳秒到几十微妙。
由于A/D转换过程需要一定的时间,如果需要转换的是一个交流信号,则转换开始时和转换结束时信号的电压值是不同的,由此将会造成A/D转换的误差,如图3.1.3(a)所示。
抑制A/D转换过程延时误差的办法是增加一个采样保持电路,如图3.1.3(b)所示。
图3.1.3(b)中,外部被测电路等效为一个戴维南信号源电路,us为被测电压,Rs为等效电阻。
(a)转换误差(b)采样/保持电路原理
图3.1.3A/D转换误差及采样/保持电路原理
在采样/保持电路中,先将开关K合上,外部信号源对电容C充电(放电),待电容C上的电压uc与被测电压us相等(接近)时,再断开开关K。
在电容C和输出引脚之间,连接有一个电压跟随器,由于电压跟随器的输入阻抗可以看作无穷大,所以开关K断开后,uc和uo等于开关K断开时刻的被测电压us值,并且维持不变。
开关K合上的过程,称为信号的采样,采样结束后开关K断开的过程称为保持。
采样/保持电路有时也简称S/H(Sample/Hold)电路。
采样过程所需的时间T,取决于Rs、C电路的时间常数
。
当电容C的值确定时,取决于外部信号源的电阻Rs值。
通过对开关K从导通到断开的时间控制,实现对采样时间的控制。
信号的采样时间,应该根据外部信号源的电阻Rs值,维持最小采样时间。
从理论上说,采样时间T越长,us和uc的值越接近,因此采样时间越长越好。
工程实际中一般取
时,近似认为us和uc相等。
MAXIMICL7109是单片三态控制、二进制形式输出的12位A/D转换器,具有极性和过量程指示。
MAXIM公司在ICL7109的基础上增加了零积分阶段,保证过载时快速恢复,消除过载残余、串扰和滞后作用;通过增大ICL7109的电流源容量,加强了总线驱动能力,能够快速驱动单片机总线上可能出现的较大电容。
MAXIMICL7109的封装形式为DIP40,引脚功能见下表
3.2直流电压的测量
直流电压的实用测量电路如图3.2.1,由单片机AT89C51、A/D转换器、MAXIMICL7109组成。
将MODE引脚接地,使MAXIMICL7109工作于直接输出方式。
将RUN/HOLD引脚与AT89C51的P14引脚相连,用程序位控制转换过程。
将STA2TUS引脚与AT89C51的INT1引脚相连,转换结束时请求中断。
采用6MHz晶振,MAXIMICL7109完成一次转换所用时间T=8192×58/6MHz=7912ms,即转换速率为12.6次/秒。
3.2.1直流电压测量电路
上图中,读高、低字节测量数据的地址分别为FD00H和FE00H,电压高、低字节测量数据分别寄存在单片机片内RAM单元39H和38H,供应用程序使用。
实现一次基本量程的电压测量程序见附录。
电压高、低字节测量数据分别寄存在单片机片内RAM单元39H和38H中,现在需要进行转换把二进制的数值转换成十进制数值的电压信号,然后将数字电压信号转换成模拟的电压信号。
在利用计算机的电气测量与控制系统中,有时只要将测量、计算的结果以数字量的方式显示、存储,或者直接以数字信号输出的方式控制输出开关,起到控制的作用;有时则需将数字信号转换成模拟电压信号输出。
将数字信号转换成模拟电压信号的过程称为数/模(D/A)转换。
转换原理如下
一个多位二进制数中每一位的1所代表的数值大小称为这一位的权。
如果一个n位二进制自然数用a=Dn-1Dn-2…D1D0B(B为二进制数标记)表示,从最高位Dn-1(简写作MSB)到最低位D0(简写作LSB)的权依次为2n-1、2n-2、…、21、20。
4位权电阻网络D/A转换器原理如图6.2.1所示,由权电阻网络、4个电子开关和1个加法放大器组成。
S3、S2、S1、S0是4个电子开关,其状态分别受4位输入二进制代码D3、D2、Dl、D0的取值控制,代码为1时开关触点连接到参考电压VREF上,代码为0时开关触点接地。
图3.2.2D/A转换原理
根据加法放大器的原理可得:
(3-5-1)
显然上式括号中的值即为输入二进制数值,也就是说输出模拟电压值对应于输入二进制数值。
增加权电阻和电子开关的数量,就可以增加输入数据的位数,输出模拟电压值能够反映更多位数输入二进制数字的值,从而提高D/A转换的精度。
从式(3-5-1)中可知,输出电压uo始终为负值,要想得到正的输出电压,可以将VREF取为负值,或者在输出端增加一级模拟反相器。
图3.2.2中的电子开关,通常称为模拟开关,其作用是通过数字信号控制模拟信号的选择性导通和截止,在D/A转换集成电路器件内部,设计有相应的模拟开关电路。
由以上原理可以得出用C语言写出下列将二进制的数字电压信号转换成十进制的模拟电压信号,程序如下
将39H和38H单元中的二进制数转化成十进制数的电压值程序
#include
voidmain
inta[],b[],i;//定义数组将39H和38H单元中二进制数据拷贝
intm=39H,n=38H,j=128;
for(i=7;i>=0;i++)//将39H单元中数据送入数组a[]
{a[i]=m/j,j--;
}
for(i=7;i>=0;i++)//将38H单元中数据送入数组b[]
{b[i]=m/j;j--;
}
将二进制的数据经过一定的变量关系转化成精确的电压数值然后输出
floatr,vot=0.0;//定义参考电压信号
r=REF;
inta=2;
for(i=7;i>=0;i++)
{vot=vot+a[i]*r/a;a=a*2;//转换39H中二进制电压值
}
printf(“39H中电压转换信号是vot=%f\n”,vot)
for(i=7;i>=0;i++)//转换38H中二进制电压值
{vot=vot+b[i]*r/a;a=a*2;
}
printf(“38H中电压转换信号是vot=%f\n”,vot)
printf(最终的电压转换信号是vot=%f\n”,vot)
知道了这个直流电压测量程序以及硬件封装好后可以直接用来测量直流电压的数值,这样我们可以测量上述经过方波到直流电压信号然后放大后的电压信号的电压值。
3.3直流电压的产生
先产生方波信号
ORGOOOOH
AJMPMAIN
ORG0030H
MAIN:
CLRP2.0;置P2.0为低电平(执行时间为一个机器周期)
NOP;空操作(执行时间为一个机器周期,仅用于延时,以下同)
NOP
NOP
NOP
SETBP2.0;置P2.0为高电平(执行时间为一个机器周期)
NOP
NOP
AJMPMAIN;绝对转移至主程序处
END
编译通过后,将文件烧录到89C51芯片后,将芯片插入到LED数码管输出实验板上。
通电后运行接示波器观察可以发现P2.0输出精确的方波(高电平5.42us,低电平5.43us),周期为10个机器周期10.58us。
将此方波信号用整流桥整流后输出标准的直流信号,图3.2.3是单相桥式不控整流电路原理图
图3.2.3单相桥式不控整流电路原理图
当电源的极性2瑞"+"3端"-"时,12,34两端的二极管导通,输出的电压信号上正下负,方波的正半周期信号转换成直流信号输出,到方波的负半周期时即2瑞"-"3端"+"时,13,24两端的二极管导通,输出的电压信号上正下负。
由此可见,方波信号被整流后成为连续的直流信号输出在14端,这样就可以运用在电路的测量中了。
下面介绍一种微型直流一直流变换器电路,可由12V直流电压产生30V直流电压。
这种变换器的主要优点是电路简单,体积小,成本低,性能好。
驱动能力要求不大,输出电流小于1mA,但对稳定性要求很高,输出电压对输入电压的变化不敏感,体积要求很小。
图3.2.4微型直流升压变换器
变换器的电路如下图所示。
其工作原理简要说明如下
1、振荡器。
由一个集成块CD4011和电阻R3、电容C1组成。
是一个由三级反相器构成的环振,第四个与非门V2:
D用于输出振荡波形,并避免后级对振荡器的影响。
按图中的元件值设置,振荡频率约50KHZ。
2、电流开关。
振荡信号由R4、P1传到三极管P2的基极,若振荡器输出高电平,T2导通,若振荡器输出低电平,T2截止。
T2这样迅速地反复导通与截止,在变压器TT1的原边中感应出非常高的交变电压,通过变压器提升并桐合到副边。
3、整流滤波电路。
该电路采用半波整流,由电解电容进行滤波,从而得到30V直流电压。
4、负反馈电路。
要想得到非常稳定的输出电压,必须引入强烈的负反馈。
图中,R5和R6构成采样电路,输出电压的变化由采样电路反馈到运算放大器uA741
的反相输入端。
2uA741的同相输人端可接6V基准,6V基准由电阻R1和齐纳二极管D1构成。
R1可以采用2-5K的电阻以减小功耗。
⑥脚输出端,通过R2限流电阻接到调整管T1的基极。
如果由于某种原因,使输出电压升高,则uA741的反相输入端电位将升高,它的输出将降低,从而降低调整管的基极电位,使调整管的输出电流减小,在变压器原边感应的交变电压降低,从而降低输出电压,达到稳压的目的。
电路的调节非常简单,只要调节电位器P1,改变开关管T2的工作点,就可
改变变压器原边感应的交变电压,从而就调节了输出电压的值。
调节过程中,不能使T2发射结并联的电阻太小,否则T2不能导通,输出电压为零。
很显然我们可以把输入电压信号控制为5V。
方法是调节电位器P1,改变开关管T2的工作点,就可改变变压器原边感应的交变电压,从而就调节了输出电压的值。
可是这个调节怎么控制呢,这时可以用到模拟多路开关,对输出的信号进行控制,是最后输出的达到我们需要的信号。
以下详细介绍下模拟多路开关的原理。
模拟多路开关
当需要对多路输入信号进行测量时,通常不必每一路输入信号配置一套采样/保持电路和A/D转换电路,可以采用模拟多选一开关,分别对多路信号进行转换。
常见的模拟多选一开关有CD4051等,下图3.2.5为CD4051的引脚功能。
图3.2.5CD4051的引脚功能
CD4051为8选1模拟多路开关。
INH(6脚)为芯片使能引脚,只有当INH引脚为低电平时,选通功能才能被使用。
当传递的信号为双极性交流信号时,VEE(7脚)连接负电源,当传递的信号为单极性正电压信号时,VEE引脚也可以接地。
A、B、C三个引脚(9、10、11脚)为选通控制引脚,当A、B、C三个引脚的值为0~7时,对应选择X0~X7引脚与X引脚导通。
模拟信号可以从X0~X7引脚输入,X引脚输出,这种情况下CD4051被用作信号选通器;模拟信号也可以从X引脚输入,X0~X7引脚输出,这时CD4051被用作信号分配器。
这样将电位器P1分成八个不同的位置标示八个不同的阻值,同时分别连接在
~
的位置,同时来控制ABC的开断来选中
~
的电位信号。
可以用C语言来控制,用0表示低电平,1表示高电平,比如101则用二进制转化成十进制为5,即
电平被选择,此时3输出一个电压信号到测量电路中,经过单片机测量和AD转化和DA控制得到电压数值得到近似5V的电压信号,如果离5V比较远,则逻辑控制电路重新选择继电器的开关重新选择电平信号,就这样反复循环1到7次总能找到比较接近的电压值,然后继续进行测量。
程序见附录。
这样程序执行完成之后就能输出近似于5V的直流电压信号。
同时这个过程当中还有一个问题就是这个过程中的直流电压测量电路,上面已经知道了这个直流电压测量程序,硬件封装好后可以直接用来测量直流电压的数值,这样我们可以测量上述经过方波到直流电压信号然后放大后的电压信号的电压值voltage。
我们暂且将这个通过转换得到的近似5V的电压信号定义为输入电压U,下面我们将进行标准电阻的选择,使选择的标准电阻两端的电压能够最大程度的利用A/D转换。
同样的我们这时仍然可以利用模拟多路开关进行标准电阻的选择。
具体操作步骤如下:
分别接0.1欧姆、1欧姆、10欧姆、100欧姆、1000欧姆、10K欧姆、100K欧姆、1000K欧姆八个标准电阻在开关
~
上面,然后编写程序控制选用哪个电阻运用到电路当中输出电压。
同样用ABC三个模拟数字信号控制开关的选通。
程序见附录。
3.4电阻值的测量及显示
上面程序通过反复的比较循环然后输出合适的电压信号,然后通过运算能够得到比较精确的电阻值
通过这个比例关系,我们可以写出程序,将程序导入单片机然后可以输出比较精确的电阻值,电阻计算程序如下:
similuateR(floatRx)
{printf(“测量到的输入电压信号是U=f%\n”,voltage);
printf(“模拟开关选择的标准电阻是%d\n”,Rr);
printf(“测量到的标准电阻两端的输入电压信号是Ur=f%\n”,voltage1);
floatRx;//定义待测电阻的阻值Rx
Rx=voltage*Rr/voltage1-Rr;//计算被测电阻的阻值
}
这样被测电阻就通过软件编程一部部给测试出来了,下面需要做的工作就是将这个阻值在单片机上显示出来,要编写显示程序。
数码管显示器由于经济实用、亮度高、控制简单,在测量与控制系统中被广泛用于显示被测物理量或内部参数。
根据数码管显