基于神经网络技术的虚拟传感器温度补偿系统
扫描二维码
随时随地手机看文章
摘要:介绍了一体化虚拟温度传感器补偿仪,运用多传感器数据融合技术与神经网络技术,与虚拟仪器技术相结合创建了虚拟压阻式传感器的温度补偿系统。实验结果表明,该方法有效地抑制干扰因素,获得高稳定性测量结果。
关键词:神经网络;虚拟仪器;传感器
0 引言
固态压阻式传感器是利用半导体的压阻效应所制成的传感器,其灵敏度将随温度的变化而变化,导致输入输出特性存在非线性。表现为被测的目标参量为零或保持恒定值时,改变工作环境温度,则传感器的零点或输出电压值均发生变化,这将给测量目标参量带来误差。传统的温度补偿方法有:恒流源供电法、电压正反馈补偿法、热敏电阻补偿法,但以上三种方法只能是灵敏度温度系数接近于零,很难在较宽的温度范围内得到完全补偿。因此,本文将人工神经网络和虚拟仪器相结合,设计了压阻式压力传感器的温度补偿系统,消除了温度影响同时也进行了零点及非线性补偿。
1 补偿系统的工作原理
补偿系统由传感器和温度补偿器两部分组成。传感器部分包括主传感器与温度监测传感器:主传感器为固态压阻式传感器,它与数据采集卡(DAQ)组成测试系统;对主传感器进行温度补偿要引入温度监测传感器,它起到监测工作环境温度的作用;温度补偿器是一个软件模块,补偿系统要对上述2个传感器进行数据融合,因此温度补偿软件模块也是一个多传感器数据融合系统。
1.1 BP神经网络的学习算法
对压阻式压力传感器进行温度补偿,可以在一定的工作温度范围内选定。表1列出了在20℃~65℃间6个温度状态的静态标定数据,同时在选用的压阻式压力传感器量程范围内选了5个标定值,因此获得了30个标定数据。其中,20个数据对网络进行训练,10个数据作为网络校验样本数据。
从表1的标定值可以看出,在输入压力值不变的情况下,工作环境温度改变,压力传感器的输出电压值也随之改变。
1.2 样本数据归一化处理
神经网络所处理的数据应是在-1和+1间的归一化数据,因此采用如下公式进行传感器输出数据的归一化处理:
式中,为第m个样本神经网络的输入、输出归一化值;Xim和Om为第m个样本的输入输出标定值,本文中i=1,2;Ximax和Ximin为第i个传感器输出最大、最小标定值。
1.3 神经网络的结构与训练
BP神经网络结构:
基于该系统采用3层BP神经网络,输入层i=1,2,共有2个节点,分别输入压阻传感器和温度传感器的输出电压值Up和Ut。隐层节点数j=1,2,…,l可在3~30范围内选择,视补偿效果而定。输出层节点k=1,为一个节点,表示输出压力值Pt。
温度补偿系统BP神经网络Ot和分别为归一化的网络输出的计算值与标定值;m为样本序号;M为样本总数;训练的样本数越多,网络的计算结果Ot的偏差越小。根据标定实验提供的学习样本,采用BP算法学习修正网络的权值和阈值,直到满足精度要求为止。训练后的神经网络仍不能使用,必须使用附加样本进行性能验证,如不能满足要求,就需要重新训练网络,所以神经网络的训练是一个反复的过程。
1.4 学习算法的图形化编程
在LabVIEW中要实现神经网络,可通过多种方式实现:利用CIN节点调用外部编译好的C或者C++程序;利用MATLAB Script节点编辑或调用MATLAB程序;利用LabVIEW本身的图形编程语言编程实现。
同上述两种方法相比,用LabVIEW本身的图形语言来编程有很多的优势。LabVIEW的G程序是独立于运行平台的,不需要依赖其他软件。而且作为一种图形化的、数据驱动的程序语言,LabVIEW可以更方便地实现给定的算法,程序更加清晰明了,修改起来也更加方便。同时利用子程序技术,可以大大提高程序的利用率。基于此,本文采用图形编程的方法来实现神经网络控制。图3为实现BP算法的LabVIEW程序。
2 系统设计与实现
系统使用NI公司的LabVIEW和PCI-MIO-16E-1多功能数据采集卡实现温度补偿系统。在LabVIEW平台下开发出“虚拟传感器参数检测仪”,完成数据的采集与预处理。在此基础上嵌入MATLAB程序进行神经网络运算。
2.1 面板设计
前面板主要由两部分组成:神经网络训练模块和数据保存模块。神经网络训练模块执行压阻传感器的温度补偿;数据保存模块将训练后的相关数据进行保存并写入文件中。
2.2 程序流程图设计
在LabVIEW中,流程图是程序运行的基础。流程图主要完成前面板上各个部分的相应功能,包括执行MATLABScript操作和While Loop操作。
2.3 数据运行及保存
当程序开始运行,分别在“压阻传感器输出”和“温度传感器输出”中输入25.42和27.01,然后单击“开始”按钮,则在“压力”数据框中显示出0。通过实验可以看出:虚拟温度补偿仪的补偿效果非常好。
3 结论
研究表明:将经典传感器经信号调理单元与微计算机赋予智能的结合,建立智能传感器系统是改善经典传感器性能的有效途径。本文运用LabVIEW图形化编程语言实现了BP神经网络控制。通过仿真实例验证,该方法快速有效,而且编程简单清晰。