基于Matlab的温度传感器数据采集和界面开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无线传感网络技术
课程实训
温度传感器数据采集及界面开发
院(系)名称电子与信息工程学院
专业班级物联网121班
学号120402007
学生姓名薛红见
指导教师贾旭副教授
起止时间:2015.6.29—2015.7.17
课程设计(论文)任务及评语
院(系):电子与信息工程学院教研室:物联网工程
本科生课程设计(论文)
目录
第1章绪论 (1)
1.1 温度传感器技术应用概况 (1)
1.2本文研究内容 (2)
第2章温度传感器数据采集总体设计方案 (3)
2.1 传感器信息采集设计方案 (3)
2.2总体设计方案框图及分析 (4)
第3章基于MATLAB温度传感器的设计 (6)
3.1温度传感器的设计理念 (6)
3.1.1 温度传感器的定义 (6)
3.1.2传感器的原理 (6)
3.2 传感器GUI布局 (7)
第4章温度传感器程序软件及调试 (11)
4.1 编写回调函数 (11)
4. 2附各按键的程序源代码 (13)
第5章串口调制及界面运行 (14)
5.1界面串口选择 (14)
5.2打开串口查看结果 (14)
参考文献 (17)
第1章绪论
1.1 温度传感器技术应用概况
随着现代人们生活水平的提高以及我国网络技术应用的普及,我国的网络技术的开发水平已经达到了一定的层次。

人们日常生活中对网络的需求也是日益增多,故此,我们在生活的各个方面对传感器网络技术传感器网络技术的开发及应用也被人们所普遍接受,并得到广泛的应用。

传感器网络是信息感知和采集的一场革命,也被认为是21世纪最重要的技术之一。

它将会对人类未来的生活方式长生深远的影响,通过对传感器信息的采集程序的设计思路,传感器将外界的温度等模拟量转变为数字信号,再将收集到的信号通过计算机进一步给予显示、处理、传输与记录,对收集到的自然数据的传达给人类。

本次的温度传感器系统设计对温度信息的收集是由温度传感器网络系统来完成的。

温度传感器网络是在监测区域内合理的布置大量的传感器节点,并且节点之间通过自组织方式构成网络。

传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点,再将所得信息数据传递给控制计算机。

如图1.1为传感器网络的体系结构图。

此图详细的画出了传感器节点之间传递信息的过程。

图1.1 传感器网络体系结构
在我们现代日常生活当中,传感器技术应用的十分广阔。

从传感器的诞生至今为止,传感器的体积在不断的减小,种类也从单一到现在生产的多种多样,种类及用途在不断的增多,而且传感器的价格也越来越便宜,符合我国大部分人的使用需求。

现代的普通传感器的价格十分便宜,而且,质量也随着我国工业能力的不断增强也在不断的上升。

我国对现代化传感器的研究也是投入了大量的资金,这大大加快了传感器技术在我国的发展。

从小小的收音机到大型的军事通信设备,无不用到传感器技术。

传感器技术也为我们的生活和工作提供了很大的方便。

温度传感器技术一般应用在对环境的测试中。

例如,在我国的深山老林中防火是一件必不可少的事情,但是随着人力资源的短缺以及昂贵的人力劳动来说太过浪费。

我们可以使用传感器技术进行防火预警;在一些金属的熔炼过程中对温度的控制是必不可少的,但是人又不能时刻测量温度,在这个过程当中温度传感器就发挥了重要的作用;在我们的生活当中对天气的了解比不可少,但是专业的技术人员和了解自然环境变化的人才也不是太多,这就需要用到传感器技术,不需要很专业的知识就能够对天气进行了解判断并给予通报。

1.2本文研究内容
本文研究内容为研究温度传感器信息采集和界面程序的开发。

本次程序设计的目的是通过3周课程设计的学习,熟练的操作传感器等器件连接以及使用等知识,并熟悉掌握MATLAB操作流程。

通过传感器将所需的环境温度由模拟量转变为数字信号,再将收集到的信号通过计算机进一步给予显示、处理、传输与记录,创建GUI界面并且进行功能的设置,连接物理装置和调节串口连接后对收集到的自然数据通过设计的界面展示给我们。

传感器器件之间信息的传递是由物联网传感器技术来完成的。

传感器采集环境信息传后传递控制计算机进行整理后由界面展现出来所测的数据。

使得数据采集的质量和效率大大提高,也节省了对硬件设备的投资,为用户节省资金;通过对MATLAB的应用,使得软件在数据采集系统的作用越来越大,并且增加本系统设计的灵活性,给我们对传感器技术的使用提供了便利。

第2章温度传感器数据采集总体设计方案
2.1 传感器信息采集设计方案
在我们日常的生活当中到处都充满应用了传感器技术的产品,但是我们对传感器技术信息的采集原理有很多的疑问。

为什么这么一个小小的电子设备能够具有收集信息的功能,它是怎么收集信息的,又是怎么将信息传递给显示器,将信息传递给我们的。

我们对传感器技术充满了疑惑和憧憬,也使得我更加坚定的学习传感器信息采集和界面开发的信心。

通过这三周的学习使我了解了有关传感器信息采集的一些知识,也跟着老师学习了怎样通过MATLAB来创建界面和对界面的调试过程。

下面我将会利用这三周来学习到的知识和以前所学习的知识来叙述两种采集方案并对这两种方案的自身特点和应用适用的环境进行比较,决定使用哪种方案来设计一种简单、便宜又能够充分利用其采集信息能力的温度传感器信息采集和界面开发程序。

方案1:利用物联网串口连接及应用的方法将传感器通过协调器来连接串口,通过传感器对信息的采集将信息通过适配器传递给控制计算机,调试串口后直接来显示温度传感器所传来的温度信息。

此方案的优点是简单、快捷、准确性高,利用很少的设备就可以完成对所在环境信息的测量,并且信息的错误率相当低。

但是,这个方案只适用于我们对传感器信息采集的教学方面和一些传感器设备研究的实验室。

因为它只能连接很少的传感器,并不能大面积的信息采集,也不能大范围的推广到我们普通人的日常生活当中。

如图2.1所示,我们可以使用串口调试助手对串口进行调制。

图2.1 串口调试助手界面
方案2:利用MATLAB创建一个关于显示传感器所传信息的GUI窗口,在窗口上创建有关串口类型及波特率等功的按钮,并对这些按钮的字符大小、颜色和形状进行设置,还要将设置好的按钮位置进行合理的排布并保存。

然后在按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数后运行出有关信息的GUI界面来给我们传达信息。

这个设计方案加入了界面开发程序,将很大程度上增加可控传感器的数量以及更加方便的扩大我们对大面积地域内我们所需信息的采集能力。

不但解除了单个传感器对信息采集面积大小束缚,也提高了我们对一个区域内传感器使用状态的判断能力。

通过仔细的比较这两种设计方案,与方案1相比,方案2用软件对信息的大面积采集更加方便,也扩宽了我们对传感器技术的应用途径。

信息处理及显示的信息更加准确,在日常生活或工作中使用更加方便。

其结构可靠性更高、制作成本也比较低廉、操作也简单。

所以选择方案2。

2.2总体设计方案框图及分析
如图2.2所示,本文设计了一种的传感器信息采集及界面开发为基础的应用性界面。

利用传感器接收外界的温度信息,通过无线传感器网络技术传递给控制计算机对数据进行整理、分类、总结等处理,然后通过GUI界面对整理的信息进行显示,以达到对一定环境内温度测量的目的。

次方案操作简单,所需硬件相对来说比较少,节省硬件设施的不必要浪费。

图2.2 总体设计方框图
第3章基于MATLAB温度传感器的设计
3.1温度传感器的设计理念
3.1.1 温度传感器的定义
温度传感器是指能够感受温度并转换成可用输出信号的传感器。

温度传感器是温度测量仪表的核心部分,种类繁多,按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性可分为热电阻和热电偶两大类。

如图3.1所示,是本文收集到的集中温度传感器本,从图中可以看出传感器的体积有大有小,功能也比较齐全。

可以看出传感器应用范围之广。

图3.1 温度传感器
3.1.2传感器的原理
虽然传感器种类繁多,功能各异,但是其工作原理却大同小异,可以使用图3.2来总体概括传感器的工作原理。

如图3.2为传感器的工作原理图。

图3.2 传感器原理图
3.2 传感器GUI布局
通过本次对温度传感器信息采集和界面开发学习。

让我们来熟练的掌握有关界面的操作。

我们应该了解本文是一个利用MATLAB GUI设计实现一个图形用户界面的传感器程序。

首先我们可以利用MATLAB创建一个简单地GUI界面,并熟悉界面上各设置键的不同功能。

然后在界面上添加温度传感器信息采集界面所需的按钮,并且对添加好的按钮进行命名、大小调制和颜色选择,最后的步骤是对按钮的位置进行合理的排布,尽量使按钮集中在静态文本框下面。

这样能在我们接下来的设置和调制阶段节省很多时间,也不易形成错乱的操作。

接下来我们将进入具体的操作过程。

(1)如图3.3所示,打开Matlab,输入Guide 回车或者在工具栏上点击图标
将会生成一个GUI界面生成选择的那种Guide 窗口。

通过这个窗口,我们可以发现对GUI界面的操作类型,创建一个新的GUI界面或打开一个已经存在的界面图,然后进入下一步骤。

图3.3Guide窗口
(2)如图3.4所示,双击“Blank GUI(Default)”按钮就会出现一个新的GUI窗口,这个窗口上具有多个功能键,我们应该熟练的掌握这些按键的功能,并为我们接下来的操作进行基础知识的积累。

在操作时注意我们所做的产品应具有哪些功能,不要产生错误的操作。

图3.4 Guide窗口
(3)如图3.5所示,根据温度传感器信息采集和界面开发的需求,在创建好的GUI 窗口上一些所需的按钮,将所需的界面图标都添加到这个窗口上,为下一步的操作打下基础。

图3.5Guide窗口添加按钮
(4)如图3.6所示,在添加好温度传感器信息采集和界面开发程序所需的按钮后,根据GUI界面上各个按钮的作用不同,分别对各个按钮和图标进行排位以及对他们进行颜色等的设置,以达到一个好的视觉效果。

并对其进行仔细的检查,看是否存在错误的设置。

图3.6Guide窗口按钮设置
在温度传感器信息采集和界面开发的最后,对设置好的GUI界面进行保存。

仔细的记住界面保存的地址,以便于当我们发现错误的时候进行修改,并利于我们对系统功能的添加或删除等。

第4章温度传感器程序软件及调试
4.1 编写回调函数
通过这三周有关MATLA V界面设计的学习,我们在老师的带领下成功的完成了有关计算机程序的设计和界面的开发,也了解到了有关回调函数的相关知识,回调函数在界面开发方面占据了很大的地位,我们在这个课程设计当中最主要的学习目标是完全掌握有关回调函数的运用和编写有关自己的回调函数的学习,
完成上述步骤之后,我们将要进入函数的设计部分,在这里我们将接触到有关在GUI开发环境下,选择工具栏上的进入菜单编辑器,分别选择和创建主菜单和子菜单。

如图4.1所示为完成GUI界面设计后我们将进入函数设计的截图。

图4.1 结束GUI界面设计图
完成上图后,我们即将进入有关程序函数编写的过程。

在整个温度传感器数据采集和界面开发过程中,函数编写的过程也是最难得。

在次过程中,我们可以在图书馆查询相关资料,也可在网络上收集有关的作品。

在此过程中我们也会用到编写的框图。

如图4.2所示为函数编写过程的截图。

图4.2 函数设计图框
初始化参数,查看在温度传感器信息采集和界面开发程序运行接收数据时,这个这段代码可以检验是否在运行前勾选了十六进制显示,以免程序接收数据过程发生错误。

hasData = false;
isShow = false;
isStopDisp = false;
isHexDisp = false;
isHexSend = false;
numRec = 0;
numSend = 0;
strRec = '';
完成对信息的初始化后,将上述参数作为应用数据,存入窗口对象内。

setappdata(hObject, 'hasData', hasData);
setappdata(hObject, 'strRec', strRec);
setappdata(hObject, 'numRec', numRec);
setappdata(hObject, 'numSend', numSend);
setappdata(hObject, 'isShow', isShow);
setappdata(hObject, 'isStopDisp', isStopDisp);
setappdata(hObject, 'isHexDisp', isHexDisp);
setappdata(hObject, 'isHexSend', isHexSend);
guidata(hObject, handles);
打开和关闭按钮的回调函数及波特率等的设计
rates = [300 600 1200 2400 4800 9600 19200 38400 43000 56000 57600 115200];
baud_rate = rates(get(handles.rate, 'value'));
编写一段函数来获取参数
hasData = getappdata(handles.figure1, 'hasData');
strRec = getappdata(handles.figure1, 'strRec'); numRec = getappdata(handles.figure1,
'numRec');
4. 2附各按键的程序源代码
把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。

以下是相应按钮的功能函数。

function varargout = serial_communication2(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @serial_communication2_OpeningFcn, ...
'gui_OutputFcn', @serial_communication2_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function varargout = serial_communication2_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
end
第5章串口调制及界面运行
5.1界面串口选择
在我们完成对温度传感器信息采集和界面开发的程序调制后,我们就可以来运行这个程序。

通常我们的控制计算机支持的串口类型为COM3。

选择串口完成后,调制波特率,一般对于我们调制波特率来说都将其调制到最大值,即115200,然后进行数据显示环节,即选择界面输出数值为十六进制的值。

在我们读取数值的时候,我们就可以感受温度传感器信息采集和界面开发技术给我们带来的便捷。

如图5. 1所示,通过运行界面调制,选择串口类型即COM3,调制波特率为115200,进制选择十六进制的。

图5.1 运行界面调制波特率等
5.2打开串口查看结果
选择完运行程序后,在运行出的界面选择串口类型等操作完成后,点击“打开串口”,仔细观察本次设计的温度传感器所测量到的波率图。

通常情况下,温度传感器数据采集和界面开发程序所输出的数据是不断更新的,而且一般来说,这个系统的准确度比较高。

如图5.2为次运行的结果截图
图5.2 运行界面结果
通过本次实验实现了温度传感器信息采集和界面开发。

对Matlab的操作有了进一步的认识和了解,通过多次的修改调查做出实验,验证了实验的正确性,大大的提高了我们对Matlab功能的认识,培养了我们的兴趣。

第6章总结
传感器信息采集及GUI界面设计是一项设计面非常广泛系统工程,主要分为硬件连接设计和软件设计及调试。

在本次的温度传感器的规划设计与调试的过程,结合所学之知识和专业技能,较为顺利地实施了整个过程。

本设计从基于MATLAB温度传感器的连接思路、目标、可以选用的硬件及软件技术以及对网络设备的介绍和选择等多方面的论述,使我对设计传感器连接串口有了一个比较深入的了解,温度传感器建设作为一项重要的系统工程,它的所用到的各种技术是多方面的,即有串口连接技术、串口调试技术,也有GUI界面的设计及调试等各个方面的知识。

传感器技术的发展是永无止境的,在前进的过程中必将有更多的知识需要我去学习与研究,并能将其应用到实际的传感器应用之中。

开始学习界面开发时,确实遇到了一些问题,例如设计界面时,总是不知怎么将界面设计的更加有效简单,有时也运行不了,但这也使我锻炼了快速学习的能力,通过网上也使我的知识更加坚实。

通过此次课程设计我对自己在温度传感器网络信息采集和界面开发方面的学习有了更深刻的理解更系统地分析并掌握了所学的知识,尤其是对各类串口的特性与用法和配置有了更深的体会专业技能有了很大的提高。

虽然此次的设计来源于实际工程类似于实际工程但是它和真正的项目还是有一些差别的,所以在今后的学习中,我会更加注重理论与实践的结合,在理论学习的过程中融会更多的真实案例为将来真正的项目奠基。

最后感谢贾旭老师不辞辛苦和耐心教导。

本人签字:
参考文献
[1] 贤武,郑霞,曲波. 传感器实际应用电路设计[M].电子科技大学出版社,1997.
[2] 马海潮. 超高速数据采集技术发展现状[J]. 测试技术学报, 2003,17(4):287-292.
[3] 王海龙. 基于MATLAB的数据采集系统的研究[J]. 中国农学通讯,2007.
[4] 陈桂芳. 传感器技术教程[J]. 人民邮电出版社,2012.
[5] 张毅刚. 单片机原理及串口技术[J].人民邮电出版社,2008.
[6] 曹文. 传感器设计技术基础[M].北京:机械工业出版社,2013.
[7] 吉鹏,马云峰等. 微机原理与接口技术[M]. 北京:高等教育出版社,2001.。

相关文档
最新文档