基于LabVIEW的恒温箱温度显示系统
2018-07-12蒋星亦时群黄州
蒋星亦 时群 黄州
摘要:以低功耗的微控制器STM32为硬件核心,以LabVIEW2015为软件开发平台,设计了专门用于恒温箱的温度显示系统。由DS18B20传感器进行温度采集,通过RS-232串口实现数据传输,用户可通过人机交互界面实时监测及设置温度。实验结果:设定温度为17℃,精确度为±0.5℃,系统运行良好,通用性较强,具有广泛的用途。
关键词:LabVIEW;STM32 ;传感器
中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2018)12-0277-03
Abstract: Based on the low-power microcontroller STM32 as the core of hardware, and taking LabVIEW2015 as the software development platform, a temperature display system specially designed for thermostat is designed. The temperature is collected by the DS18B20 sensor and the data transmission is realized through the RS-232 serial port. The user can monitor and set the temperature in real time through the human-computer interaction interface. The experimental results: the set temperature is 17 C, the accuracy is 0.5 degrees C, the system runs well, the versatility is strong, and it has a wide range of uses.
Key words: LabVIEW; STM32; sensors
随着计算机现代检测和电子仪器等技术高速发展,虚拟仪器成为现今仪器发展的主流方向,由美国国家仪器公司研发的图形编辑软件LabVIEW操作简单,在数据采集和界面控制方面具有明显优势。
为了方便用户对恒温箱温度的实时监测和设置,设计了一种以STM32为硬件核心,由LabVIEW软件开发的温度显示系统,并结合了多种科学技术,提高温度采集的精确度和温度显示的及时性。利用图形化编程语言LabVIEW,将数据的采集、处理和显示推动到更高的智能化水平。
1系统总体设计
温度传感器DS18B20获取箱内温度数据并转换成数字信号,STM32对信号进行存储和处理,再通过RS-232串行通信接口进行上位机与下位机之间的数据传输。利用LabVIEW设计的用户界面包括了登录、温度设置和实时温度显示及存储,系统框图如图1所示。
2系统的硬件
2.1温度传感器
本系统选用数字温度传感器DS18B20,其测量原理是基于温度系数晶振振荡率来判断,以确定温度变化改变振荡率。 DS18B20 脉冲输入会存放在计数器 2 中。计数器1和温度寄存器有一个基数值,计数器1会根据振荡率的变化计数,低温度系数脉冲计数器1做减法计数,温度寄存器的值会在计数器1减到 0时加1,然后计数器1会重新开始计数并且值会被重置,这个过程中计数器2也在不断计数,当计数器2的值为0时,测量过程结束,当前测量的温度数值就存放在温度寄存器中。
2.2 STM32控制
本系统使用基于Cortex-M3内核的STM32F103系列MCU,其性能高、编程简单;该内核基于最新的ARMv7构架,采用Thumb-2指令集,集成了分支预测、单周期乘法、硬件除法等众多功能。内核的内部数据路径宽度为32位,寄存器宽度为32位,存储器接口也是32位,是典型的32位处理器内核。内核拥有独立的指令總线和数据总线,取指和数据访问可同时进行。
2.3串口通讯
本系统采用RS-232串口通讯接口,下位机将采集到的温度值以一序列的位元串来一个接一个传给上位机,传输线少,配线简单,传送距离可以较远。
上位机RS-232串行接口标准:在电气特征上,RS-232采用负逻辑,要求高低2个信号间有较大的幅度,标准:逻辑1为-15V~-3V左右,逻辑0为+3V~+15V左右。
在下位机上自定义RS-232通信协议的相关参数:波特率、 数据位、 奇偶校验位和停止位等,与上位机相同。
3软件设计
3.1软件概述
借用LabVIEW开发平台,采用模块化设计,分为用户登录、温度显示和温度设置三部分。
3.2应用方法
3.2.1程序结构
LabVIEW 的所有编程都是使用图形化编辑语言G 语言,其中逻辑结构就显得十分重要,通过不同的结构可以实现不同的功能,结构中最常用到的是事件结构和条件结构。事件结构是在事件发生时实现条件分支,以达到处理事件的目的。如果一个事件并没有在指定时间内完成,事件结构也可以执行超时动作,超时的默认值为-1,也就代表在不更改超时值得情况下事件永不超时。尽管事件结构可以处理多个事件,但也不能处理一些特殊事件,例如通知事件和过滤事件。本系统的用户登录程序主要是使用了事件结构去执行“登录”和“取消”按钮的按钮功能,并且配置了登录超时提醒。
条件结构就是当系统满足指定的条件时就会执行相应的指令,为系统提供了选择条件的功能,类似C语言中的switch语句。与事件结构相似,条件结构虽然可以有多个条件分支但每次只能执行单个条件分支。
3.2.2数据校对
一个系统的安全性是十分重要的,用户名密码的数据比对就是其中的一个有力途径。数据的校对主要是通过比较函数实现的。数据的证明是通过比较函数实现的。用户输入用户名和密码和用户名密码已经设置为比較元素,再通过布尔函数与函数进行逻辑与,也就是用户名和密码必须同时正确才可以登录成功进入主检测程序。逻辑与函数和条件结构的选择接线端相连接,这样就实现了在用户名密码输入正确进入主检测程序和输入错误重新输入的功能。
3.2.3 VISA虚拟串口
LabVIEW提供的VISA节点,能连接计算机与仪器,其本质其实就是虚拟仪器下的API,通过调用底层驱动对外部仪器实现互通,便于实现对仪器的程序控制,使用简单。
VISA配置串口:初始化所选用的串行口,所要设置的参数由VISA资源名称(COM1)、波特率(9600)、数据比特(8)、奇偶(None)、停止位(1)。
VISA Write:将写入缓冲区的温度值写入VISA资源名称指定的COM1串行接口中。
VISA Read:从VISA资源名称指定的COM1串行接口中读取4个字节数据,并使数据返回至读取缓冲区。
VISA Close:关闭VISA资源名称指定COM1串口会话句柄或事件对象。
3.2.4数据显示
系统主要是依靠VISA配置串口与单片机实现数据通信的。当检测仪检测到环境温度数据后,单片机通过VISA串口发送数据到上位机,LabVIEW通过VISA 读取控件将采集到的数据读取下来,然后通过字符串控件显示出来。字符串控件主要用于字符和文本输入和显示,我们可以设置字符串显示的类型,比如 16 个甚至是密码格式,系统使用文本格式显示。同时将数据保存下来,可通过 I/O 选板的相应函数将字符串导出,存储于文本文件或者是电子表格中。
3.3 界面设计
3.3.1 用户登录
用户在输入正确的账户和密码后,点击进入系统,则将进入系统显示界面;若账户和密码错误,则提示重新输入。
3.3.2系统界面
系统核心包括三部分:设定温度和实时温度显示框及温度变化曲线显示图,清楚地反应温度变化。
4性能测试分析
针对恒温箱的温度控制性能,采用专业的温度记录仪,测试波形如下。LabVIEW界面显示结果与之相同,由此说明本系统运行良好,符合预期设计效果。
5总结
本设计采用STM32单片机和温度传感器DS18B20相结合,以LabVIEW为软件开发平台,设计了温度显示系统。利用温度传感器获取当前温度数据,再通过RS-232串行通信接口送入到上位机,实现温度的采集与实时监测。
由于LabVIEW强大的图形处理功能,人性化的操作界面,用户可通过波形图了解所要检测箱内温度值变化趋势,同时为提高测量精确度,在STM32其余端口外设多个温度传感器,实现多点温度检测。经实际验证,本系统设计具有较强的通用性,运行稳定。但还无法实现无线传输和手机端控制,有待进一步优化。
参考文献:
[1] 胡仁喜,高海宾. LabVIEW2010中文版虚拟仪器从入门到精通[M].北京:机械工业出版社,2012.
[2] 侯明,付兴建,吴迎年,等.基于LabVIEW VISA智能车无线调试系统[J].国外电子测量技术,2012,31(1):67-69,88.
[3] Michael J.Pont. 时间触发嵌入式系统设计模式[M]. 北京:中国电力出版社,2004.
[4] Prata S. C Primer Plus[M].5版.人民邮电出版社,2014.
[5] 姚文详. ARM CORTEX-M3权威指南[M]. 北京航空航天大学出版社,2009.
[6] 彭刚,秦志强. 基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M]. 北京:电子工业出版社,2011.
[7] 范书瑞,李琦,赵燕飞.Cortex-M3嵌入式处理器原理与应用[M]. 北京:电子工业出版社,2011.
[8] 卢有亮. 基于STM32的嵌入式系统原理与设计[M]. 北京:机械工业出版社,2014.
[9] 刘同法,陈忠平,彭继卫. 单片机外围接口电路与工程实践[M]. 北京:北京航空航天大学出版社,2008.
[11] 王永虹,徐炜,郝丽萍. STM32系列ARM Cortex-M3微控制器原理与实践[M]. 北京:北京航空航天大学出版社,2008.