基于STM32的温度测量系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于ST M32的温度测量系统
Tem p e ra tu re M e a su rem e n t S ys tem B a se d o n the S T M 32
曹圆圆
(华北电力大学控制科学与工程学院 河北保定 071003)
[摘要] 介绍一种基于ST M32处理器的温度测量系统设计方案。以ST M32F103RBT6微控制器为核心,采用AD590作温度传感器,测量温度用四位数码管显示,能够同PC 机进行串口通信。具有体积小、精度高、处理能力强等特点。
[关键词] 温度测量;ST M32;AD590
[中图分类号] TP 273 [文献标志码] B
温度是日常生活与工农业生产中的一个重要参数,传统的温度计存在反应速度慢、测量精度不高以及读数麻烦等缺点,随着电子技术的发展,各种基于单片机的温度测量系统先后被提出。温度传感器AD590具有线性度好、性能稳定、灵敏度高、抗干扰能力强等优点;鉴于目前AR M 微处理器在国内的广泛应用和广阔的发展前景,本文采用AD590温度传感器,基于一款AR M 微处理器ST M32F103RBT6作为系统核心,设计了一种温度测量系统。它不仅可以通过四位数码管直观显示00.00~99.99℃,还可以完成同PC 机的通信,并详细介绍了其硬件设计和相关程序编写。
1 系统结构
温度测量系统主要有温度测量、温度显示电路、
RS232串行通讯等模块。主控电路由ST M32F103RBT6
及其外围电路组成,是系统的核心部分,主要完成数据
的传输和处理工作。温度传感器采集的模拟信号,经
过处理器本身内嵌的ADC 进行A /D 转换后得到实时
温度数据,再经处理器相关处理后通过温度显示电路
进行实时显示,同时,处理器还可以实现与PC 机的通
信功能。
ST M32系列处理器是意法半导体ST 公司生产
的一种基于ARMv7架构的32位、支持实时仿真和跟
踪的微控制器。嵌入式处理器不能独立工作,必须给
它提供电源、时钟以及复位电路。这些提供给嵌入式
处理器运行所必须的条件电路与嵌入式处理器共同
构成了这个嵌入式处理器的最小系统。其他如JT AG
调试接口,在芯片实际工作时不是必须的,但本系统是利用JT AG 烧写在板F LASH,因此将其加入最小系统
。系统的整体结构框如图1所示。
图1 系统整体结构框图
2 硬件设计
2.1 ST M 32F 103RBT 6微控制器
ST M32F103RBT6是一款基于CORTEX -M3内
核、高性能、低成本、低功耗的微控制器,在软件和引
脚封装方面同其他ST M32系列处理器是兼容的。
它的时钟频率达到72MHz,能实现高端运算。
内嵌128K B F LASH 程序存储器。丰富的外设,
UART 、SP I 等串行接口以及最大翻转率18MHz 的
GP I O 。更重要的是它拥有最快1
μs 转换速度的双12位精度ADC,此快速采集,高性能的ADC 非常适用于
数据的快速采集和快速处理上,这也是本系统选择它
作为核心控制器的一个重要原因。
如图2所示,ST M 32F103RB T6采用LQ FP64
封装,GP I O 中PA0(ADC_I N 0)引脚接入测温电路
输入的电压模拟信号,PA9和PA10引脚为串口输
入输出,PA1~PA4作为4个数码管的位选信号控
制,PC0~PC7输出信号接到数码管的段选引脚
上。
—
61— 《仪器仪表与分析监测》2010年第1期
图2 ST M32F103RBT6
2.2 温度测量电路
目前,测温器件比较多,如热电偶、热电阻及石英体温度传感器等,该温度测量系统所选用的温度传感器是美国模拟器件公司生产的单片集成两端感温电流源AD590。它的测温范围为-55℃~+150℃,足以满足日常生活和生产的应用要求;电源电压可在4~6V 范围变化,可以承受44V 正向和20V 反向电压,因而器件反接也不会被损坏;同时AD590输出标准化,产生的电流与绝对温度成正比,测量温度每增加1℃,输
出电流增加1
μA,具有非常好的线性输出性能;而且输出为电流,便于长距离传输,因为是高阻抗电流源,对激励电压也不太敏感。
测温电路工作原理如图3所示,基准电压源AD581输出电压为10V ,目的是通过R1、R2为AD590提供稳定电压以保证其输出电流信号稳定。虽然AD590具有较好的线性度,但在其温度测量范围内仍有一定的非线性;AD590在0℃下输出电流为
273.2
μA,用它来测量摄氏温度时需要调零
。图3 温度测量电路
所以为了提高精度,扩大测量范围,在A /D 转
换前将信号加以放大并进行零点迁移是必须的,该系统除采用AD581提供精密的基准电压外,还设计有一个双点微调电路,通过两个电位计R2、R4可以分别完成零度和满度的调整。
AD590的输出通过R3、R4将电流信号转化成电压输出,其电压信号将随AD590变化而变化,即运放第六引脚输出直流电压随温度变化而变化,并成正比。选择合适大小的R1、R3,调零调满时,首先在0℃下调整R2使运放输出V 0=0V,然后在100℃下调整R4,
使V 0=3.3V,如此反复多次,直到当温度范围为0~
100℃时,运放电压输出范围为0~3.3V 。2.3 模数转化器
AD590测温电路输出的电压信号为模拟信号,要进行4位八段数码管显示,首先要将此信号转换成数字信号。在此选用A /D 转换器为片内的AD 转换电路。
ST M32处理器所带的12位ADC 是一种逐次逼近式模拟数字转化器,ADC 转换速率达1MHz 。它有18个通道,可测量16个外部和2个内部信号源。各通道的A /D 转换可以单次、连续、扫描或不连续模式执行,ADC 的结果可以左对齐或右对齐存储在16位数据寄存器中。
ST M32F103RBT6的ADC 的基准电压VREF +在芯片内部与电源信号线连接,系统选用一个高精度的3.3V 外部参照电压,以期解决因VCC 电源电压精
度不高带来的ADC 测量不准确的问题。
2.4 温度显示电路
该测温系统的显示部分由四位八段LE D 数码管组成,方便廉价。电码管的位选由P A1-P A4口输出进行控制,考虑ST M32系列GP I O 的驱动能力,需要使用三极管来推动提供足够大的电流来点亮LED 。四个共阳极LED 的八段段选信号a -g 、dp 分别接到PC0-PC7上。具体硬件连接图如图4所示
。
图4 温度显示电路
2.5 数据接口
通信接口是模块与外界进行交互的通道和桥梁。因此,通信接口的设计是模块不可缺少的重要部分。
考虑到目前主流的几种通信方式,该测温系统设计了RS -232串行通讯接口以保证其同PC 机通信的需要。MAX3232EE AE 为单一正3.3V 供电,可同时完成发送转换和接收转换双重功能的专用芯片。其串口电路连接如图5所示。
—
71—基于ST M32的温度测量系统 曹圆圆