- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
-PAGE11-
CVI自主实验—传感器静态标定
一、实验说明—虚拟传感器的静态标定
测试系统的静态特性就是指当被测量x不随时间变化或随时间的变化程度远缓慢于系统固有的最低阶运动模式的变化速度时,测试系统的输出量y与输入量x之间的函数关系,测试系统的静态特性,是通过静态标定的过程获得的。本次实验要求标定的指标有四个:斜率,截距,均方差,线性度,重复性。依次定义如下。
1、线性度
一般情况下,要求传感器具有线性特性,但传感器的实际特性却是非线性的曲线,这种实际特性曲线与基准直线间的偏差称为非线性误差。传感器的非线性误差指标通常用线性度表示,线性度的定义为:
式中:——线性度(非线性误差)
——在整个测量范围内绝对值最大的非线性误差
——传感器的满量程输出值
由上面定义可以知道,传感器的线性度是以基准直线为参考的,实际测量中采用的是最小二乘线性度。
2、重复性
在相同的工作条件下,在一段短的时间间隔内,输入量从同一方向作满量程变化时,同一输入量值所对应的多次测量所得到的一组输出量值,他们之间相互偏离的程度便称为传感器的重复性。当传感器在全量程范围内多次重复测试时,同是正行程或同时反行程上对应同一输入量,其输出量之间的差值称为重复性偏差。正、反行程的重复性偏差分别为:
在全量程内,重复性偏差的绝对值的最大值与基准直线上满量程输出之比为重复性误差,定义如下:
虚拟传感器的标定数据存储为a.cld,b.cld两个文件中,选择b.cld作为数据源。其数据定义为结构体CalibrateData,声明如下
typedefstructCalibrateData
{
intinputnum; //输入测量点数
double*input; //输入测量点的值,数据长度为inputnum
charinputunit[10]; //输入物理量的单位
introundnum; //测量的循环数
charoutputunit[10]; //测量所得物理量的单位
double*output; //测量的值,其排列顺序为:第一循环正行程,
//第一循环反行程,第二循环正行程,
//第二循环反行程,依次类推。数据长度为
//inputnum*2*roundnum
}CALIDATA;
在回调函数中利用LinFit函数计算传感器的基准直线,其函数原型如下:
Intstatus=LinFit(doublearrayX[],doublearrayY[],intnumberOfElements,doubleoutputArray[],double*slope,double*intercept,double*meanSquaredError);
数组X,Y为用以计算拟合直线的点的x轴和y轴的坐标值,数组Z为得到的拟合直线值,数组X,Y,Z的长度均为n,slope为基准直线的斜率,intercept为基准直线的截距,meanSquaredError为均方差,Z,X满足如下关系
Zi=slope×Xi+intercept
meanSquaredError计算公式如下
二、实验要求
1、读取数据,显示散点图及拟合直线;
2、计算斜率,截据,均方差,线性度并显示;
3、生成.TXT报表。
三、结果
Result.txt中保存内容:
传感器静态标定结果:
Date:06-13-2013Time:10:34:00
斜率:23.320139
截距:85.638889
均方差:113021.61902
线性度:15.259
重复性:5.056
四、程序说明
CVI采用的是Windows的消息轮询触发机制,从消息队列中取出某个特定的消息进行相应的操作。对于本次实验,主要完成两项功能,读取并显示数据和保存数据。相对应的,CLICK按钮‘读取数据’和‘显示报表’,调用ReaddataCallback和DisplayCallback函数完成上述两项功能。具体代码如下。
#includeformatio.h
#includeansi_c.h
#includecvirte.h
#includeuserint.h
#includesensor.h
staticintpanelHandle;
文档评论(0)