单片机电阻测量_第1页
单片机电阻测量_第2页
单片机电阻测量_第3页
单片机电阻测量_第4页
单片机电阻测量_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于单片机的电阻测量方法探究北京邮电大学 张昊摘要:电阻是任何电路中不可缺少的元件,它的作用很多,可以分压限流,可以进行能量转化,可以应用于传感,电阻阻值的大小直接关系到电路的性能。基于电阻测量的方法有很多,其中利用单片机进行电阻测量是很重要的方法。本次探究中,我们正式是使用了数字化的方法来实现对模拟电路值的间接测量。TI的Cortex- M4总共为我们提供了四种测量电阻的方式,并且均可以在液晶板上显示相应的数值。在具体实验时,我们需要在合适的位置加上跳线帽,并将电阻插在适当的模块上,计算得到我们要测量的电阻。电路的相关原理会在本文中具体的阐释,实验当中也不可避免的会遇见一些问题,我们也对这

2、些问题进行了探究。关键词:电阻测量 单片机 恒流源 ADS1100 仪用放大1.背景与意义:电阻是一类很重要的元件,它的作用极大,分压,分流,限流,有些特性电阻还有一般电路所没有的功能。例如输入电阻是用来衡量放大器对信号源的影响的一个性能指标。输入电阻越大,表明放大器从信号源取的电流越小,放大器输入端得到的信号电压也越大,即信号源电压衰减的少。同时,电阻是产生热损耗与热噪声的重要原因,它的阻值大小直接决定了电路的好坏,因此围绕电阻测量产生了大量的测量方法。常见的测量方法有伏安法,半偏法,电桥法等等,这些都是基本的方法,但普遍精度不高。当前范围内有许多种精确测量电阻的方法,比如对于低值电阻,有采

3、用四线制电流倒向技术测量的方法,高值电阻而言,也有兆欧的欧姆表用于测量。本次探究是基于单片机的电阻测量,它也可以很大程度上提高精度,并且方便简单,由于使用了嵌入式系统,数字化测量方法是其一大特点,对于这一方法的探究很有价值,并且它拥有广阔应用前景。2内容及原理:围绕电阻测量展开,我们分别用了4种方式,分别是恒流源,电桥配上ads1100与仪用放大器,共同目的是精准地测量电阻,每个实验所测电阻均是通过万用表测量与LCD显示屏所示数据计算所得,并将两种做法进行比较,得出一致的结论。2.1 恒流源电路测量电阻2.1.1 恒流源电路原理恒流源提供给电阻R4大约2.5v电压,产生1mA的电流,并且接上了

4、两级放大器,结成了达林顿结构,增大了电路电流的增益,使得流过待测电阻上的电流约在1mA,产生电压信号。由于所得的电压信号是交流的,分析其频谱会发现,有一部分高频在采样的过程中会产生频谱混叠,产生失真。故在采样前,我们先加了一级抗混叠滤波器,它本质是个低通滤波器,通过滤去高频部分抑制混叠。图2.0 相关测量电路具体结构2.1.2 ADS1100采样电路相关原理具体采样时,使用了ADS1100这样一个芯片(如图2.0)。该芯片具有高共模抑制比,高输入阻抗,低功耗等突出特点。在这里,我们使用该芯片对电压信号进行编码,所产生的编码值经过芯片的自动增益调节,使得采样信号更加精准,测量更加接近真实值。我们

5、分别将通过万用表测量与单片机测量得出的结果进行对比,做出了关系曲线(如图2.1),发现两者基本拟合。2.1.3 仪用放大器原理待测电阻两端的电压首先经过了仪表放大 INA333, 仪表放大器用来对待测电阻两端的差分信号差分放大并转换为单端信号. INA333 是微功耗零漂移轨到轨精密仪表放大器,其内部由两级放大的三个 放大器及 RF 滤波电路组成。前面两个输入缓冲放大器作为第一级来提高放大器输入阻抗,并在第一级的外部通过 RG 提供差分信号的增益(保持共模信号不 变),在第二级(即差动放大器)提供第二次差分信号的增益,并抑制共模信号(如图2.0)。这样差分信号可以被两级放大,因此仪表放大器的放

6、大倍数可以相当大,可以设 定在 11000 之间。本实验中,取增益调整电阻 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.45824264

7、1.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.72

8、0.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 电阻,电压关系曲线图图2.2 仪用放大器电压电阻关系曲线可以看出使用ADS1100的电路测量电阻值在很大范围内十分精准,而使用仪用放大器测得的电阻值在35欧姆以上出现了较大偏差,说明该种测量方法存在较大输入限制。2.2 电桥电路测量电阻2.2.1 电桥电路原理电桥法测量电阻是一种很重要的

9、测量技术,电阻电桥可以用电流源驱动,也可以用电压源驱动。当桥臂电阻发生变化时,电桥的平衡被打破,电桥输出一个电压。这个电压就反映了电阻的大小。当电桥的四个桥臂电阻都相同,即电桥平 衡时,电桥输出电压为 0V。当调节待测电阻的阻值在 01K 变化时(实际应 用中电阻阻值变化非常小),电桥不再平衡,电桥输出电压由公式给出。经过抗混叠滤波器和ADS1100 采样电路后,进入单片机。如果电桥桥臂电阻不匹 配,就会导致电桥不平衡,此时测量电阻的误差非线性的,很难进行修正。其步 骤如下: 调节待测电阻 (电位器)阻值为 0,测试测试点 Vin+和 Vin-之间的电压是否 为零。如果不为零,需要更改电桥桥臂

10、电阻。对于电桥测电阻,四个桥臂电阻最好使用精密电阻,以实现良好的匹配。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.899

11、82661.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 电压电

12、阻关系曲线图2.4 电桥加仪用放大器电压电阻关系曲线由上图可以看出使用ADS1100的电路测量电阻值在很大范围内十分精准,而使用仪用放大器测得的电阻值在400欧姆以上出现了较大偏差,说明该种测量方法存在输入限制。 3单片机电阻测量部分程序示例:1、ADC初始化/* * 初始化ADC获取滚轮电压值,用于电桥电路测量电阻 * |/ |/ M4 PB4|-ADC0 模数转换信号源/ _|*/#define ADC_BASE ADC0_BASE / 使用ADC0#define SequenceNum 3 / 使用序列3void Init_ADC_Detect() / 使能 ADC0外设 ROM_Sys

13、CtlPeripheralEnable(SYSCTL_PERIPH_ADC0); / 使能Port B外设端口 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_ADCSequenceStep

14、Configure(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的延时,每秒刷新频率为8Hz ROM_SysCtlDelay(SysCtlClockGet() / 3

15、/ 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 = (pui32ADC0Value0 * 3300) / 4096; . 4.探究结论:四组测量中,我们均将万用表测量电阻与单片机测量电阻进行对比,并作出了相应的曲线,发现除了仪用放大对测量电阻值范围有相应的要求外,其余实验结果均表明利用该系统所测量的电阻阻值很精确。ADS1100与仪用放大器均使用了差分电路,抑制了共模信号,前者还带有自动电压增益控制,后者对输出电压值进行了显著地放大,所有这些为构建一个精确而稳定的测量电路提供了保障。所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论