APP下载

基于Labview的温度采集控制系统

2016-06-05军,

电气电子教学学报 2016年3期
关键词:前面板数码管数组

叶 军, 郭 栋

(青海大学 机械工程学院, 青海 西宁 810016 )

基于Labview的温度采集控制系统

叶 军, 郭 栋

(青海大学 机械工程学院, 青海 西宁 810016 )

以高速低功耗的STC89S52单片机和 DS18B20为硬件核心,用Labview2012作为上位机程序开发平台,设计出一个实时温度监控系统。这个系统由DS18B20采集周围环境温度,由单片机读取、处理数据并使处理过的数据在共阴极数码管上显示,同时单片机把处理过的数据通过RS-232通讯接口线传送给Labview进行分析处理,判断报警状态,实现上位机和下位机同时报警。

Labview2012;DS18B20;STC89S52;温度测控系统

0 引言

虚拟仪器的出现使得计算机可以用程序实现一部分硬件仪器的功能,且数据在计算机中进行处理,使得计算机的各项功能,如数据的处理和管理功能、图形化功能等都可以得到充分利用。

温度测控系统在温室、家电、工业等众多领域都有广泛应用,增加报警功能后更能预防和减少相关事故的发生。因此设计出结合虚拟仪器和温度传感器的温度采集控制系统有很大的实用价值。

1 温度采集控制系统组成

温度采集控制系统组成如图1所示, 安装了labview程序的计算机和STC89S52单片机组成上下位机的关系。

图1 温度测控系统组成框图

单片机把传感器DS18B20采集的温度数据通过USB转至RS-232串口线,最后传送给PC机,经Labview程序处理,使被测的温度值在各个显示控件中显示,如果温度值超过设定的温度上下限,则前面板和单片机电路会同时产生报警信号。

2 单片机系统硬件电路设计

温度采集控制系统中的单片机系统电路原理图如图2所示,单片机系统选用STC公司的STC89S52低功耗高性能CMOS 8位芯片作为主控;温度传感器DS18B20 是DALLAS 半导体公司生产的一线式智能数字温度传感器,该传感器的使用资料丰富,在此不做详细介绍[1];显示数码管为共阴极接法,采用动态扫描的方式驱动。

STC89S52单片机通过MAX232芯片进行电平转换后,采用RS-232通讯方式和上位计算机连接,实现单片机和上位计算机的数据交换。

图2 温度采集控制系统单片机电路原理图

3 单片机系统软件设计

3.1 主程序设计

温度传感器DS18B20内部有64位ROM单元和9字节暂存器单元。64位ROM中含有DS18B20的唯一序列号,而9字节的暂存单元中,0~1字节为转换后的温度数据,2~3字节为用户设置的高低温报警值,4字节用来配置转换精度。因为是一线通信接口,所以必须先完成ROM的设置,具体流程为:DS18B20初始化→ROM指令→存储器操作指令→数据传输[2]。由此得到如图3所示的单片机系统程序流程图。

3.2 判断温度正负的程序片段

DS18B20收集到的温度数据是16位数字量,其中前11位表示温度数值大小,高5位表示温度正负位。在处理温度数据时,单片机程序中把前11位的温度数值转换为10进制,通过查表在数码管中显示同时把其转换为字符串后通过RS-232传送给上位计算机,经过计算机的Labview处理后显示在Labview程序面板中,而高5位则可以通过控制程序中定义的一个字符型数据来判断是否需要在温度值前

图3 单片机系统程序框图

加负号,相应程序如下:

k=T_H&0xf8; //T_H中为温度数据高八位,其中的高5位为正负判断位置,赋予k

if(k==0xf8) //如果温度判断位为11111,把数据0x01赋予T_sign,表示负

T_sign=0x01;

else

T_sign=0x00; //否则就把0x00赋予T_sign,表示正在赋予T_sign数据以后,在显示子程序中有对应程序段如下:

if(T_sign==1) //如果温度值为负,数码管符号位通过查表显示负号

{PZX=tab[10];

PS2=0;

PS3=1;

delay(200);}

else if(T_sign==0) //否则数码管的符号位不亮,表示为正

{PS2=0;}

4 上位计算机软件设计

4.1 软件介绍

Labview 是基于图形编译G(Graphic) 语言的虚拟仪器开发平台, 它具有数据采集、 数据分析、 信号生成、 信号处理和输入输出控制等功能。与传统文本语言相比,Labview界面更加友好直观, 是一种直觉式图形程序语言[3]。

每一个Labview程序都有两个基本窗口:前面板、框图。

前面板是VI的交互式用户界面,包含旋钮、按钮、图形以及其他控件和指示器。用户可以通过键盘和鼠标输入,然后在屏幕上观察程序运行结果。

框图是VI的源代码,是可执行的程序。框图的构成有低级VI、内置函数、常量和程序执行控制结构。用连线将合适的对象连接起来定义它们之间的数据流。前面板上的对象对应于框图的终端,这样数据可以从用户传输到程序再及时传回给用户[4]。

4.2 设计方案

计算机的程序主要负责实时温度的显示,记录以及报警状态的判断,前面板部分如图4所示。

图4 labview前面板设计

图5为由VISA进行读取和数值显示并进行报警判断的框图。每次传输给计算机的数据为3个字节的字符串,把字符串转化为数组后,每个字节会被保存在数组的一个空间,温度数据占2个字节,其中高位最先进入数组,占数组的0空间,低位后进入数组,分配在数组的1空间,数组的第三位为正负控制数据,最后传送进入计算机,所以存储在数组的2空间。通过数组索引分别取出并组合后即可正常显示实时温度。

图5 温度显示报警

图6为把上位机判断完成的报警状态传送给下位单片机使单片机完成报警状态的更新。

5 系统调试及结果

首先分别调试单片机系统和上位计算面的labview系统;单片机写入程序后可读取DS18B20中数据并在数码管上正常显示被测温度值;Labview可以显示用软件虚拟产生的温度值。

图6 传送报警状态给下位机

然后将单片机系统和Labview系统用串口线连接,此时Labview2012的前面板波形图表控件上应显示出和DS18B20数码管上相同的温度值,若显示乱码,则调低串口的波特率便可解决这个问题。图7和图8分别为系统正常工作时人工给DS18B20加热过程中得到的实时温度曲线以及不同报警状态在前面板的截屏图,报警上下限可以根据需要设置,Labview前面板显示数值会比数码管显示数值稍有延迟,但是显示数值相同。

图7 波形图标面板

图8 高低温报警

6 结语

本文介绍了基于Labview的温度采集控制系统,给出了详细的单片机系统硬件电路的组成和下位单片机软件和上位计算机Labview的编程要点,并制作了实际的电路系统,通过实验证明,该温度控制系统具有性能稳定,通用性强,成本低廉的特点,适合应用于实验教学、家庭、农业温室等领域。此外,该系统还可以添加多个传感器成为多通道的温度控制系统,具有良好的扩展性。

(叶 军等文)

[1] 汤锴杰,栗灿,王迪,张琴 . 基于DS18B20的数字式温度采集报警系统设计[J].哈尔滨:传感器与微系统,2014,33(3) : 100.[2] 王建勋,周青云 . 基于DS18B20和Labview的温度监测系统[J].北京:实验室研究与探索,2012,31(3) :48.

[3] 张丙才,刘琳,高广峰,赵朋 . 基于 LabVIEW 的数据采集与信号处理[J].沈阳:仪表技术与传感器,2007(12) :74 - 75.

[4] [美]Jefferey Travis等著.Labveiw大学实用教程(第三版) [M].乔瑞萍等译.北京:电子工业出版社,2008:3-4.

Labview-Based Temperature Acquisition and Control System

YE Jun, GUO Dong

(SchoolofMechanicalEngineering,QinghaiUniversity,Xining810016,China)

A temperature monitoring and control tystem is designed using the MCU STC89S52 and DS18B20 as the core of hardware and Labview2012 as the software platform.The system can acquire the signal of temperature in real-time on site by DS18B20 and use STC89C51 to read, analyse the sample signels and display them on the common cathode digital tube.Then the MCU will transmit the data to PC by RS-232 to process the sampling signels in software platform to control the perihperal equipment of STC89S52 to achieve real-time temperature control.

Labview2012;DS18B20;STC89S52;temperature monitoring and control system

2015-08-30;

2016-11-09

叶 军(1970-),男 ,硕士,副教授,主要从事机电控制的教学和研究,E-mail:yejun1991@21cn.com

A

1008-0686(2016)03-0071-04

图分类号:TP274.2

猜你喜欢

前面板数码管数组
JAVA稀疏矩阵算法
颜值高和散热强可以并存3款高品质机箱推荐
微课教学设计之“数码管动态显示”
JAVA玩转数学之二维数组排序
电竞潮牌范航嘉GX520S机箱评测
电竞潮牌范 航嘉GX520S机箱评测
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
Excel数组公式在林业多条件求和中的应用