传感器特性实验数据处理方法_第1页
传感器特性实验数据处理方法_第2页
传感器特性实验数据处理方法_第3页
传感器特性实验数据处理方法_第4页
传感器特性实验数据处理方法_第5页
全文预览已结束

下载本文档

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

文档简介

1、传感器实验数据处理方法 孙福玉1 曹万苍1 王中文2 (1赤峰学院 内蒙古赤峰 , 024000)(2吉林省公主岭市范家屯第一中学)摘要传感器实验中,经常需要通过实验数据求出传感器的特性指标,本文利用MATLAB的GUI功能,通过对GUI开发环境中回调函数的编程,设计了基于GUI的传感器实验数据处理界面,展示了方便灵活的参数输入和动态仿真结果的输出,开发设计出了具有良好交互式界面的传感器实验数据处理系统,可应用于所有传感器实验的数据处理。关键词 传感器;非线性误差;灵敏度;GUI中图分类号:O4-39 文献标识码:A1 引言传感器通常把非电量转化为电量,它就相当于我们的五官,可感知温度、压力、

2、高度、速度、光强等各种变化,并把这种变化转化为较容易处理的电压信号,电压信号送入单片机、FPGA、CPLD或ARM等处理器进行处理后,即可完成自动控制、数字显示、报警等工作。从中学到大学,在物理学中我们接触了很多传感器,如光敏管、压阻片、差动变压器等等,在涉及到传感器的实验中,经常需要通过实验数据求出传感器的特性指标,而这种特性指标的求解非常烦琐,需要化费学生大量的时间和经历,本文给出了一种MATLAB的GUI处理方法,可以非常容易的解决这个问题。2 传感器的两个重要特性21传感器的非线性误差传感器的非线性误差是传感器的一个重要指标,传感器的输出随输入的变化而变化,对于使用者而言,我们自然希望

3、这种变化是线性的,我们称之为输入输出特性曲线为一条直线,但由于种种原因,实际的传感器总是非线性的,我们就希望传感器的非线性越小越好,比如对于由压力传感器做成的电子秤,放上1 Kg它显示1 Kg,放上2 Kg它显示了2.5 Kg,可以说它的非线性误差太大了,这样的电子秤是无法使用的。非线性误差通常指的是相对误差,可以用公式(1)进行计算: (1)上式中LMAX为最大非线性绝对误差,YFL为传感器的满量程输出值。22传感器的灵敏度传感器的灵敏度指传感器灵敏的程度,其定义为传感器的输出量增量 y与传感器的输入量增量 x的比值,传感器的灵敏度可用公式(2)计算,通常情况下,我们希望传感器的灵敏度越大越

4、好。对于线性传感器,它的灵敏度就是它的输入输出特性曲线的斜率。 (2)为了根据公式(1)和公式(2)计算传感器的非线性误差和灵敏度,需要使用最小二乘法,公式(3)至公式(5)为最小二乘法的计算公式,从这几组公式中我们可以看出手工求解的烦琐程度。 (3)公式(3)中x为传感器实验的n 次输入,y为传感器实验的n 次输出。 (4)公式(3)和公式(4)中,为传感器n 次实验的误差。 (5)公式(3)至公式(5)中a为输入输出特性曲线的截距,b为输入输出特性曲线的斜率,b值即为传感器的灵敏度s,n 次实验中最大的值就是LMAX也就是最大非线性绝对误差的值。3 传感器实验数据的GUI处理方法GUI是G

5、raphical User Interfaces Development Environment的一个缩写,意为图形用户界面开发环境,简称GUI,GUI是MATLAB的一个子窗口,它具有非常强大的功能,其优点是方便灵活的参数输入,动态仿真结果输出。可采用下列步骤设计传感器实验数据处理的GUI界面:(1) 启动MATLAB, 点击file菜单,选中GUIDE子窗口选项,打开GUI的布局编辑器窗口。 (2) 如图一传感器实验数据处理的GUI图形窗口所示,拖放所需要的控件,这里拖放四个动态文本框到工作区,其中两个用来放置实验中传感器的输入和输出数据,另外两个放置数据处理结果,即程序执行后输出的传感器

6、的灵敏度和传感器的非线性误差,拖放三个静态文框到工作区,用来对四个动态文本框进行说明,拖放一个坐标轴控件用来放置传感器的输入输出特性曲线,拖放一个按钮控件,当按钮控件 Push Buttor按下后,GUI将开始运行。我们可以使用几何位置排列工具对这些控件的位置进行重新排列和调整。(3) 双击每一个所选中的控件,编辑它们的属性,这里把fontname属性设置为隶书,把fontsize属性设置为16,其它的fontweight,string,tag等属性也应进行相应的设置。 (4)运行GUI程序,在自动生成的M-file中添加Push Buttor按钮控件的Callback回调函数如下1-2所示:

7、x0 = numeric(get(handles.x, 'string')y0 = numeric(get(handles.y, 'string')p=polyfit(x0,y0,1);x1=min(x0)x2=max(x0)x=x1-1:0.01:x2+1;y=polyval(p,x);ps= p(:,1);s=abs(s)y1=polyval(p,x0)l1=abs(y0-y1)l2=max(l1)y2=abs(y0)yfs=max(y2)rl=l2./yfsplot(x0,y0,'ro',x,y,'k-');legend(&

8、#39;x0-y0','x-y')set(handles.s,'string',s) set(handles.rl,'string',rl) (5)运行M-file,出现传感器实验数据处理的GUI图形窗口如图一所示,在原始数据处的两个动态文本框中输入传感器输入和输出实验数据,点击Push Buttor按钮控件,即可在另外两个动态文本框中看到实验数据的处理结果,即程序执行后输出的传感器的灵敏度和传感器的非线性误差,同时我们在坐标轴控件中可观察到传感器的输入输出特性曲线。图一 传感器实验数据处理的GUI图形窗口4 结论传感器实验中,经常需要通过实验数据求出传感器的特性指标,而这种特性指标的求解非常烦琐,本文利用MATLAB的GUI功能,可以非常容易的解决这个问题。本文设计了基于GUI的传感器实验数据处理界面,展示了方便灵活的参数输入和动态仿真结果的输出,开发设计出了具

温馨提示

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

评论

0/150

提交评论