APP下载

基于STM32的温度测量系统

2015-08-07

微处理机 2015年1期
关键词:串口电源芯片

钟 科

(中国电子科技集团公司第二十九研究所,成都610036)

·微机应用·

基于STM32的温度测量系统

钟 科

(中国电子科技集团公司第二十九研究所,成都610036)

温度采集系统以STM32F103VET6芯片为核心控制芯片,应用该芯片的定时器功能、串口功能、I2C接口等完成该温度采集系统的数据采集,数据处理、误差控制、数据上报等功能。该芯片具有功耗小,集成度高,稳定可靠等特点,是温度控制系统中一款理想的核心控制芯片。同时系统中采用了TI公司的LM77作为温度传感芯片。该芯片是一款I2C接口的温度传感芯片,该芯片具有精度高,直接数字输出等特点。系统采用RS232接口与上位控制机进行接口,实现了温度数据的上报和上位机对该系统的控制。同时为减小温度采集误差,该系统采用了多项式拟合温度传感器特性曲线的方法来控制测量误差,使测量误差得到了有效改善。

STM32微处理器;温度传感;误差控制

1 引 言

随着远程自动控制、物联网等行业的快速发展,传感网络有了更加广泛的应用需求,对传感网络的精度、智能化程度等也提出了更加严格的要求。而在传感器网络采集的众多指标中,又以温湿度指标应用最为广泛。因此温度采集系统有着宽广的应用背景,开发一款精度高、智能程度强的温度采集系统有着非常重要的现实意义。

2 系统整体框图

系统以STM32F103VET6为处理器,用了4个LM77作为温度采集端实现多点测量。它主要包括上位机、微处理器、温度采集器和串行通信电路等几个部分。可以通过上位机实现对现场数据监测或者对现场环境远程操控。微处理器负责执行上位机发送的命令,完成对现场温度的数据采集,是整个系统的控制中心。系统整体框图如图1所示。

3 系统硬件设计

3.1 温度采集端

LM77是由TI半导体公司推出的一款数字化的I2C接口的温度测量器件,无需任何外部元件,直接将环境温度转换成数字信号。利用I2C这种总线方式,可以将多个温度测量点挂接在一条I2C总线上,从而大大简化了多点测量系统的传感器与微处理器之间的接口。

系统实现4通道的多点温度测量,如图2所示,将4个LM77的I2C接口都挂接在一条I2C[1]总线上就可以了。然后利用外部电路将每片LM77的地址固定,具体操作时,微处理器首先发送一个LM77的地址,然后紧跟一个读温度命令,相应地址的LM77就会将现在的温度回传给微处理器,方便操作,容易实现。

图1 系统整体框图

图2 温度采集模块

3.2 处理器

系统处理器是基于Cortex-M3内核的STM32F103VET6[2-4]。这款芯片是STM32系列增强型微处理器,工作频率可达到72MHz,内置高速存储器(高达512K字节的闪存和64K字节的SRAM),丰富的增强I/O端口和联接到两条AHB总线的外设。该器件还包含3个12位ADC、4个通用16位定时器和2个PWM定时器,还包含标准的通信接口:多达两个I2C接口、3个SPI接口、2个I2S接口、5个USART接口、一个USB接口和一个CAN接口。内置Cortex-M3内嵌跟踪模块(ETM)、串行单线调试(SWD)和JTAG接口,通过选择ETM部件,能实现对指令的跟踪功能,而FLASH Patch技术更是方便了开发人员在调试过程中对代码直接分析、修改等,极大方便了调试过程。

3.3 液晶显示模块介绍

设计选用了液晶显示模块MzLH08。MzLH08模块采用的是高速同步串行口SPI通信,能同时进行数据和指令的同步传输,控制效果良好,同时开发起来也非常容易。其内部文字库资源非常丰富,西文、汉字等多种字体被包含,更加方便用户显示所要表达的内容。通过SPI口给定指定的命令完成对显示环境的配置,其中的主要指令内容包括对背光亮度、文字类型、数据大小等进行相应的设置。液晶硬件连接图如图3所示,其中液晶屏的时钟端CLK、忙信号输入线BY、片选端CS、复位端RST、数据输入端SDA分别连在MCU的P12~PC11口上,并通过5V电压为液晶屏提供电源控制。

3.4 上下位机通讯

外界与系统进行交互的桥梁和通道是通信接口,因此,设计通信接口是系统非常重要的部分。为了保证同上位机通信,该系统设计了串行通讯接口RS-232[5]。

设计选用的是RS-232收发器SP3232EEN。其硬件电路如图4所示。SP3232EEN是RS232收发器对便携式或手持式应用如笔记本或掌上型电脑的一种解决方案。SP3232EEN系列有一个高效的电荷泵,工作电压为3.3V时只需0.1μF电容就可进行操作。

图3 液晶显示模块

图4 串口通信模块

3.5 电源模块设计

电源模块设计是决定单片机系统是否可靠的重要保障,电源系统的合理设计也是系统能否稳定长久有效运行的必要前提。电源设计中不仅要考虑选择合理的输入输出电压额度、负载电流范围、功耗等,保证各个芯片模块的正常有效运行,同时还要考虑到如何尽量避免出现噪声、震荡等干扰因素使得传感器的测量准确性出现偏差。

系统设计中,需要3.3V电源对处理器和温度传感器LM77进行供电,而显示模块需要5V进行供电。综合各方面考虑,选择15V外部电源对系统进行供电。首先考虑电源的效率,通过DCDC,将15V的外部供电变化到5.5V,该变化采用Linear的LTC3633,电路设计如下:

在实际应用中,该模块的输出电压通过电阻来配置。

在第一级电源之后再加入一级LDO稳压电源,将5.5V变成5V。LDO的效率虽然没有DCDC高,但是LDO具有更好的电源噪声性能,能够输出更加纯净的电源电压。

在该级变换中采用MIC5207,这是一款定压输出的LDO,输入大于5V时,输出固定为5V电压。该器件具有输出电压精度高,压降小,低温度系数的特点,电流输出能力为180mA。

4 系统软件设计

按照设计要求,系统软件部分主要完成温度数据的采集和存储、报警、LCD液晶屏显示以及通过串口同上位机通信。程序在Real View MDK的开发环境下进行编写,系统的软件流程图如图7所示[6]。

图5 DCDC电源设计

图7 系统软件流程

4.1 初始化

首先完成STM32的时钟系统初始化,然后初始化GPIO,串口以及LCD液晶屏,系统进入循环状态。每隔1S采集一次温度值,在液晶屏上显示出来,并对比当前温度值与系统设定的报警温度阈值,如果超出阈值范围,发出蜂鸣报警,并且将报警信息也显示在液晶屏上。利用串口通讯,将温度信息和报警信息每隔1S送入到PC机上存储。

4.2 串口通讯

该软件中还包含串口同PC通讯的程序,将测量的温度每隔一秒通过串口输出到上位机(这里指PC机),PC端用超级终端显示。

超级终端是一个程序,可以通过调制解调器、零调制解调器电缆或以太网连接,使用该程序连接到其他计算机、Telnet站点、公告板系统、联机服务和主机。超级终端的原理是将用户输入随时发向串口,但并不显示输入。它显示的是从串口接收到的字符。可以通过超级终端发送命令,然后检查结果。超级终端具有滚动功能,它使用户能够看到已经滚动出屏幕的已接收文本。

采用STM32的固件函数配置串口的参数如下:波特率是115200bps,8位数据长度,无校验位,1位停止位。使用串口线连接板上的COM1口和PC的串口可以实现信息通讯。

5 系统误差分析

在实际应用中,温湿度数据的精确度是衡量一个测量系统是否可靠的重要前提,所以如何尽量降低系统工作时产生的误差是一个重要课题。

连接测量装置与被测量之间的纽带就是传感器。传感器的性能对整个测试系统有直接影响,在保证测量精确度方面起着非常关键的作用。在信号检测过程中,传感器影响系统性能的参数有:线性度、灵敏度、重复性、回程误差、静态误差、量程和环境参数等。

设计中使用智能传感器,是将温湿度采集电路,A/D转换电路,放大电路等集成一体的数字传感器。其内部已经完成封装,所以无法从硬件电路设计方面进行改良。

考虑到温度测量过程中尤其是户外环境下,受环境影响比较大,所以改进措施一方面通过探头尽量减少外部干扰,另一方面,通过软件和算法对系统进行非线性修正。软件矫正相对于硬件矫正减少了复杂的外部硬件电路,通过计算机处理数据的能力,通过编程,实现非线性数据的自动校准。这样降低了系统开发成本,提高了系统数据的准确性。

将采集的数据存储到内存中,然后用微处理器,通过编程算法,对数据进行处理实现线性化补偿。

采用多项式插值的方式,拟合离散点上的函数值,使得该多项式估计数据点之间的函数值逼近传感器的函数值。由于传感器输入输出关系为非线性的,因此该多项式的次数至少需要在三次以上。

采用如下曲线拟合传感器的温度特性:

其中自变量x代表传感器的实际输出数据,y代表计算后的温度输出。在使用前,先用高精度的温度传感器测量一组(x1,y1),(x2,y2)...(xn,yn)。这组数据要覆盖温度传感器实际工作时所覆盖的温度范围。通过这组数值,拟合出多项式中的四个未知量,k1,k2,k3以及y0,则这个多项式的表达式就可以确定下来。

实际工作时,温度传感器输出一个温度采样数据xi,可以根据该多项式得到一个输出温度yi。该温度即为误差纠正后的温度值。

6 结束语

多点温度测量系统尽可能采用数字化模块,以达到模块化、数字化、小型化和简易化的目的,具有抗干扰、精度高、操作简单和实用性强等优点,可以用于生产生活中的各类温度测量。

[1] 唐鹏程,邹九朋.I2C串行总线原理及其在单片机接口中的实现[J].世界电子元器件,2003(6):72-74.

Pengcheng Tang,Jiupeng Zou.The Principle of I2C Bus and Its Realization in SCM[J].Interface Global Electronics China,2003(6):72-74.

[2] Joseeph Y,宋岩.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009.

Joseeeph Y,Yan Song.The definitive guide to the ARM Cortex-M3[M].Beijing:Beihang University Press 2009.

[3] STMicroelectronics corporation.STM32F103-XXdatasheet[EB/OL].2009-06-02 http://www.keil.com/dd/docs/datashts/st/stm32f10xxx.pdf.

[4] 喻金钱,喻斌.STM32F系列ARM Cortex-M3核微控制器开发与应用[M].北京:清华大学出版社,2011.

Jinqian Yu,Bin YU.Development and Application of Micro Processor based on STM32F series ARM Cortex-M3[M].Beijing Tsinghua University Press,2011.

[5] 段吉祥,李志华.一种RS232多点通信系统的实现方法[J].工矿自动化,2007(1):106-108.

Jixiang Duan,Zhihua Li.A Realization Method of multi points communication system based on RS232[J].Industry and Mine Automation 2007(1):106-108.

[6] 马忠梅.单片机的C语言应用程序设计[M].北京:北京航天航空大学出版社,2002.

Zhongmei Ma.C Language Application Program Design of Single Chip Microcomputer[M].Beijing:Beihang University Press 2002.

Tem perature Measuring System Based on STM32

Zhong Ke
(The29th Research Institute of China Electronics Technology Group Corporation,Chengdu 610036,China)

The temperature acquisition system,using STM32 as the core control chip,applies its functions of timer,serial port,I2C interface to realize the functions such as temperature acquisition,data processing error controlling and data reporting,etc.It has the characteristics of low power consumption,high degree of integration and high stability,so it's an ideal choice for the system.At the same time,a type of temperature sensor LM77 from TI is used in this system.It has I2C interface with the characteristic of high-accuracy and direct digital output.The 485 bus interface is used in this system to realize the function of communication and controlling with the host computer,and the method of polynomial curve fitting is used to decrease the error.

STM32 micro processor;Temperature sensor networks;Error controlling

10.3969/j.issn.1002-2279.2015.01.018

TN4

B

1002-2279(2015)01-0063-05

钟科(1982-),男,四川广汉人,工程师,硕士,主研方向:信号处理。

2014-11-10

猜你喜欢

串口电源芯片
芯片会议
关于射频前端芯片研发与管理模式的思考
浅谈AB PLC串口跟RFID传感器的通讯应用
Cool Invention炫酷发明
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
哪一款移动电源充电更多?更快?
多通道采样芯片ADS8556在光伏并网中的应用
阳光电源
串口技术的实物调试和虚拟仿真联合教学模式