DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1166|回复: 0
打印 上一主题 下一主题

[待整理] 基于神经网络技术的虚拟传感器温度补偿系统

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 12:27:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
介绍了一体化虚拟温度传感器补偿仪,运用多传感器数据融合技术与神经网络技术,与虚拟仪器技术相结合创建了虚拟压阻式传感器的温度补偿系统。实验结果表明,该方法有效地抑制干扰因素,获得高稳定性测量结果。
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神经网络控制。通过仿真实例验证,该方法快速有效,而且编程简单清晰。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-6 01:42 , 耗时 0.091631 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表