基于LabVIEW与MSP430G2单片机的温度监测系统.docx
《基于LabVIEW与MSP430G2单片机的温度监测系统.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW与MSP430G2单片机的温度监测系统.docx(32页珍藏版)》请在冰豆网上搜索。
基于LabVIEW与MSP430G2单片机的温度监测系统
上海海事大学
过程检测与监控课程设计
题目:
基于LabVIEW与MSP430G2单片机的温度监测系统
系别:
物流工程学院
专业:
测控技术与仪器
学生姓名:
学号:
指导教师:
向阳
2016年1月5日
摘要
随着测控技术的不断发展,测控技术向着自动化、集成化、智能化、数字化和网络化的方向发展。
美国NI公司的提出了“软件就是仪器”的概念,于是LabVIEW应运而生。
虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。
检测技术在当今社会的许多工业中不和或缺,有些环境恶劣的地方更是离不开远程的检测系统。
本设计就解决了有些重工业、制药业等行业中的有些场所间内不适合人进入时,还需要进行温度检测的问题。
本设计有两个方面,上位机是在PC平台上运用LabVIEW软件开发监测界面,并且直观的观察温度变化曲线,根据需要还可以以Excel表格的形式,保存监测的历史数据,根据实时采集的温度数据和设定值比较,提示温度报警,以及向下位机发送一些指令,改变数据采集的快慢以及精度等要求;下位机是通过单片机MSP430G2553读取温度数据,通过launchPad自带的仿真接口USB通讯线与PC机连接,将温度数据发送到上位机中进行分析处理,同时也实时接收上位机发送来控制指令,并做出相应的处理。
LabVIEW的通信模块NI-VISA在V3.0版本之后开始支持USB通信,使下位机与LabVIEW通信时可以不通过数据采集卡接收下位机的监测数据,使LabVIEW的灵活性和实用性更好,节约了硬件部分的成本。
关键词:
LabVIEW,接口技术,MSP430G2553单片机,温度测量
目录
第一章概述4
第一节课题研究意义4
第二节课题国内外研究现状4
第三节课题主要内容5
第二章下位机设计6
第一节总体描述6
第二节单片机6
第三节ADC10模块7
第四节串口模块9
第五节定时器模块10
第三章上位机设计12
第一节上位机功能描述12
第二节labwiew描述12
第三节USB通信的准备工作13
一USB通信简介13
二NI-VISA简介14
第四节上位机LabVIEW程序的前面板和程序框图16
一前面板介绍16
二程序框图介绍17
第四章结论18
致谢19
参考文献19
附录20
第一章概述
第一节课题研究意义
温度是工业生产和科学研究实验中的一个非常重要的参数,物体的许多物理现象和化学性质都与温度有关,许多生产过程都是在一定的温度范围内进行的,需要测量温度的场合极其广泛。
目前的温度测量系统一般使用的都是传统仪器,传统仪器的功能都是通过硬件或者固化的软件来实现的。
这种框架结构决定了它只能由仪器厂家来定义、制造,而且功能和规格一般都是固定的,用户无法随意改变其结构和功能。
随着科学技术的进步,计算机技术的飞速发展,传统仪器己经不能适应现代监测系统的要求,美国国家仪器公司(简称NI)率先提出虚拟仪器(VirtualInstrumentation)的概念,它彻底打破了传统仪器由厂家定义生产,用户无法改变的模式,从而使测控仪器发生了一场巨大的变革。
20世纪90年代初在我国兴起对虚拟仪器的开发和应用,现在已进入航空、航天、通信、医疗、电力、石油勘探、铁路等行业,并得到了广泛的应用,未来市场潜力巨大。
虚拟仪器是当前测控领域的技术热点,它代表了未来仪器技术的发展方向。
虚拟仪器是通过应用程序将通用计算机与功能模块硬件结合在一起的一种全新的测控仪器系统。
用户通过显示器友好的图形界面操作计算机,完成对被测量的数据采集、分析、处理、显示、存储等整套测试工作,如同操作一台自行定义与设计的专用传统仪器一样。
虚拟仪器与传统仪器比较,它具有所需的硬件较少、购置费用低、可重复利用;仪器的关键在软件、可自行定义、技术更新非常快、开发与维护费用较低、系统开放、方便与外设、网络连接等一系列的优点。
因此虚拟仪器技术备受各国关注,近十年来,虚拟仪器在国际上发展非常迅速,在发达国家应用已经十分普及,被广泛应用于测量、监控、电信及教育等各个领域,目前正朝着总线与驱动程序标准化;硬、软件模块化,硬件模块即插即用;软件编程平台图形化、通用化、智能化和网络化方向发展。
目前,电子测量仪器发展中出现的虚拟仪器概念己经逐步被很多领域所接受,对实现柔性的测控系统具有明显的推动作用。
利用现有的计算机,加上适当的仪器硬件和应用软件(如LabVIEW)构成虚拟仪器,使其既具有传统仪器的基本功能,又能让用户根据自己的需求变化随时定义,实现多种多样的应用要求。
虚拟仪器不但灵活可变、功能强大,而且使用简单方便,便于技术升级更新,系统的使用和维护费用极低,同时具有极高的可靠性。
第二节课题国内外研究现状
虚拟仪器目前在国外发展得非常快,以美国国家仪器公司(NI公司)为代表的一些厂商己经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。
在美国虚拟仪器及其图形编程语言,己经作为各大学理工科学生的一门必修课。
美国斯坦福大学的机械工程系要求三、四年级的学生在做实验时应用虚拟仪器进行数据采集和实验控制。
近年来,世界各国的虚拟仪器公司开发了许多虚拟仪器开发平台软件,以便使用者利用这些公司提供的开发平台软件组建适合自己的虚拟仪器或测试系统,并编制测试软件。
最早和最具影响力的开发软件,是NI公司的LabVIEW和Labwindows/CVI。
LabVIEW采用的是图形化编程方案,是非常实用的开发软件;Labwindows/CVI是为熟悉C语言的开发人员设计的、在Windows环境下的标准ANSIC开发软件。
除了上述的几种开发软件之外,美国HP公司的H-VEE和HPTIG软件,美国Tektronix公司的Ez-Test和Tek-TNS软件,以及美国HEMData公司的Sanp-Master软件,也是国际上公认的优秀虚拟仪器开发软件。
当今虚拟仪器的系统开发采用的总线包括GPIB通用接口总线、传统的RS-232串行总线、PXI总线、VXI总线,以及己经被PC机广泛采用的USB总线和IEEE1394总线。
世界各国的公司,特别是美国的NI公司,为使虚拟仪器能够适应各种总线的配置,开发了大量的软件以及适应要求的硬件,可以灵活地组建各种不同复杂程度的虚拟仪器自动测控系统。
虚拟仪器的开发厂家,为了扩大虚拟仪器的功能,在测量结果的数据处理、表达模式及其变换方面也做了许多工作,发布了各种软件,建立了数据处理的高级分析库和开发工具库,使虚拟仪器发展成为能够组建极为复杂自动测试系统的仪器系统。
在国内己有部分院校的实验室引入了虚拟仪器,国内专家预测:
未来几年内,我国将有50%的仪器为虚拟仪器。
国内将有大批企业使用虚拟仪器系统对生产设备的运行状况进行实时检测。
随着微型计算机技术的发展,虚拟仪器将会逐步取代传统仪器而成为测试仪器的主流。
虚拟仪器技术的提出与发展,标志着二十一世纪自动控制与电子测量仪器领域技术发展的一个重要方向。
第三节课题主要内容
本文重点介绍了利用LabVIEW开发温度检测上位机的监控界面,上位机通过USB通信与MSP430G2553单片机(通过launchPad自带的仿真接口)通信,读取单片机内置的温度传感器的温度测量数据,从而实现对温度参数的实时检测。
本文主要进行了以下几方面的工作:
1、论述了智能温度测控系统的课题目的及意义,智能温度测控系统的国内外发展概况及本论文的主要内容;
2、详细介绍了虚拟仪器技术的概念、特点和体系结构,虚拟仪器开发软件LabVIEW及图形化编程语言的特点及应用现状;
3、温度检测系统的设计思路及方案,对系统软件开发平台进行选择;
4、上位机和下位机的设计过程;
5、对所做工作进行了总结,对未来的研究作了展望。
本设计开发的是基于LabVIEW2012的温度检测系统,根据从总体到局部的设计原则,通过对系统功能的分析,将整个系统分解为实现不同功能的几个部分,然后分别对每个部分设计。
为了能够实现温度检测系统所提出的各项具体功能,可以将整个系统分解为上位机和下位机两个部分:
上位机为装有LabVIEW2012软件的手提电脑(PC机),下位机为MSP430G2553单片机及外围电路组成的小系统。
两个部分是通过PC机中的USB接口进行通信的。
其中下位机部分主要完成温度信号的采集以及温度数据的输出;上位机部分完成对硬件的驱动,数据显示、处理与存储,超温报警及人机交互操作界面的生成。
系统总体设计框图如图1所示。
第二章下位机设计
第一节总体描述
该系统将计算机和强大的图形化编程软件LabVIEW结合在一起,建立起具有灵活性的基于计算机的测量与控制应用方案,最终构建起满足自己需要的系统。
该系统由以下几个部分组成:
装有LabVIEW软件的计算机,MSP430G2553单片机.
温度信号由单片机内部温度传感器测得,由单片机组成的小系统对温度信号进行采集、处理和报警,然后用单片机的UART串口通过USB通信将数据传送给计算机,在计算机上运行的LabVIEW程序对输入的数据进行分析处理,将结果由计算机显示出来,同时计算机中LabVIEW对设定温度值进行比较,实现报警功能。
所以下位机的功能有:
1)用AD单元对内部温度传感器进行数据采集;
2)对采集来的数据进行简单的处理与报警;
3)用UART串口通过USB仿真接口发送给上位机;
4)接收上位机发送来的控制命令,并做出相应的处理。
第二节单片机
本系统所采用的主控芯片为德州仪器TI公司推出的一款超低功耗、高集成度、高性价比的单片机MSP430G2553,搭载于launchpad评估实验开发板上,其主要特色有:
Ø16MHz主频16位CPU
Ø片上程序存储器FLASH(512B/1KB/2KB/4KB/8KB/16KB)及FLASH控制器
Ø片上随机存储器SRAM(128B/256B/512B)
Ø通用并行输入输出端口GPIO(4位/16位/20位/24位)
Ø支持电容触摸式I/O
Ø看门狗定时器WDT
Ø上电复位模块BOR
Ø多功能通信模块USI(I2C/SPI)USIC_A(UART/LIN/IrDA/SPI)USIC_B(I2C&SPI)
Ø比较器模块ComparatorA+
Ø片内温度传感器TempSensor
Ø十位逐次逼近型ADC10
Ø斜率型slopeADC
Ø板载USB调试与编程仿真器接口,无驱动可安装
Ø支持所有采用DIP14和DIP20封装MSP430G2XX和MSP430F20器件
Ø红绿两粒LED,两个按键
Ø配套两款电容触摸板
Ø所有管脚在板子两边引出
名为LaunchPad的MSP-EXP430G2低成本试验板是一款适用于TIMSP430G2xx系列产品的完整开发解决方案。
其基于USB的集成型仿真器可提供为全系列MSP430G2xx器件开发应用所必需的所有软、硬件。
LaunchPad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430器件能够简便地插入LaunchPad电路板中。
MSP-EXP430G2采用IAREmbeddedWorkbench集成开发环境(IDE)或CodeComposerStudio(CCS)编写、下载和调试应用。
可提供板上Flash仿真工具,以直接连接至PC轻松进行编程、调试和评估。
第三节ADC10模块
MSP430系列单片机内部集成了ADC,这为工程师在设计硬件电路时提供了很大的方便。
同时,不同的单片机中集成了不同类型的ADC,有精度高但速度慢的SD16,有适用于多通道采集的ADC12,也有适用于高速度采集的ADC10。
在MSP430G2系列单片机内部通常集成的是10位ADC。
ADC10的特点:
ADC10是MSP430单片机的片上模数转换器,其转换位数为10比特,该模块内部是一个SAR型的AD内核,可以在片内产生参考电压,并且具有数据传输控制器。
数据传输控制器能够在CPU不参与的情况下,完成AD数据向内存任意位置的传输。
它具有如下特点:
Ø最大转换速率大于200ksps
Ø转换精度为10位
Ø采样保持器的采样周期可通过编程设置
Ø可利用软件或者TimerA设置转换初始化
Ø编程选择片上电压参考源,选择1.5V或者2.5V
Ø编程选择内部或者外部电压参考源
Ø8个外部输入通道
Ø具备对内部温度传感器、供电电压VCC和外部参考源的转换通道
Ø转换时钟源可选择
Ø多种采样模式:
单通道采样、序列通道采样、单通道重复采样、序列通道重复采样
Ø提供自动数据传输方法
ØADC的内核和参考源可分别单独关闭
图2是ADC10模块的结构框图。
从图中可以看出ADC10有16个采样通道A0~A15,其中A0到A7是外部采样通道,A10是对内部温度传感器的采样通道。
ADC10模块工作的核心是ADC10的核,即图中的10-bitSAR。
ADC10的核将模拟量转换成10位数字量并储存在ADC10MEM寄存器里。
这个核使用VR+和VR-来决定转换模拟值的高低门限。
当输入电压超过VR+时它会停在03FFh上,当输入门限低于VR-时它会停在0上。
采样值的计算公式为:
NADC=1023*(VIN-VR-)/(VR+-VR-)。
图2MSP430G2553ADC10模块结构框图
本系统所用到的是测量内部温度传感器数据,所以本模块初始化代码如下:
voidADC10_init(void)
{
ADC10CTL0&=~ENC;//控制字0(辅助)关闭使能转换
ADC10CTL0=ADC10IE+ADC10ON+REFON+ADC10SHT_3+SREF_1;
//控制字0中断使能+ADC10使能+内部参考源+64倍ADC时钟+参照选择位1+1.5v参考电压源
ADC10CTL1=CONSEQ_0+ADC10SSEL_0+ADC10DIV_3+SHS_0+INCH_10;
//控制字1单通道单次转换+ADC10OSC+小数分频+ADC10SC+通道10
__delay_cycles(30000);//延时
}
第四节串口模块
串行通信接口是处理器与外界进行数据传输最常用的方式之一。
顾名思义,串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
与并行通信相比,串行通信速度较慢,但占用更少的I/O资源,只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
串行通信可以分为同步通信和异步通信两种类型。
如果带有同步时钟,则称为同步串行通信,如常用的SPI和I2C接口就属于同步串行通信接口。
如果没有同步时钟,依靠严格的时间间隔来传输每一比特,则称为异步串行通信。
MSP430系列单片机有两种串行通信接口,较早的USART模块和较新的USCI模块。
同步通信方式,是把许多字符组成一个信息组,这样,字符可以一个接一个地传输。
但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。
同步方式下,发送方除了发送数据,还要传输同步时钟信号,信息传输的双方用同一个时钟信号确定传输过程中每1位的位置。
同步通信原理图如图3所示。
图3同步通信方式原理图
在异步通信方式中,两个数据字符之间的传输间隔是任意的,所以,每个数据字符的前后都要用一些数位来作为分隔位。
在异步通信方式中,发送和接收的双方必须约定相同的帧格式,否则会造成传输错误。
在异步通信方式中,发送方只发送数据帧,不传输时钟,发送和接收双方必须约定相同的传输率。
当然双方实际工作速率不可能绝对相等,但是只要误差不超过一定的限度,就不会造成传输出错。
图3是异步通信时的标准数据格式。
异步通信方式原理图如图4所示。
图4异步通信方式原理图
本单片机异步通信有特点如下:
Ø传输7位或8位数据,可采用奇校验或偶校验或者无校验;
Ø两个独立移位寄存器:
输入移位寄存器和输出移位寄存器;
Ø独立的发送和接收缓冲寄存器;
Ø从低位在前或高位在前的数据发送和接收;
Ø对多机系统内置有线路空闲/地址位通信协议;
Ø通过有效的起始位检测将MSP430从低功耗唤醒;
Ø可编程实现分频因子为整数或小数的波特率;
Ø状态标志检测和抑制错误;
Ø状态标志检测地址位。
本系统使用异步通信方式,故本模块的初始化代码如下:
/****************串口初始化初始化程序********************/
UCA0CTL1|=UCSWRST;//USCI_A0进入软件复位状态
UCA0CTL1|=UCSSEL_2;//时钟源选择SMCLK
BCSCTL1=CALBC1_1MHZ;//设置DCO频率为1MHz
DCOCTL=CALDCO_1MHZ;
P1SEL=BIT1+BIT2;//P1.1=RXD,P1.2=TXD
P1SEL2=BIT1+BIT2;//P1.1=RXD,P1.2=TXD
P1DIR|=BIT0;
UCA0BR0=0x68;//时钟源1MHz时波特率为9600
UCA0BR1=0x00;//时钟源1MHz时波特率为9600
UCA0MCTL=UCBRS0;//小数分频器
UCA0CTL1&=~UCSWRST;//初始化USCI_A0状态机
IE2|=UCA0RXIE;//使能USCI_A0接收中断
而串口中断里用来保存上位机发过来的控制命令:
/********************串口接收中断函数**************************/
#pragmavector=USCIAB0RX_VECTOR//接收中断
__interruptvoidUSCI0RX_ISR(void)
{
receive=UCA0RXBUF;//保存上位机发送来的数据
}
第五节定时器模块
定时器作为单片机中最有用的片内外设,就是为弥补CPU顺序执行程序这个“死脑经”缺陷而量身定做的。
除了概述中最基本的定时器功能外,定时器还有很多种不同的构造(辅助功能),以更方便的为人所利用,比如一个倒计时方式的闹钟可能更有用。
MSP430单片机中Timer_A定时器就是一种辅助功能强大的定时器,具备捕获和PWM输出等极其有用功能。
Timer_A的核心单元是一个16位的主定时器,其实也就是个16位计数器,如果计数脉冲的频率精确稳定的话,计数的同时就是计时。
主定时器的工作模式MCx寄存器可配置4种模式,其中MCx=00为停止,无需解释。
剩下3种,连续计数模式、增计数模式、增减计数模式。
本系统应用定时器的增计数模式,如图5所示,用来精确改变定时时间,间接改变向上位机发送数据的快慢。
图5计时器增计数模式图
定时器初始化函数如下:
/*********************定时器初始化********************/
TACCR0=20000;//计到20000,约200ms
TACTL=TASSEL_2+ID_3+MC_1+TACLR;
//设置TIMERA的时钟源为SMCLK(1M),8分频后(125K),计数模式为增计数模式,到TACCR0再自动从0开始计数
TACCTL0|=CCIE;//打开比较模块0中断
定时器中断函数:
/**********************定时器中断函数***************************/
#pragmavector=TIMER0_A0_VECTOR
__interruptvoidTimer_A(void)//CCIFG中断被响应后,该标志位自动清零
{
if(t>=(zhouqi+1))t=1;
//因定时器定时时间较短,需要通过二级循环来改变发送数据的周期
if(t==zhouqi){
if(i>=3)i=1;//i在1和2间变化
switch(i)
{
case1:
flag1s=1;break;//发送周期标志flag1s置1
case2:
flag1s=0;break;//发送周期标志flag1s清零
default:
break;}
i++;}
t++;
}
第三章上位机设计
第一节上位机功能描述
本论文针对传统检测仪表功能由仪器厂商定义,与其它仪器设备的连接十分有限,图形界面小,人工读取数据信息量小,数据无法编辑、存储,系统封闭、功能固定、可扩展性差,技术更新慢,开发和维护费用较高的特点,设计了一个基于LabVIEW的温度检测系统。
此温度检测系统的上位机主要实现以下功能:
1、接收下位机单片机发送来的温度数据,做平均等计算处理,并向下位机发送一些控制命令等;
2、检测参数的显示:
如测试时间、设定温度、当前温度等,当温度超出某个范围进行报警等;
3、温度实时监测曲线显示,而且具有数字显示和波形图显示;
4、测试结果的数据保存:
用户可以将采集到的数据的一部分或者全部保存在Excel表格中,方便查询和打印。
第二节labwiew描述
虚拟仪器是指具有虚拟仪器面板的个人计算机仪器,即是在通用计算机上加上一组软件或硬件,使得使用者在操作这台计算机时,就像在操作一台他自己设计的专用传统电子仪器。
其实质是将计算机技术和仪器技术相结合,把传统仪器的三大功能,全部放在计算机上来完成。
利用计算机屏幕形象、方便地模拟各种仪器控制面板,以各种形式表达输出检测结果;用计算机软件实现各种各样的信号分析、处理及存储,完成多种多样的测试功能;用键盘或鼠标代替传统仪器的面板按键与旋钮,人手不再触及仪器本身,实现硬件软件化的结果。
虚拟仪器充分利用最新的计算机技术来实现和扩展仪器的功能,进而逐步代替传统仪器完成某些功能,如数据的采集、分析、显示和存储等,最终达到取代传统电子仪器的目的。
虚拟仪器是计算机技术介入仪器领域所形成的一种新型的富有生命力的仪器种类。
与传统仪器相比,虚拟仪器的主要特点可以概括为以下几个方:
1、强调“软件就是仪器”的新概念,取代传统仪器“硬件为主体”的概念。
2、虚拟仪器的功能可由用户定义,虚拟仪器的功能可在用户机上产生,从而使得仪器不再完全由硬件决定,彻底打破了传统仪器一经设计、制造完成后,其功能不可改变的单一性、封闭性。
3、易于构建网络化的测量仪器,虚拟仪器基于计算机网络技术和接口技术,具有灵活、方便的互联性,能与网络及其他周边设备互联。
4、虚拟仪器硬件和软件都制定了开放的工业标准,而且采用了模块化结构,系统具有良好的开放性和扩展性。
虚拟仪器的核心技术是软件,通过修改程序可实现功能完全不同的各种测量测试仪器,以满足各种不同的需求。
软件可以定义为各种仪器,可以说“软件即是仪器”。
由于计算机很容易与网络、外围设备,以及其他应用连接,对于数据采集、系统控制、远程传送都非常方便。
我们只要利用数据采集卡或数据采集电路,就可在计算机上构造新的仪器系统