基于NI9237模块实现应变检测

news/2024/5/19 2:21:43 标签: 硬件

(图片来源:连接应变计和分流电阻至NI-9237 - National Instruments)

分流校准(ShuntCalibration)的原理大致如下,接入一个分流电阻Rs到电桥的一个脚上,利用其分流的作用,可以改变AI+和AI-两端电压差(即电桥的输出,NI9237模块的输入),从而模拟R3发生应变的情况。因为当R3为应变片并发生应变时,其电阻所接入的桥臂两端总阻值就会发生改变,这里假设没有发生应变情况,那么R3就为标称值,而加入Rs就可改变R3所在的桥臂上的总电阻,从而达到模拟发生应变的效果。

由于电桥上所有的电阻都是已知的,因此可以计算出理论上所测得的电桥输出。但是由于NI9237模块存在系统增益误差,所以实际所测得的电桥输出(即所测得的AI+和AI-两端的压差)是不会等于理论值(theoretical signal level)的。这里先对系统增益误差做一下说明,系统增益误差是被NI9237内置的模数转换器所引入的,增益误差,其概念如下:

(图片来源:英文https://www.maximintegrated.com/en/app-notes/index.mvp/id/641)

(图片来源:中文https://www.maximintegrated.com/cn/app-notes/index.mvp/id/641#)

因此,由理论值和实测值,可以算出增益修正系数,公式如下:

  

即:增益修正系数=理论信号值/实测信号值

(图片来源:NI 9237 Example for Shunt Cal and Offset Cal - NI Community)

这样,后面我们就可以用(实测信号x增益修正系数=理论信号)公式来获得(AI+-AI-)AI+和AI-两端的真实电压差,从而修正掉增益误差(gain error)和应变系数误差(即实际应变系数与标称值之差,discrepancies in the nominal Gauge Factor)。关于应变系数的概念,这里做下说明,应变系数,即应变片对应变的敏感程度,定义为应变片电阻的区段变化与长度区段变化之比,如下图所示:

(图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf)

把应变片粘贴到样品上,这样样品上的应变ε就会传递到应变片上,从而改变应变片的电阻阻值。具体原理说明如下:

(图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf)

应变测量又是一个非常大的话题,这里不再细述,关于应变测量的一些基本概念和应用方法,NI在一篇文档里做了非常详细的说明,详见上图链接,后面讨论时会继续就一些概念补充说明。

在进行分流校准之前应该要先进行偏置调零,因为即使没有施加应变到应变片上,也会有一个初始电压存在,原因多种多样,可能是因为电桥桥臂导线部分电阻的存在导致其没有完全做到平衡,也可能电桥平衡了,但是因为连接激励电压的导线其电阻的存在,也会导致输入到AD的电压不为0,所以,必须要先进行偏置调零,把偏置电压补偿掉,这样就相当于实现了电桥初始状态的平衡。

偏置调零主要有三种方法,一是软件补偿(SoftwareCompensation),二是加偏置调零电路(Offset-Nulling Circuit),三是带缓冲偏置调零(Buffered Offset Nulling)。

第一种方法,是通过记录电桥初始状态(nonstrainedstate)所测得的电桥输出VO(unstrained)测得初始的偏置量,后面施加应力之后(loaded),测得的电压为VO(strained),将VO(strained)减去初始的偏置量VO(unstrained)即可算出真正的电桥输出,从而实现补偿。这种方法简单快捷,且无需手动操作,但其缺点也非常明显,实际上这种方法并没有将偏置给从物理上真正的补偿掉,偏置一直会存在着,贯穿整个测量过程,只是通过数值计算的手段将其给修正掉而已,这就意味着,如果偏置量过大,将会限制测量电桥输出的放大器的增益,从而限制所能测得的应变的动态范围。注意,对第一种方法,偏置调零不可以在分流校准之后进行,因为这会导致偏置电压被多次补偿,从而引起不当的增益修正。需要注意的一点是,在系统没有施加载荷前(此时应变片没有发生应变),如果所测得的信号偏置电压(offset voltage)过大,接近于ADC的输入界限,那么,在施加载荷之后,输入电压就有可能会超出ADC的输入电压范围,这时,输入信号会被截断,从而造成误差,而这一误差,是偏置调零所无法补偿的。

第二种方法,是通过改变可调电阻或者电位计的阻值从物理上将初始的电桥输出调整到0。一种补偿电路如下:

(图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf)

调整电位计(RPOT)的位置可以将初始的电桥输出调到0,RNULL的阻值决定了电桥所能平衡的电压范围。   

第三种方法,和第一种方法类似的是,它同样不对电桥产生直接影响。带缓冲调零,通过调零电路,将一个可调的DC电压加到运放的输出端,从而补偿输出偏置。

对四分之一桥而言,计算方法如下:

  (图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf)

由于实际应用中,同样的温度变化,应变片Rg的电阻变化和R3的电阻变化不等,还会造成温度误差。为了修正温度误差,可以将R3替换为同样的应变片,横向贴在受力物件上,起到补偿应变片的作用。具体如下:

(图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf) 

对半桥而言,其灵敏度大约为四分之一桥的两倍。计算方法如下:

  (图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf)

对全桥而言,其灵敏度更大,为半桥的两倍。计算方法如下:

(图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf)

上述的几种电桥配置都是在假定导线电阻可以忽略的情况讨论了,这样虽然有利于我们理解一些基本的概念,但在实际测量中却会引入极大的误差。实际测量的时候需要考虑接线方式,采用二线制接法,导线电阻的存在会引入极大误差,虽然可以在计算的时候把导线电阻阻值RL考虑进去,并修正其所造成的误差,但有一个严重的问题是,温度波动对导线电阻RL会造成很大的影响,使得RL不是常数,对于一般的铜线,考虑其典型的温度系数,影响尤甚,一点点温度波动就有可能造成几个微应变的测量误差,因此,实际测量基本不会采用这种方法。而是采用三线制接法,这样就可以大大减低导线电阻的影响,具体原理分析如图:

 (图片来源:http://www.ing.unp.edu.ar/electronica/asignaturas/ee016/anexo/r-an078.pdf) 

NI9237模块最大输入电压范围为+-25mV/V,故Vo/Vex范围为+-0.025。由此可以算得可测得的应变范围,以四份之一电桥,GF=2的情况为例,具体推导如下:

(图片来源:http://digital.ni.com/public.nsf/allkb/2E3F7AEFC48D346586257C06005126DE)

再由应变可以算出受力情况。

关于激励电压,可以通过编程令NI9273提供2.5V、3.3V、5V或10V的激励电压,模块可提供最大功率为150mW,在不超出功率限制情况下,全桥和半桥有三种配置,具体见下图:

(来源:https://www.ni.com/pdf/manuals/374186a_02.pdf)

         NI9237的几种接线方式见下图:

 (来源:连接应变计和分流电阻至NI-9237 - National Instruments)

(Connecting Strain Gauges and Shunt Resistors to the NI-9237 - National Instruments)

关于一些桥路配置,详情见下面博客

Measuring Strain with Strain Gages - NI


http://www.niftyadmin.cn/n/1038481.html

相关文章

LU分解Matlab算法分析

最近矩阵分析老师出了一道题目作为作业,是一道程序题,题目是对A矩阵做LU分解,要求能对A实现PALU的分解,并最终输出L,U,P矩阵。 先来解读下题目,寥寥几句话,里面囊括的信息量却不少&a…

TMS320c6747的外部中断

1.初始化 6747的GPIO模块初始化步骤如下: 1.1 执行必要的引脚复用设置,如将引脚设置为中断模式或GPIO模式(查阅具体的数据手册) 1.2 对电源与睡眠控制器(PSC,Power and Sleep Controller&#xff…

TMS320C6747的I2C模块

1.CCR地址 X1226的CCR(Clock/Control Register,时钟/控制寄存器)地址为1101111(0x6f)(忽略最后一位R/W位,从第二位开始,I2C的7位寻址模式),故从I2C从设备地址…

TMS320C6747的定时器

6747的定时器配置如下: 1. 设置引脚复用寄存器PINMUX8,将3脚功能选择为定时器输出,注意,该脚与I2C0的SCL重合。 (用户手册P203) 2. 设置定时器setup_TIMER0();在setup_TIMER0函数中清除TIMER0的高3…

TMS320C6747的emifa访问异步外部存储

C6747访问adc,电路如图: 当CS4片选信号有效,EMA_A12为1时,74LV139译码电路的1Y1脚将有效,从而启动ADC转换。 AD7656为16位芯片,C6747的EMIFA将其作为16位异步外部存储设备访问。在片选初始化的时候&#xf…

TMS320C6747移植dspbios的一些问题及解决方法

在研旭6747开发板led例程的基础上移植dspbios,目的是通过操作系统dspbios让led实现亮灭。 一开始出现的问题是有声明重复定义了,查找原因发现是研旭led程序中c6474.h这个头文件里定义了unsigned int,unsigned char.int,char等等这些数据类型为uint,ucha…

Qt简介

转载自:http://blog.csdn.net/k331922164/article/details/52729675#comments ----------------------华丽的分割线----------------------------- 这里的Qt不是指Qt语音平台,而是指GUI框架。 截止至本文的写作日期,Qt最新版是5.9,但仍有很多…

verilog代码风格

写代码,最好一开始就按照规范来,不然养成糟糕的习惯,到后面会造成不好的影响,这篇文章写的挺好的,可以看看。转载自: http://blog.csdn.net/k331922164/article/details/52166038 -----------------------…