连昕辉
浙江迈思智能科技有限公司
摘要:本文利用STM32的一种微型处理器来当主控的CPU,通过使用一个独立的数据采集模块采集数据,在这个基础上实现了智能化的温度数据采取、然后还有传输、处理和显示等功能。并商讨了该怎么提高系统的速度、性能和拓展性。数据采集是获取信号对象信息的过程。
关键词:嵌入式系统;ARM;DS18B20温度传感器;STM32;温度采集;数据的处理
一、引言
当今社会,随着社会的不断发展,科学技术的不断进步,测温仪器在各个领域的广泛应用,智能化服务已成为这个时代温控系统发展的重要趋势。温度控制在生活中还有在工业领域中涉及的非常多,像室内、供暖机构、天气预告等这些场所的温度控制。像之前传统的温度控制都是手动的,操作起来很麻烦。本文系统设计目的,首先它得是实现一种精准度高的系统来采集的温度控制系统,其应用必须得以普及,功能强大。
二、整体系统设计
(一)系统方案设计
第一个方案:需要使用模拟分立的元件,例如电容、电感、晶体管等非线性元件,观察采集的温度和显示的具体效果,这个方案的设计十分的好理解,特别简单,并且它的操作也不是特别的难,还有个好处,就是它的价格是非常合适的。缺点就是如果用分立的元件,会造成它的分散性特别的大,对集成数字化是十分不好,而且最后测量之后,会存在很大的误差的,所以这个方案的可行性不太好,尽量不用。
第二个方案:选用PC机作为本次设计的主控机。利用温度传感器来选用温度的信号,通过信号放大器之后,再送到A/D转换芯片中,然后再一次的经过拥有单片机的检测系统来进行下一步的解析和处理,然后再利用通信线路到PC机的上面,在PC的上面也可以通过对温度信号来进行很多的解析和处理的方式,所以这个方案简单来说还是不错的。
(二)系统工作原理
通过了解设计需求方面确定了系统的总体方案,这个整体的系统其实是根据使用单片机、温度的传感器、显示屏的模块、报警器还有按键等五个部分来组成的。使用者最开始得先将这个温度的报警的值输入到程序里,也就是温度的上下限。温度传感器检测当前的温度传递给单片机,当前温度超过所设置的温度上下限时,单片机驱动蜂鸣器使它工作从而发出警报声。
三、硬件设计
(一)STM32单片机
1.STM32单片机介绍
STM32这种微型的控制器,它是这个整体温度控制系统的一个核心的部分。因为对温度控制器具有较高的要求,如果执行的速度越快的话,控制的准确度就会越高,稳定性也很高它的灵敏度也会很高,因此必须得选出一种既便宜又实惠而且性能也高的一个单片机。ARM Cortex-M3的架构是可以体现出STM32增强型的单片机高性能、低功耗和经济实用的要求。
2.STM32内部电路图
本次设计中最主要的是STM32单片机的应用,它本身自带很多功能,工作速度也快。其中它本身自带了一个稳压电路输入5V电源,然后输出为3.3V。
(二)复位电路
复位电路是每一个电路都会带的功能,本设计选用的STM32内部带有复位电路,但是焊接的实物却没有用到复位电路,作为一款温度测量仪器,测量范围大不适合用复位电路进行复位,所以没有在硬件上加复位开关。
(三)LCD1602液晶显示器
1.LCD1602介绍
显示器其中的一个部分就是用于显示温度还有温度的上下限。在我们日常生活中,一般来讲生活中运用LCD显示器是比较多的。液晶显示模块经常被用作很多的子产品的通用器件,比如,像手机屏幕,液晶电视,电子钟还有很多家用的电子产品,主要显示数字、特殊的字符和图形。在这样的一个设计中,液晶显示器是用作输出设备的。
2.1602各管脚功能
一般来说,1602字符液晶显示器是一种14引脚或16引脚的液晶显示器。本文选用16针引脚液晶显示器。另外两条线是背光电源线VCC和地线GND,控制原理与14引脚LCD相同。
(四)温度采集电路与单片机的连接
STM32F103C8T6的PB15管脚与DS18B20的I/O管脚相连,作为这种数据读入和写出。电阻的R11是一个在DS18B20的I/O口的上拉的一个电阻,在读时隙结束时,I/O脚依靠R4上拉电阻拉回高电平。
如果想用DS18B20来操作温度之间的相互转换,那么I/O线就必须证明自己在温度的相互转换之间供给一个够用的能量,因为DS18B20在温度互换之间所工作的电流是必须得达到1毫安的,电路则是用的5V的电源,根据公式I=U/R=5/4700=1.06mA,根据这个原理,选用小一点的电阻,只要保证DS18B20的工作电流就可以了,但是为了让信号稳定下来,通常在电路设计方面就加一个拉电阻。
四、软件设计
系统的单片机代码使用的C语言编写,以Keil uVision5软件为开发环境。这样的话这个系统的软件就会实现应该有的功能:
(1)通过LCD来显示出这个温度的数值;
(2)利用对温度的数值和报警的设置数值的了解,把两者对比了一下,如果超过温度上下限,这个警报器就会响。
(一)液晶显示流程
液晶显示采用了LCD1602液晶,这是种常用的液晶,驱动起来方便,使用简单,首先液晶初始化,然后送入要在哪一个地址显示的地址数据,再送入要显示的数据即可,但是要注意的是,1602液晶是字符屏,送入的显示的数据必须是字符。
五、系统调试
(一)系统硬件调试
本设计基于电路图理论,根据电路图制作硬件电路。硬件电路的调试主要包括以下几个方面:检查是否有漏焊、误焊、短路、断路等,启动后检查电路是否能正常工作。
程序下载成功后,给板子通电之后发现温度在自己设置的阈值之外,但是蜂鸣器没有报警,检查后发现蜂鸣器焊点没有焊接好,经过处理后蜂鸣器正常工作。
(二)系统软件调试
本设计是基于单片机控制,利用单片机的主程序完成对温度的采集,使用的是STM32系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。本次设计以Keil μVision 5软件进行编写。
Keil μVision 5使用的基本方法,需要建立一个新的项目,选择单片机类型,可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。在编译程序之后,生成.HEX文件。程序写入控制芯片STM32F103C8T6后,接通电源,电源指示灯亮,系统启动。当显示器出现温度时,说明系统开始工作。
六、结论
在硬件调试方面,由于采用的STM32单片机内部自带很多工作元件。外围元件不是很多,所以调试不太难。对各电子元件也无特别要求。在软件调试时,发现一些程序只有满足条件才被执行,所以令单步调试难度加大,这时选用程序调试汇总的断点设置,使调试能完整进行。
参考文献
[1]徐松亮,许红宁.蓝牙多点PT100温度采集记录报警系统设计[J].信息技术与信息化,2021(05):126-128.
[2]詹晓芸,朱娟.基于zigbee智能无线温湿度采集系统设计[J].电子制作,2021(03):25-26+45.
[3]陈适,麦云飞.基于STM32的方向盘手离检测系统设计[J].农业装备与车辆工程,2020(12):98-101.