李 梦,杨金月
(安徽信息工程学院 机械工程系,安徽 芜湖 241000)
基于LabVIEW开发平台的单片机串口通讯系统设计
李 梦,杨金月
(安徽信息工程学院 机械工程系,安徽 芜湖 241000)
本设计通过搭建的单片机下位机系统完成对温度信号的采集、传输、显示、通讯,借助虚拟仪器开发平台LabVIEW软件VISA串口仪器I/O模块编制程序与单片机接口进行信号通讯,完成PC机上位机构建.系统最终实现DS18B20温度传感器采集到的实时温度信号最终显示在虚拟仪器的前面板界面上.下位机系统的软件设计主要借助proteus调试仿真实现,LCD显示实时温度信号,上位机的通讯程序编制完成信号从单片机到PC的串口通讯,并在此基础上借助无线发射和无线接收系统设计将信号在手机终端进行通讯并完成一定调试.
LabVIEW;单片机;温度控制;串口通信;DS18B20
温度的监控已经成为当前工业生产、农业领域和一些科学研究领域的重要部分.根据系统的具体情况,采用正确且有效的测量手段尤为重要.传统的温度检测系统一般借助单片机实时采集温度信号显示在LED或LCD上.但此类系统无法生成图表、用户无法获得历史曲线导出报表数据、更无法对采集的信号进行处理、分析获得相应的特征值[1].基于此,本设计提出将温度采集系统作为下位机,通过VISA串口的通讯,借助搭建的虚拟仪器开发平台作为上位机,将温度采集的信号显示在虚拟仪器程序前面板图标上,人机界面友好,可操作性强,可推广价值高.
在当今的生产制造过程中,掌握温度信息的实时变化情况对安全生产、提高产品性能、减少能源的损耗等一些技术、经济指标有着密切的影响.现代社会生活的各个领域几乎都离不开温度控制的发展,比如高分子材料、半导体技术、电力工程、交通运输等.
在工业发展的需求下,面对计算机科学技术和微型电子技术的高速进步,包括工控自动化的设计要求不断提高,温度监控这一领域在国内外诸多领域都在飞速的发展,不断满足工业的各方面需求[2].
系统整体设计主要分为三个部分,第一部分是基于LabVIEW的PC上位机显示系统设计,第二部分是VISA串口通信的接口电路和信号在上位机与下位机传输的软件编程,第三部分是温度采集的单片机下位机系统设计.设计的系统组成框图如图1所示.
图1 结构效果图
系统整体借助DS18B20集成温度传感器进行温度数据的采集,电压变化由A/D转换器转换成相应的数值后,传输给STC89C52RC单片机进行读取,通过LCD显示模块进行显示,同时数据通过串口通信接口电路传输给PC上位机,显示在虚拟仪器程序前面板上[3].随着研究的深入,最终实现PC上位机借助GSM通讯模块将温度数据以短信的模式传输给用户的手机上.
温度传感器是温度监控系统采集数据的关键部分,根据本系统温度的测量范围和精度要求及信号采集稳定性,低成本等因素,选用DS18B20数字温度传感器进行温度采集,DS18B20芯片的常见封装为TO-92[4].传感器外形图如图2所示.
图2 DS18B20温度传感器
图3 STC89C52RC单片机
基于系统设计的功能要求,本设计选择了STC89C5RC单片机.其外形如图3所示.
图4 1602A
本设计采用LCD显示屏对温度数据进行直观的展示.LCD显示屏通常由点阵构成,利用不同颜色的灯亮灭来实现对文字、动画等信息的传达[5].本设计选择了一块工业字符型液晶1602A,它可以同时显示32个字符,其外形如图4所示.
为了能够将温度数据以短信的形式发送给用户手机,系统需要具备一定的通讯功能,因此GSM模块是系统不可缺少组成部分.目前的GSM模块主要是在一块线路板上将GSM射频芯片与储存器、基带处理芯片等相关器件集成在一起.它具有收发短信、语音通话等依赖于GSM网络进行通讯的功能.
图5 实物图连接
基于系统设计的功能要求,本设计选用德国西门子生产的TC35I这一款GSM模块.其双频为900/1800MHz,具有体型小、功耗低等特点.TC35I支持的电压范围是3.3~4.4V,9600kbps的传输速度.根据系统设计原理,实物图连接如图5所示.
下位机主要由单片机、传感器、LCD显示模块以及GSM通讯模块组成,集成温度数据的采集与传输.上位机进行温度数据的监控与发送,由Lab-VIEW程序来实现用户的需求.
DS18B20采集的环境温度数据由STC89C52 RC单片机进行读取,通过串口通讯接口电路实现信号的串口传输[6].在实际操作中,CH340的串口发送和接收端口需要与单片机的串口发送端和接收端进行交叉连接.
系统的下位机硬件电路主要由DS18B20数字温度传感器和STC89C52RC单片机进行搭建,经由LCD显示模块显示当前温度数据.
通过单片机搭建的下位机系统,将温度数据传输到PC上位机,PC上位机应当具有显示温度变化的波形图窗口与显示当前温度值的框图窗口,便于用户观察当前温度变化.同时对测量温度的上下限值需要进行控制,并以短信的形式发送当前温度值至用户手机,因此PC上位机程序具有可调上下限温度值窗口与收发短信等操作[7].
采用LabVIEW进行PC上位机程序设计,控制面板.由COM口选择端、当前温度展示窗口、上下限温度控制窗口、温度曲线展示面板、接收短信显示框、发送短信显示框、来电显示框、发送电话显示框这八个部分组成,具有良好的人机交互界面[8].
为了能够对测量温度准确且有效地记录,采用温度曲线展示面板,将温度变化的数据及时地呈现出来.COM口选择端的作用是将下位机的温度信号选用合适的串口端子进行匹配,从而完成信号传输到PC机[9].为了实时接收短信,设计接收短信显示框完成短信内容的显示.来电显示框与发送电话显示框均是为用户展示所发送或接收短信所使用的手机号码.
温度数据显示在程序框图上,数据信息由于VISA写入只能将字符串数据进行识别,这样就导致了在上限温度与下限温度发送时因避免非字符串数据的出现,因此不能直接将写入缓冲区与温度数据发送的控件进行连接,需要在之间加入一个将温度数据转换为字符串数据的控件进行连接.同时上限温度数据不能与下限温度数据相混淆,故本系统的协议中规定前一个发送的字符是上限温度数据,之后发送的字符为其下限温度数据[10].
温度数据信息要直观展现在用户面前,需要用波形图来输出温度数据信息,所以在得到相关字符串数据信息后需要进行操作,将其转换为数值型数据.在LabVIEW程序功能面板的编程目录下可以找到字符串转数组函数、数组索引函数、数组元素删除函数等与其相关的运算符号.为了不浪费系统资源,在关机的时候为了让系统不进行任何数据的处理,便让其执行假事件.
通过英国Lab Center Electronics公司出版Proteus软件,对系统的单片机及外围器件进行仿真.对Proteus软件中DS18B20数字温度传感器所显示的温度值进行调节时,模拟DS18B20数字温度传感器进行采集当前温度数据,并通过将温度数据传输给STC89C52RC单片机后,由其发送至LCD显示模块,将当前DS18B20数字温度传感器所采集的温度值进行显示.
通过加、减按钮实现温度数据的变化,仿真实际环境采集到的温度数据.调节DS18B20上的加减按钮将温度调节为5摄氏度,则可以在LCD上显示为5摄氏度.
由LabVIEW搭建的上位机程序在实际调试过程中如图6所示.
本设计的目的是利用LabVIEW虚拟仪器开发平台设计一种温度采集传输系统,以单片机为下位机,虚拟仪器系统为上位机.利用VISA串口通信模块实现与单片机的信号通信,完成环境温度的实时采集和历史曲线生成,为信号处理和报表导出提供了数据依据.同时在后续的研究中,系统将经过单片机MCU单元的处理,编辑成短信,通过GSM模块的无线发送和,以短信息的方式将数据发送到主控中心的计算机或用户的GSM手机.
图6 上位机调试图
〔1〕熊舸,刘娴,等.基于LabVIEW的实时串口数据采集及其Excel报表生成技术[J].软件,2014(3).
〔2〕张大波.嵌入式系统原理、设计与应用[M].北京:机械工业出版社,2005.
〔3〕王桂荣,李宪.传感器原理及应用[M].北京:中国电力出版社,2010.
〔4〕陈叔旺,张秀清.传感器应用及电路设计[M].北京:化工工业出版社,2008.
〔5〕张秀国.单片机C语言程序设计[M].北京:北京大学出版社,2008.
〔6〕何立民.单片机高级教程[M].北京:北京航空航天大学出版社,2000.
〔7〕杨振江.A/D、D/A转换器接口技术与实用线路[M].西安:西安电子科技大学出版社,1996.
〔8〕温德尔.LED驱动电路设计[M].北京:人民邮电出版社,2009.
〔9〕许美玲,李春茂,等.基于LabVIEW串口通信的多路数据采集系统[J].机械与电子,2010(S1).
〔10〕陈诚,李言武,等.基于LabVIEW的单片机串口通信设计[J].现代计算机,2009(1).
TH368.1
A
1673-260X(2017)12-0037-03
2017-09-07
国家自然科学基金资助项目(51075002);2016年安徽省教育厅自然科学基金重大项目(KJ2016SD07)