您好,欢迎访问三七文档
基于单片机的电阻测量方法探究北京邮电大学张昊摘要:电阻是任何电路中不可缺少的元件,它的作用很多,可以分压限流,可以进行能量转化,可以应用于传感,电阻阻值的大小直接关系到电路的性能。基于电阻测量的方法有很多,其中利用单片机进行电阻测量是很重要的方法。本次探究中,我们正式是使用了数字化的方法来实现对模拟电路值的间接测量。TI的Cortex-M4总共为我们提供了四种测量电阻的方式,并且均可以在液晶板上显示相应的数值。在具体实验时,我们需要在合适的位置加上跳线帽,并将电阻插在适当的模块上,计算得到我们要测量的电阻。电路的相关原理会在本文中具体的阐释,实验当中也不可避免的会遇见一些问题,我们也对这些问题进行了探究。关键词:电阻测量单片机恒流源ADS1100仪用放大1.背景与意义:电阻是一类很重要的元件,它的作用极大,分压,分流,限流,有些特性电阻还有一般电路所没有的功能。例如输入电阻是用来衡量放大器对信号源的影响的一个性能指标。输入电阻越大,表明放大器从信号源取的电流越小,放大器输入端得到的信号电压也越大,即信号源电压衰减的少。同时,电阻是产生热损耗与热噪声的重要原因,它的阻值大小直接决定了电路的好坏,因此围绕电阻测量产生了大量的测量方法。常见的测量方法有伏安法,半偏法,电桥法等等,这些都是基本的方法,但普遍精度不高。当前范围内有许多种精确测量电阻的方法,比如对于低值电阻,有采用四线制电流倒向技术测量的方法,高值电阻而言,也有兆欧的欧姆表用于测量。本次探究是基于单片机的电阻测量,它也可以很大程度上提高精度,并且方便简单,由于使用了嵌入式系统,数字化测量方法是其一大特点,对于这一方法的探究很有价值,并且它拥有广阔应用前景。2.内容及原理:围绕电阻测量展开,我们分别用了4种方式,分别是恒流源,电桥配上ads1100与仪用放大器,共同目的是精准地测量电阻,每个实验所测电阻均是通过万用表测量与LCD显示屏所示数据计算所得,并将两种做法进行比较,得出一致的结论。2.1恒流源电路测量电阻2.1.1恒流源电路原理恒流源提供给电阻R4大约2.5v电压,产生1mA的电流,并且接上了两级放大器,结成了达林顿结构,增大了电路电流的增益,使得流过待测电阻上的电流约在1mA,产生电压信号。由于所得的电压信号是交流的,分析其频谱会发现,有一部分高频在采样的过程中会产生频谱混叠,产生失真。故在采样前,我们先加了一级抗混叠滤波器,它本质是个低通滤波器,通过滤去高频部分抑制混叠。图2.0相关测量电路具体结构2.1.2ADS1100采样电路相关原理具体采样时,使用了ADS1100这样一个芯片(如图2.0)。该芯片具有高共模抑制比,高输入阻抗,低功耗等突出特点。在这里,我们使用该芯片对电压信号进行编码,所产生的编码值经过芯片的自动增益调节,使得采样信号更加精准,测量更加接近真实值。我们分别将通过万用表测量与单片机测量得出的结果进行对比,做出了关系曲线(如图2.1),发现两者基本拟合。2.1.3仪用放大器原理待测电阻两端的电压首先经过了仪表放大INA333,仪表放大器用来对待测电阻两端的差分信号差分放大并转换为单端信号.INA333是微功耗零漂移轨到轨精密仪表放大器,其内部由两级放大的三个放大器及RF滤波电路组成。前面两个输入缓冲放大器作为第一级来提高放大器输入阻抗,并在第一级的外部通过RG提供差分信号的增益(保持共模信号不变),在第二级(即差动放大器)提供第二次差分信号的增益,并抑制共模信号(如图2.0)。这样差分信号可以被两级放大,因此仪表放大器的放大倍数可以相当大,可以设定在1~1000之间。本实验中,取增益调整电阻R11为11KΩ,这样仪表放大器的放大倍数G为10.为了使放大器能够反映负压的输出,需增偏置电压VREF,通过调节电位器R19可以实现不同分压。液晶屏显示电压值u=I*R*G+VREF,实验测量中将跳线JP7的“2”“3”端短接,偏置电压VREF为0V.仪放INA333要求输入端共模电压在100mV以上,故被测电阻值不应超过100欧。2.1.4原始测量数据经过整理的测量数据如下:(VIN+)-(VIN-)/VRx1计算/ΩRx1直测/Ω误差/%0.8769876.9872.90.458242641.01421014.21012.60.158009090.6207620.7615.50.844841590.3318331.8331.30.150920620.1298129.8129.80表2.1恒流源+ADS1100(VIN+)-(VIN-)/VRx2计算/ΩRx2直测/Ω误差/%0.55755.7150.86-63.0783510.47447.4105.93-55.2534690.42242.278.75-46.4126980.36936.950.28-26.6109790.35235.241.11-14.3760640.31531.530.622.87393860.20720.720.381.570166830.10110.110.060.397614310.15815.815.581.412066750.26226.225.353.3530572表2.2恒流源+仪用放大器2.1.5数据处理我们同时使用万用表与单片机两种方式测量电阻值,得到曲线(图2.1与图2.2)如下:图2.1电阻,电压关系曲线图02004006008001000120000.20.40.60.811.2电阻/Ω电压/V恒流源+ADS1100测量电阻-电压图Rx1计算/ΩRx1直测/Ω图2.2仪用放大器电压电阻关系曲线可以看出使用ADS1100的电路测量电阻值在很大范围内十分精准,而使用仪用放大器测得的电阻值在35欧姆以上出现了较大偏差,说明该种测量方法存在较大输入限制。2.2电桥电路测量电阻2.2.1电桥电路原理电桥法测量电阻是一种很重要的测量技术,电阻电桥可以用电流源驱动,也可以用电压源驱动。当桥臂电阻发生变化时,电桥的平衡被打破,电桥输出一个电压。这个电压就反映了电阻的大小。当电桥的四个桥臂电阻都相同,即电桥平衡时,电桥输出电压为0V。当调节待测电阻的阻值在0~1KΩ变化时(实际应用中电阻阻值变化非常小),电桥不再平衡,电桥输出电压由公式给出。经过抗混叠滤波器和ADS1100采样电路后,进入单片机。如果电桥桥臂电阻不匹配,就会导致电桥不平衡,此时测量电阻的误差非线性的,很难进行修正。其步骤如下:调节待测电阻(电位器)阻值为0,测试测试点Vin+和Vin-之间的电压是否为零。如果不为零,需要更改电桥桥臂电阻。对于电桥测电阻,四个桥臂电阻最好使用精密电阻,以实现良好的匹配。02040608010012014016000.10.20.30.40.50.6电阻/Ω电压/V恒流源+仪用INA333测量电阻-电压图Rx2计算/Ω2.2.2实验原始数据(VIN+)-(VIN-)/VRx3计算/ΩRx3直测/Ω误差/%0.082104.591837100.354.227042090.194266.483516261.31.983741480.308459.016393449.72.071690780.387612.826603604.51.377436450.496859.618718850.71.0483975表2.3电桥法+ADS1100(VIN+)-(VIN-)/VRx4计算/ΩRx4直测/Ω误差/%0.38547.7815751.88-7.89982661.521203.084318201.80.636431140.78399.6373354102.42-2.71691532.208308.984047304.181.579343492.819412.104378402.42.411624833.057454.809194503.6-9.68840463.056454.626599602.9-24.593366表2.4电桥法+仪用放大器2.2.3实验数据处理我们使用万用表先测得原始电阻值,再将使用电桥情况下得到的电压值代入相关公式,算出理论电阻值,二者结合得到曲线(图2.3与图2.4)如下:图2.3电桥加ADS1100电压电阻关系曲线图2.4电桥加仪用放大器电压电阻关系曲线由上图可以看出使用ADS1100的电路测量电阻值在很大范围内十分精准,而使用仪用放大器测得的电阻值在400欧姆以上出现了较大偏差,说明该种测量方法存在输入限制。0100200300400500600700800900100000.10.20.30.40.50.6电桥+ADS1110测量电阻-电压图Rx3计算/ΩRx3直测/Ω010020030040050060070000.511.522.533.5电阻/Ω电压/V电桥+仪用INA333测量电阻-电压图Rx4计算/ΩRx4直测/Ω3.单片机电阻测量部分程序示例:1、ADC初始化/*********************************************************************初始化ADC获取滚轮电压值,用于电桥电路测量电阻*————————|//|//M4PB4|--ADC0模数转换信号源//________|********************************************************************/#defineADC_BASEADC0_BASE//使用ADC0#defineSequenceNum3//使用序列3voidInit_ADC_Detect(){//使能ADC0外设ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);//使能PortB外设端口ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);//选择PB4作为模数装换ADC的管脚ROM_GPIOPinTypeADC(GPIO_PORTB_BASE,GPIO_PIN_4);//配置采样序列的触发源和优先级ROM_ADCSequenceConfigure(ADC_BASE,SequenceNum,ADC_TRIGGER_PROCESSOR,0);//配置采样序列发生器的步进ROM_ADCSequenceStepConfigure(ADC_BASE,SequenceNum,0,ADC_CTL_CH10|ADC_CTL_IE|ADC_CTL_END);//使能一个采样序列ROM_ADCSequenceEnable(ADC_BASE,SequenceNum);//清除采样序列中断源ROM_ADCIntClear(ADC_BASE,SequenceNum);}2.ADC数据采样在程序主循环中以一定更新频率的不断采样ADC外设端口的电压值while(1){//对while做125ms的延时,每秒刷新频率为8HzROM_SysCtlDelay(SysCtlClockGet()/3/30);//##################################################//ADC测电阻ADCProcessorTrigger(ADC_BASE,SequenceNum);//等待完成AD转换while(!ADCIntStatus(ADC_BASE,SequenceNum,false)){}//清楚ADC中断标志位ADCIntClear(ADC_BASE,SequenceNum);//读取ADC值ADCSequenceDataGet(ADC_BASE,SequenceNum,pui32ADC0Value);//根据参考电平3.3V将获取的数字量转化为实际电压值sample_Bridge_Average=(pui32ADC0Value[0]*3300)/4096;...}4.探究结论:四组测量中,我们均将万用表测量电阻与单片机测量电阻进行对比,并作出了相应的曲线,发现除了仪用放大对测量电阻值范围有相应的要求外,其余实验结果
本文标题:单片机电阻测量
链接地址:https://www.777doc.com/doc-2594529 .html