李冬冬 魏志钦 黄凌森 吴济敏 黄吉彪 罗扩龙
(华南理工大学广州学院,广东 广州 510800)
基于LabVIEW及单片机的温度测控系统设计
李冬冬 魏志钦 黄凌森 吴济敏 黄吉彪 罗扩龙
(华南理工大学广州学院,广东 广州 510800)
温度测量控制系统正逐渐向虚拟仪器的方向发展,而LabVIEW是应用最广泛的虚拟仪器软件,但是与其配套的数据采集卡一般成本较高,为了降低其成本,设计了一个基于LabVIEW的温度控制系统,该系统通过DS18B20温度传感器采集温度,再通过单片机与电脑的通讯,将信息传送给LabVIEW来对温度进行测量、监控。
LabVIEW;单片机;温度监控;DS18B20
美国国家仪器公司率先提出了虚拟仪器这个概念,彻底改变了传统仪器由厂家定义、用户无法随心改变的模式,使测控仪器发生了巨大变革。与传统仪器相比,虚拟仪器有很多的优点:对测试量的处理和计算可以更复杂且速度更快,测试结果的表达方式更加多种多样,可以方便地存储和传递测试数据,价格低且技术更新更快。目前的温度测量与控制系统大都还是使用传统温度测量仪器,其功能基本都是由硬件或固化的软件来实现,而且它的功能只能通过厂家定义、设置,这显得非常的单一、固定,用户无法根据自己的意愿随意去改变其结构和功能,因此这样的温度控制系统已经不能适应现代化监测系统的要求。虚拟仪器技术在分布式测控系统、远程设备诊断以及网络虚拟实验室建设等领域都得到了广泛的应用,但LabVIEW所支持的数据采集卡价格比较昂贵,造成了温度测量与控制系统的成本比较高。为了解决这一问题,本项目采用AT89S51单片机、温度传感器、温控部件等通过串口和上位机的通信组成了成本较低的温度测量控制系统。
该温度系统硬件由计算机、单片机、温度控制电路和温度传感器组成,框图如图1所示。该系统集计算机、强大的图形化编程软件LabVIEW和模块化硬件于一体,建立灵活,且以LabVIEW为基础的测量及控制模式,构建出满足随时可改变要求的系统[1]。通过传感器获取温度信号,再由单片机组成的小系统对温度信号进行采集、整理和转换,然后通过单片机将数据在LED显示屏中,同时也通过单片机与电脑的串口通信将数据传送给计算机,并通过计算机运行的Lab-VIEW程序分析处理单片机输入的数据,最终在计算机显示结果,同时将控制信息返回给单片机,通过单片机控制温度控制电路。另外采用电阻加热取代电机加热,冷却采用制冷
图1系统结构框图
该虚拟温控系统采用单片机AT89S51作为下位机,控制温度传感器DS18B20的操作,并将从DS18B20温度传感器读取的数据通过电脑与单片机的串口通信发送给计算机的LabVIEW软件。数字式温度传感器DS18B20把当时的温度转换为数字信号传输给单片机AT89C51,之后通过串口的COM口发送给计算机,该串口具有TTL-RS232电平转换功能。下位机程序采用汇编语言编写,主要包括定时器初始化、DS18B20的初始化、启动DS18B20温度转换、读取DS18B20的数据、串口数据发送模块[2]。
上位机采用LabVIEW图形化编程软件来编写程序,无需编写繁琐复杂的计算机程序代码,只需要写上相应的图形即可实现测控系统的构建,程序简单明了并且界面美观。
本设计主要使用了LabVIEW的串行通信节点。在Lab-VIEW中,串行通信节点位于函数选板共包括8个节点,分别实现初始化串口、串口写、串口读、检测串口缓存、中断以及关闭串口等功能,VISA配置串口节点用于初始化串口。在利用计算机控制串口仪器设备时,先要配置好串口,即先初始化串口,使计算机串口的各种参数设置与仪器设备的串口保持一致,才能够正确地进行串行通信。并且在每次使用前都需要如此设置,达到成功进行通信的目的[3]。
根据设计要求将串口初始化为波特率2 400b/s,数据位8位,1位停止位,无奇偶校验位。从运行初始化后一直处于等待接收数据状态。数据采集终端每过一定时间上传一次数据,这个数据是和时间一起上传的,是自动记录数据历史的部分,所以要存储在一个特定的文件夹里,等待后续程序的处理。
当需要上传某一特定时间段的数据时,需要上位机发送一个命令(即起始时刻和终止时刻的数值)给单片机,这时需退出记录数据状态,向串口发送一个命令串,需要注意的是发送命令的控制按钮要设计为一个脉冲的形式,否则程序会循环发送命令,不能返回等待定时上传状态[4]。
图2 温度测控系统用户界面
图2为温度测控系统的界面,即LabVIEW的前面板。前面板提供了端口选择功能,同时也能显示当前的温度情况。控制面板还有一个数据报警模块,当实际温度大于温度上限或小于温度下限值时予以超温报警。超温报警时,系统即中断自动控温,确保人员及设备安全。系统通过信号灯及报警声实现超温报警,即当采样数据超过系统所设定的上下限时,指示灯变红,并发出警报声[5]。
后界面为程序框图,由不同的模块所组成,每个模块都有对应的功能,都控制着不同的部位。当串口参数设置正确,则文本框里的数据就可以通过串口发送至下位机的单片机,更新相应的目标温度。生成报表及温度数据处理的程序框图分别如3、4所示。
图3 报表部分的程序框图
图4 温度数据处理部分的程序框图
随着传感器技术的不断发展,传统的测试方法已经不能满足我们对测试精度的要求。随着信号检测和计算机技术的不断发展也使得高精度实时采集数据和分析处理成为可能。本项目是基于LabVIEW软件设计的温度测量与控制系统,可在计算机上和LED上同时完成被控温度的实时显示、直方图统计显示及PID控制,同时也可将采集的温度数据保存到指定的数据库中,以备系统运行中随时查阅和分析。查询结果以表格形式呈现,方便用户查看。同时,只需要一些传感和温控电路就可以完成整个系统的功能。此测试系统,极大地降低了温度监控系统的成本,系统具有很大的灵活性,同时也大大提高了系统的测试精度。同传统系统相比,采用虚拟仪器的方法具有效率高、性能好、运行可靠、成本低等特点。
[1]王琦,翟正军,郭阳明.基于虚拟仪器的实验室温湿度控制系统的设计与实现[J].测控技术,2009,(3):39-42.
[2]李全利.单片机原理及接口技术[M].北京:高等教育出版社,2009.
[3]宋文绪,杨帆.传感器与检测技术[M].北京:高等教育出版社,2009.
[4]林鹰,郭兵,杨奕.实时异构监控系统数据平台的集成技术[J].西南师范大学学报(自然科学版),2005,30(1):87-91.
[5]廖传书.基于LabVIEW与串行口的直接数据通信[J].中国水运,2006(4):23-25.
Design of Temperature Measurement and Control System Based on LabVIEW and Microprocessor
Li Dongdong Wei Zhiqin Huang Lingsen Wu Jimin Huang Jibiao Luo Kuolong
(Guangzhou College,South China University of Technology,Guangzhou 510800,Guangdong)
Temperature measurement and control system is developing towards the trend of virtual instrument.Currently Lab-VIEW is a software for virtual instrument used most widely.However,the data acquisition equipment connected with it is generally expensive.In order to reduce the cost,the temperature measurement and control system based on LabVIEW is designed,which gets temperature by sensor DS18B20 and transmits the message to LabVIEW with the communication between microprocessor and computer,to measure and control temperature.
LabVIEW;Microprocessor;temperature control;DS18B20
李冬冬,男,广东揭西人,硕士,讲师。研究方向:测试技术。的方式,加速冷却,通过P1.1、P1.2输出高、低电平控制加热或停止,通过P1.3、P1.4输出高、低电平控制制冷或停止。