基于STM32的PT100温度测量

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STM32的PT100温度测量

目录

一、前言 (1)

二、系统描述 (1)

2.1 综述 (1)

2.2 系统框图 (1)

2.3 功能实现 (1)

三、硬件设计 (2)

3.1 STM32 微控制器 (2)

3.2 PT100温度传感器电路 (3)

3.3 1602液晶屏 (4)

四、软件设计 (4)

4.1 ADC程序 (4)

4.2 1602LCD显示程序 (5)

4.3 主程序 (5)

五、性能测试 (5)

六、课程设计心得 (6)

参考文献 (6)

附录1:系统实物图 (7)

附录2:系统主要程序 (7)

一、前言

Cortex-M3 是 ARM 公司为要求高性(1.25DhrystoneMIPS/MHz)、低成本、低功耗的嵌入式应用专门设计的内核。STM32 系列产品得益于 Cortex-M3 在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的 Thumb-2 指令集和大幅度提高中断响应的紧耦合嵌套向量中断控制器,所有新功能都同时具有业界最优的功耗水平。

本系统是基于 Cortex-M3 内核的 STM32 微控制器与PT100温度传感器的温度测量,在硬件方面主要有最小系统板、1602LCD 液晶屏以及PT100温度传感电路,在软件方面主要有 1602LCD 液晶屏的驱动,ADC 功能的驱动,及滤波算法设计。

整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。

二、系统描述

2.1综述

本系统是基于 STM32微控制器所设计的多功能画板,该画板具有基本的绘画功能及画布颜色的选择,触摸屏校正等功能。整个系统模块分为三个模块:ALIENTEK MiniSTM32开发板、液晶显示。MiniSTM32开发板是ALIENTEK 开发的是一款迷你型的开发板,小巧而不小气,简约而不简单。上面有芯片工作需要的资源,时钟控制电路、复位电路、JTAG 控制口以及与外围电路相连的接口。液晶屏采用的是1602LCD 液晶屏。 2.2 系统框图

图2-1系统电路总体设计框图

本设计采用 STM32F103RBT6 作为微控制器,其外围硬件模块主要包括电源模块﹑微处理器模块﹑按键及JAIG 等。电源采用 USB 供电,在设计过程中用 PC 供电。其系统框图如图2-1所示。 2.3 功能实现

PI100温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,温度变化导致它的电阻变化,在电路中它的电阻变化会导致电压变化,STM32 微控制器的ADC 将电压换成数字信号,通过处理运算以及PT100温度与电阻的函数关系,得到一个温度值,并将温度值输入1602液晶屏显示。

PT100 温度传感器 STM32 微控制器 1602LCD 液晶屏

三、硬件设计

3.1 STM32 微控制器

STM32 微控制器最小系统包括晶振电路,电源模块,JTAG接口模块,串口ISP下载模块,系统复位模块。本次课程设计采用的是ALIENTEK MiniSTM32开发板。

STM32F103RBT6 管脚图

STM32 微控制器的部分工作电路图

3.2 PT100温度传感器电路

铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温范围的温度测量中。

PT100 是一种广泛应用的测温元件,在-50 ~600 ℃范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将PT电阻的电阻值和温度对应起来后存入 EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。

常用的PT电阻接法有三线制和两线制,其中三线制接法的优点是将PT100 的两侧相等的的导线长度分别加在两侧的桥臂上,使得导线电阻得以消除。常用的采样电路有两种:一为桥式测温电路,一为恒流源式测温电路。本设计采用的是三线制桥式测温电路,电路如图所示

测温原理:电路采用TL31和电位器VR1调节产生4.096V的参考电源;采用R1、R2、VR2、RPT构成测量电桥(其中R1=R2,VR2为100Ω精密电阻),当RPT的电阻值和VR2的电阻值不相等时,电桥输出一个mV级的压差信号,这个压差信号经过运放 LM3放大后输出期望大小的电压信号,该信号可直接连AD转换芯片。差动放大电路中 R3=R4、 R5=R6、放大倍数=R5/R3,运放采用单一 5V 供电。

设计及调试注意点:

1. 同幅度调整R1和R2的电阻值可以改变电桥输出的压差大小;

2. 改变R5/R3的比值即可改变电压信号的放大倍数,以便满足设计者对温度范围的要求

4. VR2为电位器,调节电位器阻值大小可以改变温度的零点设定,测量电位器的阻值时须在没有接入电路时调节,这是因为接入电路后测量的电阻值发生了改变。

5. 理论上,运放输出的电压为输入压差信号×放大倍数,但实际在电路工作时测量输出电压与输入压差信号并非这样的关系,压差信号比理论值小很多,实际输出信号为

V O =4.096*(RPT /(R1+RPT)- VR2 /(R1+VR2 ))

式中电阻值以电路工作时量取的为准。4.096为基于源电压。

6. 电桥的正电源必须接稳定的参考基准,因为如果直接VCC的话,当网压波动造成VCC发生波动时,运放输出的信号也会发生改变,此时再到以VCC未发生波动时建立的温度-电阻表中去查表求值时就不正确了,这可以根据式进行计算得知。

3.3 1602LCD液晶屏

1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD。

引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表所示:

编号符号引脚说明编号符号引脚说明

1 VSS 电源地9 D

2 数据

2 VDD 电源正极10 D

3 数据

3 V0 对比调整电压11 D

4 数据

4 RS 数据/命令选择12 D

5 数据

5 R/W 读/写选择13 D

6 数据

6 E 使能信号14 D

7 数据

7 D0 数据15 BLA 背光源正极

8 D1 数据16 BLK 背光源负极

1602与STM32连接说明:

四、软件设计

4.1 ADC程序

STM32F103RBT6内部有3个ADC,实际上我们只需要软件设置就可以正常工作,不过我们需要在外部连接其端口到被测电压上面。本系统通过 ADC1的通道0(PA0)来读取外部电压值。测量电压不能超过3.3V。

程序步骤

1)启开启PA口和ADC1时钟,设置PA0为模拟输入。

2)复位 ADC1,同时设置ADC1分频因子。

开启 ADC1 时钟之后,我们要复位ADC1,将ADC1的全部寄存器重设为缺省值之后我们就可以通过 RCC_CFGR 设置ADC1的分频因子。分频因子要确保ADC1 的时钟(ADCCLK)不要超过14Mhz。这个我们设置分频因子位6,时钟为72/6=12MHz。

3)初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息。

设置单次转换模式、触发方式选择、数据对齐方式等都在这一步实现。同时,我们还要设置 ADC1 规则序列的相关信息,我们这里只有一个通道,并且是单次转换的,所以设置规则序列中通道数为 1。

5)使能ADC并校准。

相关文档
最新文档