刘 卫
(长沙民政职业技术学院,湖南 长沙 410004)
温度在工业生产当中发挥着重要作用,温度检测与控制直接影响着工业生产效率和安全,并关系到各种技术经济指标,如产品质量、节能等,因此,相关研究领域要高度重视研发智能温度检测与控制系统。目前,温度检测仪器在多个领域广泛使用,有多种方式可实现温度测量,且温度测量技术随着科学技术的不断进步而日臻完善。
STM32属于一种嵌入式单片机,主要应用在提出低功耗、低成本、高性能要求的嵌入式应用设计中,其主流产品包括STM32F1、STM32F0以及STM32F3,高性能产品包括STM32H7、STM32F7、STM32F4、STM32F2,超低功耗产品有STM32L4+、STM32L4、STM32l1、STM32L0[1]。STM32系列产品包含强化型外侧接口,其互联系列有和微控制器一致的标准接口,使产品应用更加灵活,不同的设计中设计人员可重复利用一个相同软件。在STM32L系列当中,增加了低功耗睡眠、低功耗运行这两项重要的低功耗模式,在超低功耗振荡器以及稳压器利用下,可使低频下的微控制器明显降低工作功耗。稳压器在不依靠电源电压情况下,仍可达到电流要求。同时,STM32具有动态电压升降功能,可使芯片保持中低压频运行过程,从而进一步降低内部工作电压。
本研究所设计的智能温度巡检仪主要应用在工业生产领域,为满足工业生产提出的监控需求,智能温度巡检仪需具备以下功能:1)应用中可配合使用常用温度传感器对多路温度进行全面检测,本文所设计智能温度巡检仪和Pt100型铂热电阻相互配合,可对8路温度实现巡回检测;2)可结合不同的应用需求选择不同显示方式,包括定点显示方式、巡回显示方式等;3)可在全量程当中设定一个超限报警值,一旦实测温度高出设定值,就会有报警信号发出,同步输出常开节点;4)在实际检测中,每路温度都可转变成和其线性对应的电流输入,一般保持在4 mA~20 mA;5)可实现RS485通信,便于构建局域监控网络,在相应网络中能够共享温度超限设定值、实测温度等参数[2]。
基于STM32设计智能温度巡检仪,硬件总体设计主要包含7个功能单元,即温度显示单元、STM32单片机基本单元、温度传感单元、功能模式切换按键单元、电源单元、报警与继电保护输出单元、远程通信单元。其中,STM32单片机基本单元当中主要包含单片机基础性工作电路,如数据储存电路、程序下载电路、时钟电路等。在热电偶测温单元,重点分布有仪表放大及隔离电路、热电偶接入以及冷端温度补偿电路等。在热电阻测温单元,重点设计仪表放大以及隔离电路,还有测温电桥等。在显示单元,包含有8位LED数码管,由其显示功能模块基本信息以及温度信号。在报警以及继电保护输出单元,包含有继电器触点输出电路和指示灯报警电路。在远程通信单元,主要以RS485协议为基础实现远程通信。在电源单元,设计220 V交流接入,所形成直流稳压电源包含多种电压等级,可满足单片机工作以及测量放大电路需求[3]。
系统方案运用计划温度测量电路,通过使用温度测量电路能够确保温度测量值具有更高精确度,从而满足应用提出的精度要求。温度测量电路结合环境温度,将所接收到的温度传感器信号进行转换,获得电流或电压信号,此时需要向AD转换器输入相关电信号,以有效检测环境温度。经综合对比,最后选定测温电路方案包括:1)热电偶温度相关测温电路方案。智能温度巡检仪在工作状态下,会对热电偶温度做出热电势反应,冷端温度和热电势输出密切相关,在标准热电偶分度表当中,以冷端温度0 ℃为依据,所以要在热电偶温度基础上实现冷结补偿。对冷端温度进行补偿期间,有软件、硬件两种方法,本研究设计中选择通过硬件方法补偿冷端温度。2)热电阻温度相关测温电路方案。本研究设计中选择Pt100热电阻,供桥电源为5 V,经仪表放大以及信号隔离,使电桥输出至单片机系统[4]。
3.1.1 MCU
在本设计中,MCU主要选择STM32RBT6,其为64引脚。在导出PORTC端口,P2属于重要组成部分。其中PORTA以及PORTB两者密切相关,且有一定顺序性,即:1)PA1和PA0以及P2端口一一对应,其可和传感器数据口实现顺畅连接,同时还可和红外线传感器当中的数据线相连。不过在本设计中并未使用该数据口,设计中主要使用“跳帽”使P2、P3两者相互连接,不过设计中需要注意,两者不可直接连接,因为温度传感器和红外传感器会对串口产生影响,从而使其发挥其他功能。2)P4端口实现和PL2303串口之间的有序连接,此端口主要为输出端,它和单片机串口1(也就是PA9/PA10)相对应,该两个串口主要实现跳帽连接,这一设计不会影响PA9以及PA10发挥其他功能。3)P5端口及另一IO口会引出排阵,此处会引出PORTD、PORTC等其他IO口[5]。
3.1.2 串口以及SW调试设计
以高速模式为基础,和JTAG相比,SWD模式更加可靠,因为在具有较大数据量情况下JTAG会出现程序下载失败情况,而相比之下SWD的失败概率明显偏低,所以本设计中选择应用SWD模式。
3.1.3 热电偶测温电路设计
热电偶测量端以及冷端温度会对其输出热电势产生直接影响,设计中选择冷端补偿方法。因为热电偶体现出突出的非线性特点,因此本设计断口检测电路、非线性校正电路以及X6675集成冷端补偿电路,在此基础上能更加方便、快捷地使用K型热电偶[6]。其中所用的MAX6675优势显著,特点突出,它的内部集成设计了冷端补偿电路,并使用三位串行接口,这一接口设计相对简单,同时其温度信号能够向12位数字量方向转换,并且具有非常高的温度分辨率,能够达到0.25 ℃。在电路中桥当中,包含有4个电阻,其中有3个恒定电阻,另1个是Pt100热敏电阻,一旦Pt100电阻值发生改变,测试端就会同步出现电位差,此时可以电位差为基础进行温度值计算。在模拟输出值当中,和桥接法所测量温度密切相关。本设计中放大器选择AD623集成单功放。在PNP晶体管当中,输入信号会被当作电压缓冲器向其中添加,所产生的共模信号会向输入放大器当中传递[7]。所有放大器都和精确度非常高的50K反馈电阻相连接,在此基础上实现可编程增益,并发挥差分电压开关功能。输出放大器经过转换,会形成终端电压,并以单一形式存在,工作中以五脚电势为基础对六脚输出电压实现可靠测量。
结合STM32特点、设计任务以及硬件电路,本研究所设计智能温度巡检仪共有4项软件设计任务,按照实时性要求从低至高的顺序,分别是系统初始化、人机服务、数据采集和温度计算、通信任务。其中,系统初始化这一程序只需要在开机过程中运行一次,所以设计中不做过多考虑。在构建数据采集局域网基础上,所设计智能温度巡检仪在相应网络中保持从站地位,其响应网络时间延迟最大值是主站一帧信息的发出时间,如果时间延迟超过了这一时间,就会使主站调度命令无法得到响应,整个网络将明显降低通信效率,所以设计中最高级别任务就是通信任务。在人机服务中,关键体现的是按键响应任务,通常情况下人的按键动作需要耗时约100 ms,所以在这一时间内能够做出响应即可,未提出较高实时性要求,所以属于最低级别任务[8]。相比之下,将数据采集和温度计算视作中间级别任务。为按照所设定的优先级别逐步执行三项任务,要在设计中应用中断机制。其中,主要于串行通信中断服务程序当中执行通信任务,在中断设计中将其设为高级中断;于外部中断服务程序当中执行数据采集以及温度计算相关任务,在中断设计中将其设为低级中断;于主程序内执行人机服务任务。
在智能温度巡检仪设计中,结构设计主要是设计仪表安装形式以及外形。根据仪表应用需求,智能温度巡检仪主要有三种结构形式,即盘装结构、便携式结构、台式结构。其中台式结构不适合长年连续使用,同时便携式结构也主要应用在非连续使用相关场合,而以盘装结构设计温度巡检仪,相关仪表能够在仪表盘上安装,可长年持续监控生产过程。所以,本设计中选择盘装结构,以满足长期监控连续生产过程的需求。在选择盘装结构基础上,要了解可供操作的前面板尺寸比较小,不能安放较多按键和显示器,而智能仪表设计中核心是微处理器,通过软件利用实现多项功能,而这就对显示器和按键数量提出较高要求[9]。对此,需要在设计仪表功能期间重点展示关键性功能,适当舍弃不必要功能,在满足主要功能需求基础上方便操作,同时尽量以在后台提供复杂软件支持形式保证操作流程和人的操作习惯比较相符。设计仪表操作方式前,要对同类仪表设计特点以及操作过程进行深入研究,以尽量提升操作便捷性、合理性。智能温度巡检仪在结构设计中,还要重点考虑对外接线,此处应重点考虑仪表应用场合,若应用在环境恶劣且使用周期较长的场合,主要选择接线端子连接形式,在其他场合主要选择接插件连接形式[10]。
将软件Keil uVision 5打开,选择Options for Target这一选项,同步打开,找到Dubeg栏,选定仿真工具,即Use:ST-Link Debugger。之后找到Setting,同步点击,而后于Debug Adapter当中会看到Unit这一选项,其中会显示出ST-LINK版本号。此时如果计算机当中插入有仿真器(ST_LINK V2.1以及V2.0版本),下拉框会将两个版本都显示出来,此时要点击ST-LINK/V2-1这一选项。本研究所用仿真器属于SWD模式,可找出ort选项,同步点击“SW”,设置速度最大值MAX是4 MHz。填充完整设置结束后,点击“确定”,将有一个对话框弹出,点击“OK”就会显示出IDE界面,此时操作人员就可对下一工程进行编译。
本研究基于STM32设计智能温度巡检仪,首先,立足整体层面搭建系统,在充分学习与了解各模块组成和功能基础上建立系统总体,同步搭建显示电路、报警电路、热电阻测温电路以及热电偶测温电路等,而后展开软件设计和结构设计,并进行样机制作,使智能温度巡检仪可发挥多项基本功能。其次,进行调试程序的编写,在对软件以及单片机实现调试之后,对8路数字温度实现测试,将这8路数字温度划分为两组,每组4路,一组为Pt100热电阻测温系统,另一组为 B分度号热电偶。而后进一步调试显示模块以及报警模块,在确保系统可以正常运行后,对系统进行优化处理。