2024年5月10日发(作者:及鸿畴)
基于STM32的温度分布与可视检测系统设
计
作者:周小超 刘建树 李占妮 林华
来源:《赤峰学院学报·自然科学版》2021年第11期
摘 要:某生產设备控制器需对其表面温度进行测量,以实时掌握控制器工作温度。为了
进行表面温度多点测量,并进行可视化实时检测,研制了一种基于STM32的温度分布与可视
检测系统。STM32控制器作为系统的终端机使用,通过RS232协议与PC机进行数据传递,在
PC机上基于MATLAB GUI设计系统的上位机软件,并在上位机上实现实时绘图可视化检测。
系统设计了16个温度测点,在控制器表明以4×4阵列分布,通过设计转接卡将16个传感器测
点与开发板连接。实验表明,系统运行稳定可靠,可应用于需温度采集的生产现场。
关键词:STM32;温度;RS232;MATLAB GUI;可视化
中图分类号:TP216 文献标识码:A 文章编号:1673-260X(2021)11-0026-04
0 引言
生产设备的某些组件需在合适的温度下工作,高温度会影响组件某些电子元器件不能正
常工作[1-3],因此对设备中重要的组件需对其工作温度进行实时检测,并做好冷却措施。目前
市场上存在多种多样的温度采集设备[4,5],有些设备可连接多个传感器,但可将温度数据保
存到存储器的设备较少,即便部分设备可将温度数据保存,但仅保存温度的数值,无法实现实
时可视化采集与检测。王子权[6]等基于STM32单片机设计实现了20路的热电偶测温,通过在
STM32中移植剥夺式内核UCOSIII操作系统实现了多任务同优先级的时间片轮转调度,基于
STemWin界面设计系统进行了操作界面设计,但该系统仅可将采集的温度数据保存至SD卡
中,且温度检测界面不够友好,仅使用STM32控制器导致数据处理能力不足。范虹兴[7]等设
计了一种基于STM32的开关柜母线温度无线采集系统,系统的采集节点具有唯一的地址,当
母线温度高于设置的报警阈值时,采集节点与中心节点同时报警,从而有效地预防了事故发
生,但该系统的测点较少,采用无线设备传输数据容易造成数据缺失,无法实现对设备的实时
可视化检测。
本文基于STM32F4单片机研制了一种16路温度采集与实时可视化检测系统,将16路传
感器集成在一个转接卡上,转接卡与STM32开发板连接,将传感器线路连接至标准的USB接
口上。温度传感器采用DS18B20,通过使用通用GPIO模拟DS18B20的单总线协议,通过任
务信号量实现温度测量任务间的逐个切换,并基于MATLAB GUI开发环境中设计系统的实时
可视化检测界面。
1 系统硬件设计
1.1 系统整体组成
系统的整体组成包括:STM32F4单片机、5V电源、LED指示灯、复位电路、单片机晶
振、RS232总线、传感器转接卡、DS18B201~DS18B2016,如图1所示。单片机的具体型号
为:STM32F429IGT6;5V电源采用标准的USB接口电源,经稳压降压芯片后成单片机标准的
3.3V供电电源;LED指示灯在电源接通后自动点亮;复位电路用于复位STM32单片机;单片机晶
振用于为单片机提供工作时序;RS232总线采用CH340G芯片进行电平转换,因此可在PC机上
直接使用USB接口即可实现串口通信;传感器转接卡为一块PCB板,板上集成16个标准USB
接口,DS18B20的供电电源通过转接卡实现与5V电源的接通。
1.2 传感器转接卡
传感器转接卡某单个传感器电路如图2所示,使用USB的D-引脚连接DS18B20的数据
线,每个USB接口均带5V电源为传感器供电。
1.3 稳压降压电路
稳压降压电路如图3所示,稳压降压芯片采为:LM1117-3.3,以实现5V到3.3V的低压
差电压调节。LED指示灯通过上拉1KΩ限流电阻与3.3V电源引脚连接。
1.4 DS18B20电路
选择使用DALLAS半导体公司的DS18B20[8,9]数字温度传感器。DS18B20使用单总线
传输协议直接输出温度的数字信号量,具有体积小,成本低,抗干扰能力强,温度测量精度高
等特点。将传感器的I/O引脚与单片机的其中1个通用GPIO连接,通过控制GPIO开关模拟
传感器的单总线通信时序,从而实现数据传输。
1.5 RS232转接电路
如图5所示,使用CH340G芯片将RS232的负逻辑电平转换为标准的TTL电平,串口的
发送引脚TXD与单片机的PA10引脚连接,接收引脚RXD与单片机的PA9引脚连接,
CH340G芯片本身的晶振由Y3(12MHz)提供,晶振滤波电容为22 pF。芯片输出端UD-和
UD+与通用Mini USB口的D-和D+连接,因此可使用标准的USB数据线即可与芯片连接。
2 系统软件设计
2.1 系统整体程序流程
系统整体程序流程如图6所示。系统初始化过程包括系统时钟、标准库、串口、
DS18B20初始化等。随后UCOS操作系统初始化,并在启动任务AppTaskStart创建后开启
UCOS系统,其中在AppTaskStart任务程序的末尾必须释放测量任务1(AppTask1)的任务信
号量,此时测量任务1得到其任务信号量,开始运行。同理在测量任务1程序的末尾释放测量
任务2(AppTask2)的任务信号量,测量任务2任务开始运行,…,测量任务16
(AppTask16)程序末尾释放测量任务1的任务信号量,此时程序重回到测量任务1执行测量
任务。
2.2 系统任务配置
设置17个系统任务,如表1所示。任务的创建任务为:AppTaskStart、温度测量任务包
括16个:AppTask1~AppTask16。任务参数设置如表1所示。
2.3 DS18B20温度测量任务函数
DS18B20温度测量任务函数流程如图7所示[10],图中变量ah和al用于保存从DS18B20
传回的温度数据的高八位和低八位,经过移位操作后得到具体的温度值tem,通过整数位和小
数位运算得到温度的整数部分和小数部分,通过串口通信方式将温度值传送至PC机,数据在
发送完毕后必须将tem变量清零,防止温度数据误传。若某个传感器传回的数据全部或部分为
0,则表明该传感器线路有故障。16个温度测量任务间通过任务信号量实现切换。任务信号量
是是任务独有的信号量,通过任务信号量可实现对任务状态控制,包括任务继续运行或始终等
待信号量等。
2.4 上位机设计
如图8所示,基于MATLAB GUI开发的实时可视化检测界面,圖中16个传感器传回的
数据通过文本框形式实时显示,文本框分布4×4共16个,由下而上,由左而右的顺序为:1-
4,5-8,9-12,13-16。温度分布框为图像显示空间,通过实时彩色绘图的方式将温度数据实时
显示在温度分布框中,温度分布框中的颜色维与温度显示文本框对应,由下而上,由左而右的
顺序为:1-4,5-8,9-12,13-16。在GUI界面中,除实时显示温度数值和温度分布外,在每次
接收到温度数据时
2.5 系统调试
系统开发板与传感器转接卡如图9所示。16个USB接口以此排列在转接卡上,采用标准
的四线制USB数据线。系统调试时在控制器外壳材料表面以相等间隔粘贴布置16个传感器。
得到湿度分布如图10所示。可知16个传感器测点均正常工作,采集到了温度数据。从
温度分布情况可知,第16个传感器的采集到的温度较高,达25℃,第1、2、5、6、9、10、
11、12传感器采集的温度数据较低,达24.65℃。从温度差值来看,控制器工作温度基本均
匀,无明显的高温度区,表明控制器在良好的环境下工作。
3 结束语
本文基于STM32单片机、DS18B20温度传感器、MATLAB GUI界面开发环境,研制了
一种实时可视化温度分布检测系统。在系统调试中验证了系统工作稳定可靠,实现了16路温
度采集、RS232数据传输、上位机实时显示温度数值和温度分布,达到了设计预期。该系统可
应用于需温度测量的生产现场,同时功能可扩展,具有良好的实用性和通用性。
参考文献:
〔1〕汪钦臣,方益民.基于Modbus UDP协议的STM32与PC实时通信的实现[J].仪表技
术与传感器,2020,19(07):67-70.
〔2〕宋阳柳,易艺,郝建卫,等.基于STM32的中央空调温度控制器的设计[J].国外电子
测量技术,2018, 37(02):125-128.
〔3〕范宇聪,邓云,程敏,等.八通道的温度同步测量系统的设计[J].仪表技术与传感器,
2020,35(04):61-67.
〔4〕黄琦,韩广源,吴瑞东,等.基于STM32的高精度恒温控制系统设计[J].仪表技术与
传感器,2017,9(05):71-74.
〔5〕侯伟,张小洁,耿凡娜,等.基于LabVIEW的土壤温湿度实时监测系统设计[J].电子
测量技术,2019, 42(04):141-145.
〔6〕王子权,周小超,林华.轮转调度通用实时热电偶测温序列设计[J].仪表技术与传感
器,2019,45(09):23-27.
〔7〕范虹兴,高凤良,熊钰瑶,等.基于STM32的开关柜母线温度无线采集系统[J].仪表
技术与传感器,2020,17(04):77-80.
〔8〕孙毅刚,何进,李岐.基于LabVIEW的多通道温度监测系统设计[J].现代电子技术,
2017,11(08):183-186.
〔9〕王野,于涛.无线室温采集系统在热网均衡控制中的应用[J].控制工程,2017,29
(11):2380-2386.
〔10〕徐宇宝,王子权,林华.基于单片机的多通道智能浇灌系统设计[J].长春师范大学学
报,2021,40(02):46-51.
2024年5月10日发(作者:及鸿畴)
基于STM32的温度分布与可视检测系统设
计
作者:周小超 刘建树 李占妮 林华
来源:《赤峰学院学报·自然科学版》2021年第11期
摘 要:某生產设备控制器需对其表面温度进行测量,以实时掌握控制器工作温度。为了
进行表面温度多点测量,并进行可视化实时检测,研制了一种基于STM32的温度分布与可视
检测系统。STM32控制器作为系统的终端机使用,通过RS232协议与PC机进行数据传递,在
PC机上基于MATLAB GUI设计系统的上位机软件,并在上位机上实现实时绘图可视化检测。
系统设计了16个温度测点,在控制器表明以4×4阵列分布,通过设计转接卡将16个传感器测
点与开发板连接。实验表明,系统运行稳定可靠,可应用于需温度采集的生产现场。
关键词:STM32;温度;RS232;MATLAB GUI;可视化
中图分类号:TP216 文献标识码:A 文章编号:1673-260X(2021)11-0026-04
0 引言
生产设备的某些组件需在合适的温度下工作,高温度会影响组件某些电子元器件不能正
常工作[1-3],因此对设备中重要的组件需对其工作温度进行实时检测,并做好冷却措施。目前
市场上存在多种多样的温度采集设备[4,5],有些设备可连接多个传感器,但可将温度数据保
存到存储器的设备较少,即便部分设备可将温度数据保存,但仅保存温度的数值,无法实现实
时可视化采集与检测。王子权[6]等基于STM32单片机设计实现了20路的热电偶测温,通过在
STM32中移植剥夺式内核UCOSIII操作系统实现了多任务同优先级的时间片轮转调度,基于
STemWin界面设计系统进行了操作界面设计,但该系统仅可将采集的温度数据保存至SD卡
中,且温度检测界面不够友好,仅使用STM32控制器导致数据处理能力不足。范虹兴[7]等设
计了一种基于STM32的开关柜母线温度无线采集系统,系统的采集节点具有唯一的地址,当
母线温度高于设置的报警阈值时,采集节点与中心节点同时报警,从而有效地预防了事故发
生,但该系统的测点较少,采用无线设备传输数据容易造成数据缺失,无法实现对设备的实时
可视化检测。
本文基于STM32F4单片机研制了一种16路温度采集与实时可视化检测系统,将16路传
感器集成在一个转接卡上,转接卡与STM32开发板连接,将传感器线路连接至标准的USB接
口上。温度传感器采用DS18B20,通过使用通用GPIO模拟DS18B20的单总线协议,通过任
务信号量实现温度测量任务间的逐个切换,并基于MATLAB GUI开发环境中设计系统的实时
可视化检测界面。
1 系统硬件设计
1.1 系统整体组成
系统的整体组成包括:STM32F4单片机、5V电源、LED指示灯、复位电路、单片机晶
振、RS232总线、传感器转接卡、DS18B201~DS18B2016,如图1所示。单片机的具体型号
为:STM32F429IGT6;5V电源采用标准的USB接口电源,经稳压降压芯片后成单片机标准的
3.3V供电电源;LED指示灯在电源接通后自动点亮;复位电路用于复位STM32单片机;单片机晶
振用于为单片机提供工作时序;RS232总线采用CH340G芯片进行电平转换,因此可在PC机上
直接使用USB接口即可实现串口通信;传感器转接卡为一块PCB板,板上集成16个标准USB
接口,DS18B20的供电电源通过转接卡实现与5V电源的接通。
1.2 传感器转接卡
传感器转接卡某单个传感器电路如图2所示,使用USB的D-引脚连接DS18B20的数据
线,每个USB接口均带5V电源为传感器供电。
1.3 稳压降压电路
稳压降压电路如图3所示,稳压降压芯片采为:LM1117-3.3,以实现5V到3.3V的低压
差电压调节。LED指示灯通过上拉1KΩ限流电阻与3.3V电源引脚连接。
1.4 DS18B20电路
选择使用DALLAS半导体公司的DS18B20[8,9]数字温度传感器。DS18B20使用单总线
传输协议直接输出温度的数字信号量,具有体积小,成本低,抗干扰能力强,温度测量精度高
等特点。将传感器的I/O引脚与单片机的其中1个通用GPIO连接,通过控制GPIO开关模拟
传感器的单总线通信时序,从而实现数据传输。
1.5 RS232转接电路
如图5所示,使用CH340G芯片将RS232的负逻辑电平转换为标准的TTL电平,串口的
发送引脚TXD与单片机的PA10引脚连接,接收引脚RXD与单片机的PA9引脚连接,
CH340G芯片本身的晶振由Y3(12MHz)提供,晶振滤波电容为22 pF。芯片输出端UD-和
UD+与通用Mini USB口的D-和D+连接,因此可使用标准的USB数据线即可与芯片连接。
2 系统软件设计
2.1 系统整体程序流程
系统整体程序流程如图6所示。系统初始化过程包括系统时钟、标准库、串口、
DS18B20初始化等。随后UCOS操作系统初始化,并在启动任务AppTaskStart创建后开启
UCOS系统,其中在AppTaskStart任务程序的末尾必须释放测量任务1(AppTask1)的任务信
号量,此时测量任务1得到其任务信号量,开始运行。同理在测量任务1程序的末尾释放测量
任务2(AppTask2)的任务信号量,测量任务2任务开始运行,…,测量任务16
(AppTask16)程序末尾释放测量任务1的任务信号量,此时程序重回到测量任务1执行测量
任务。
2.2 系统任务配置
设置17个系统任务,如表1所示。任务的创建任务为:AppTaskStart、温度测量任务包
括16个:AppTask1~AppTask16。任务参数设置如表1所示。
2.3 DS18B20温度测量任务函数
DS18B20温度测量任务函数流程如图7所示[10],图中变量ah和al用于保存从DS18B20
传回的温度数据的高八位和低八位,经过移位操作后得到具体的温度值tem,通过整数位和小
数位运算得到温度的整数部分和小数部分,通过串口通信方式将温度值传送至PC机,数据在
发送完毕后必须将tem变量清零,防止温度数据误传。若某个传感器传回的数据全部或部分为
0,则表明该传感器线路有故障。16个温度测量任务间通过任务信号量实现切换。任务信号量
是是任务独有的信号量,通过任务信号量可实现对任务状态控制,包括任务继续运行或始终等
待信号量等。
2.4 上位机设计
如图8所示,基于MATLAB GUI开发的实时可视化检测界面,圖中16个传感器传回的
数据通过文本框形式实时显示,文本框分布4×4共16个,由下而上,由左而右的顺序为:1-
4,5-8,9-12,13-16。温度分布框为图像显示空间,通过实时彩色绘图的方式将温度数据实时
显示在温度分布框中,温度分布框中的颜色维与温度显示文本框对应,由下而上,由左而右的
顺序为:1-4,5-8,9-12,13-16。在GUI界面中,除实时显示温度数值和温度分布外,在每次
接收到温度数据时
2.5 系统调试
系统开发板与传感器转接卡如图9所示。16个USB接口以此排列在转接卡上,采用标准
的四线制USB数据线。系统调试时在控制器外壳材料表面以相等间隔粘贴布置16个传感器。
得到湿度分布如图10所示。可知16个传感器测点均正常工作,采集到了温度数据。从
温度分布情况可知,第16个传感器的采集到的温度较高,达25℃,第1、2、5、6、9、10、
11、12传感器采集的温度数据较低,达24.65℃。从温度差值来看,控制器工作温度基本均
匀,无明显的高温度区,表明控制器在良好的环境下工作。
3 结束语
本文基于STM32单片机、DS18B20温度传感器、MATLAB GUI界面开发环境,研制了
一种实时可视化温度分布检测系统。在系统调试中验证了系统工作稳定可靠,实现了16路温
度采集、RS232数据传输、上位机实时显示温度数值和温度分布,达到了设计预期。该系统可
应用于需温度测量的生产现场,同时功能可扩展,具有良好的实用性和通用性。
参考文献:
〔1〕汪钦臣,方益民.基于Modbus UDP协议的STM32与PC实时通信的实现[J].仪表技
术与传感器,2020,19(07):67-70.
〔2〕宋阳柳,易艺,郝建卫,等.基于STM32的中央空调温度控制器的设计[J].国外电子
测量技术,2018, 37(02):125-128.
〔3〕范宇聪,邓云,程敏,等.八通道的温度同步测量系统的设计[J].仪表技术与传感器,
2020,35(04):61-67.
〔4〕黄琦,韩广源,吴瑞东,等.基于STM32的高精度恒温控制系统设计[J].仪表技术与
传感器,2017,9(05):71-74.
〔5〕侯伟,张小洁,耿凡娜,等.基于LabVIEW的土壤温湿度实时监测系统设计[J].电子
测量技术,2019, 42(04):141-145.
〔6〕王子权,周小超,林华.轮转调度通用实时热电偶测温序列设计[J].仪表技术与传感
器,2019,45(09):23-27.
〔7〕范虹兴,高凤良,熊钰瑶,等.基于STM32的开关柜母线温度无线采集系统[J].仪表
技术与传感器,2020,17(04):77-80.
〔8〕孙毅刚,何进,李岐.基于LabVIEW的多通道温度监测系统设计[J].现代电子技术,
2017,11(08):183-186.
〔9〕王野,于涛.无线室温采集系统在热网均衡控制中的应用[J].控制工程,2017,29
(11):2380-2386.
〔10〕徐宇宝,王子权,林华.基于单片机的多通道智能浇灌系统设计[J].长春师范大学学
报,2021,40(02):46-51.