基于 Pt100 型铂热电阻的温度测量和控制系统
王超, 唐浩, 黄林
(湖南师范大学工学院,湖南长沙,410006)
摘要:为了实现基于 Pt100 的温度测量和控制。该系统采用两路改进型 Howland 恒流源,分别将标准电阻和 Pt100
型铂热电阻的阻值转换为电压,通过仪用放大器差分放大后再送到 MSP430 单片机,运用最小二乘法拟合技术得到温度
值。同时用 PID 算法控制 PWM 加热功率电阻,从而将温度控制到设定值。该系统具有控制精度高,超调量小,工作稳定,
可靠的特点。
关键词:Pt100;MSP430;PID 算法;串口通信;Howland ;Matlab;最小二乘法;滑窗均值滤波
中图分类号: TH811
文献标识码:A
Temperature Measuring and Controling System
Based on Pt100 Platinum Thermistor
WANG Chao,TANG Hao,HUANG Lin
(Engineering college of Hunan Normal university, Changsha 110043, China)
Abstract: In order to achieve Temperature Measuring and Controling System Based on Pt100 Platinum
Thermistor,The design used two modified Howland constant current source, these two current source converted
the value of standard resistance and heat resistance Pt100 to voltage respectively, after the instrument
amplifier, MSP430 got the amplified single,then , obtained the temperature value with the least squares fitting
technology. At the same time,MSP430 utilized the PID algorithm controling PWM. After that, Controling the
temperature to setted value. The system has the characteristics of high control precision, small overshoot,
stable and reliable
Key Word:Pt100;MSP430;PID algorithm ;serial communication;Howland;Matlab;Least square method;
Sliding window average filtering
0、 引言
A/D;单片机采样以后,把电压值换算成实际的温度值,
温度是表征物体冷热程度的一个物理量,是生产
用以显示。同时,根据设定的温度,单片机输出占空比
生活中非常重要的参数,随着现代电子技术的发展,电
可调的 PWM 波,对功率电阻进行加热,以控制温度。
动设备内部特定部位的温度是判断其是否完好的一项
重要指标。维持特定环境下温度稳定更是显得尤为关
键。铂热电阻的物理,化学性能稳定,复现性好,广泛
用于-200—850℃范围内的温度测量。本文正是利用铂
热电阻,结合调理电路,以及一些数学算法。实现了特
定环境下温度测量,并且能够在封闭环境下控制温度至
设定值。
1、设计思路描述
本题基于 MSP430G2553 单片机设计,采用 Pt100 温
度传感器,实现对 0~100℃ 温度的测量,同时通过软件
编程,对大功率电阻进行加热,实现温度控制。
图 1 为系统原理框图。该设计分为测温和控温两部
分。测温部分,通过恒流源,将 Pt100 的电阻值转换为
电压值,经过与标准电阻的电压值比较,用仪用运放将
电压差值进行放大,得到可以采样识别的电压值送给
图 1 系统原理框图
系统所用到的主要元器件包括:普通运放 OPA132,
仪用放大 INA128,液晶屏幕 12864,场效应管 IRF540,
功率电阻,CH452 键盘控制芯片等。硬件电路比较简单,
成本较低,测温范围大,测量精度高,控制精准,读数
显示直观,使用方便。
经过反复调试,改进,可以实现对 Pt100 所处环境
整数为 26 倍。由 INA128 的放大特性可知,放大增益
Au=1+50K/Rg=26,可得,Rg=2K。Pt100 的精度为
0.039Ω/0.1℃,换算成电压值是 0.1278mv/0.1℃,经放
大后约为 3.3mV/0.1℃,理论上可以实现 0.1℃的精度。
温度的测试,并显示,精度可以达到 0.1°C。同时可以
通过键盘对温度进行设置,并配有时钟和温度报警设
备。
在进行数据处理方面,采用串口 RS232 通信将电压
值、温度值直接传送至上位机,并根据需要用 Matlab
进行相应的数据分析和处理。
在程序控制方面,为了达到更稳定,更精准的显示
和控制,我们采用了丰富的算法,包括滑窗均值滤波,
PID 模糊控制算法等。图 2 为程序控制流程图。
图 3 恒流源和信号放大部分电路
2.3 传感器部分
本设计所用的 Pt100 温度传感器是一种铂丝热电阻
传感器,可以工作在 -200℃ 至 850℃ 的范围,具有
抗振动、稳定性好、准确度高、耐高压等优点。
2.4 A/D 转换部分
A/D 转换的作用是把代表一定电压的模拟量转换成
代表一定温度的数字量。采用 MSP430G2553 单片机集成
的 A/D,该 A/D 是 10 位 A/D,其满量程值是 03FFH 代表
图 2 程序控制流程图
2、 硬件电路
2.1 电源部分
本系统带有 4 路电源:+5.0V,-5.0V,+3.3V,+15V,
100℃,则 1LSB 代表 0.1℃,满足了温度分辨率为 0.1℃
其中+3.3V 用做恒压源,和芯片供电。+5.0V 和-5.0V 用
的要求。A/D 基准采用外部电压并且与产生恒流源电压
来给运放供电。+15V 用来给大功率电阻加热。
为同一个电压,那么仪放 INA128 输出电压为:
2.2 恒流源和信号放大部分
Vout=[Vref/R11*RPt100-Vref/R5*100]*Au。
(1)
如图 3,Pt100 所用的恒流源是通过基准电压+精密
AD 采样电压为:
电阻+运放这种方式获得的。恒流源采用改进型的
Vad=Vout/Vref*(2^10-1)=[1/R11*RPt100-1/R5*100]*
Howland 电路,具有所需电压基准和输出负载都接地的
Au*(2^10-1)。
(2)
特点,要求 R7=R9,R8=R10。
式中:Vout 为仪用放大器的输出电压;Vref 为参考恒
恒流电流=3.3V/R11=3.3V/1k=3.3mA。为了消除非
压源;RPt100 温敏电阻实际阻值;Au 为仪用放大器的
线性误差,采用两路恒流源。为了使 A/D 能采集到微弱
增益。
的电压信号,采用仪表放大器对信号放大滤波后得到一
这样的处理方式消除了基准电压波动产生的采样
个相对稳定的放大电压模拟量
放大倍数分析和计算:
误差。
2.5 键盘电路
为了实现测温范围 0~100℃,也即 Pt100 的电阻变
本单元实现对温度的设定,在设计键盘接口电路
化范围为 100.00~138.51 欧姆的变化,选用参考电阻 R6
时,为了节省单片机的 IO 口资源,采用了键盘扫描控
为 100 欧,之所以引入参考电阻求电压差值,而不是直
制芯片 CH452,它能实现对键盘的自动扫描和去抖。
接把电流加在 Pt100 上,测其上的电压值,是为了把采
2.6 显示电路
样的起始电压降到 0V,在采样范围一定的情况下,提高
采用 LCD12864 液晶显示温度值,3 色 LED 灯指示升
温度的测量范围、精度。
温中、温度达到 40℃和温度达到 60℃三种状态。
Pt100 的电阻变化范围在 0~100℃变化时为
2.7 执行单元
100.00~138.51Ω之间,也就是说仪用放大器的差分输入
电压最大为(138.51-100.00)*3.3mA=127.083mV。AD
单片机输出的控制信号为占空比可变的 PWM 波,该
信号控制场效应管 IRF540 的导通时间,进而控制大功
的基准电压为 3.3V,由 3.3V/127.083mV=25.96 倍,取
率电阻的功率,对环境温度进行温度控制。
4
7
6
3
2
U
1
O
P
A
1
3
2
R
8
1
0
0
k
R
9
1
0
0
k
R
1
0
1
0
0
k
R
7
1
0
0
k
R
2
1
0
0
k
R
1
1
0
0
k
R
4
1
0
0
k
4
7
6
3
2
U
3
O
P
A
1
3
2
4
7
6
3
2
U
4
O
P
A
1
3
2
4
7
6
3
2
U
2
O
P
A
1
3
2
R
3
1
0
0
k
R
5
1
k
R
1
1
1
k
4
7
6
3
2
R
g
1
R
g
8
U
1
9
I
N
A
1
2
8
R
g
2
k
C
1
3
0
.
1
u
f
R
1
2
P
t
1
0
0
R
6
1
0
0
G
N
D
G
N
D
G
N
D
G
N
D
R
1
4
1
5
.
9
2
k
C
1
6
1
u
f
G
N
D
G
N
D
+
5
V
+
5
V
+
5
V
+
5
V
+
5
V
-
5
V
-
5
V
-
5
V
-
5
V
-
5
V
3
.
3
V
3
.
3
V
P
1
.
0
V
o
u
t
V
1
V
2
V
4
I
1
V
3
2.8 通信接口
3.3 PID 算法
本系统设置了一个串行口,可与 PC 机通信。这样
便于系统扩展,还可以充分利用 PC 机实现复杂数据的
分析和处理。
3、 算法数学描述
3.1 最小二乘法之曲线拟合
根据测温范围 0~100℃和 Pt100 的分度表,通过
PID 算法的增量表达式为:
( )
u k
[ ( )
K e k
(
e k
1)]
P
I
K e k K e k
[ ( ) 2 (
e k
( )
D
1)
(
e k
2)]
(5)
变形为:
(
( )
u k
K
P
) ( )
K K e k
D
I
(
K
P
2
) (
K e k
D
1)
2)
D
(
K e k
(6)
Matlab 拟合出 Pt100 在 0~100℃时温度与电阻的关系表
式中:k 表示第 k 次采样,s(k)为设定温度,y(k)
达式,拟合曲线如图 4。可得温度与电阻关系式为
为实际温度,u(k)为温度控制量,误差为 e(k)=y
R=-0.0001*t^2+0.3908*t+99.9980。
(3)
(k)-s(k)。图 6 为 PID 算法的流程图,图 7 为 matlab
式中:R 为 Pt100 的实际电阻;t 为实际温度。
仿真的 PID 算法效果图。
R/Ω
140
135
130
125
120
115
110
105
100
0
Pt100阻 值 与 温 度 关 系 拟 合 曲 线
R=-0.0001*t2+0.3908*t+99.9980
10
20
30
40
50
60
70
80
90
t/℃
100
图 4 Pt00 阻值与温度关系拟合曲线
3.2 滑窗均值滤波法
滑窗均值滤波法相当于有一个固定长度 L 的滑动窗
口,沿离散时间序列滑动。每滑动一个采样间隔,窗口前
面进入一个新的数据,窗口后面去掉一个旧的数据,这
样窗口中始终有 L 个“最新”的数据。然后,每次在滑
动后把窗口中的 L 个数据进行算术平均,就可得到一组
经过滑动均值滤波的新序列,其表达式为:
[ ]
y n
1
L
1
L
k
0
xn k
]
[
(4)
式中:L为滑动窗口的宽度。
滑动均值滤波相当于一个低通滤波器,衰减了较高
频率的信号,对数据起到平滑的作用。图5为滑窗均值滤
波效果图对比。该程序实现对采集的40个数据进行数字
滤波,采用快速排序算法。舍弃前十个和后十个,对剩
下的20个数求平均
Voltage/v
200
150
100
50
0
Voltage/v
200
150
100
50
0
滑 窗 均 值 滤 波 处 理 前
50
100
150
200
Time/ms
250
滑 窗 均 值 滤 波 处 理 后
50
100
150
200
Time/ms
250
图5 滑窗均值滤波效果图对比
图 6 PID 算法的流程图
Temperature/℃
39
PID算 法 效 果 图
38
37
36
35
34
33
32
0
100
200
300
400
500
Time/ms
600
图 7 为 matlab 仿真的 PID 算法效果图。
4、 测试方法描述:
采用先分别调试各单元模块,调通后再进行整体调
试的方法,以提高调试效率。各单元模块的调试如下:
4.1 恒流源模块
由图二及其计算可知,理论上 R5 和 R11 电阻上的
电压会恒定不变,为 3.3mV,而在实际测量中,总存在
误差,因此尽量使恒流源部分的四个电阻的阻值相等。
4.2 放大部分
由图二及其计算可知,放大倍数为 26 倍,用不同
的标准电阻代替 Pt100 进行测量,放大倍数约等于 26
倍。
4.3 执行模块
给场效应管 IRF540 高电平,测量大功率电阻两端
的电压接近所加电压;给低电平时,电阻两端电压为 0,
表示执行模块工作正常。
各模块调通后,进行全系统调试,其过程如下,将
FLUKE-17B 型万用表上的热电偶与 Pt100 一起捆绑在大
功率电阻的外壁上,选定不同的温度点,记录下万用表
育出版社,1999.
显示的温度和 Pt100 测试的温度进行比较,然后通过键
[3] 王煜东,传感器应用电路 400 例,北京:中国电力出版社,2008
盘设置一温度值,用一组 PID 控制参数 Kp、Ki 来控制
[4] 张超,MSP430x2xxfamily User_Guaid,哈尔滨:DC 微控制器
系统运行,记录下实测的温度值,如此反复实验,求出
技术论坛版主,2007.6.
一组最佳的 Kp、Ki 参数用来支持系统工作。
[5] 陈怀深,MATLAB 及在电子信息课程中的应用.3 版,北京:电
子工业出版社,2006.3.
5、 测试数据:
[6] 刘金琨,先进 PID 控制 MATLAB 仿真.3 版,北京:电子工业出版
表 1 温度与电压关系
社,2011.3.
温度℃
电压 V
30
955
40
50
60
70
80
[7] 胡寿松,自动控制原理.5 版,北京:科学出版社,2007.6.
1230
1494
1752
2035
2292
表 2 设定温度与实际温度比较
作者简介:
设定值℃ 30
40
50
60
70
80
第一作者 王超(1990-05-20),湖南师范大学工学院 09
实测值℃ 30.1
40.1
50.2
60.2
70.2
80.3
温差%
0.3
0.3
0.4
0.3
0.3
0.4
级本科生,学士学位,主要研究嵌入式系统开发应用。
6、 数据分析与结论:
表 1 数据经 matlab 处理可以看出温度和电压值近
似成线性关系,曲线关系如图 8 所示。由表 2 可以看出
测量误差≤0.3℃。
测试结论:测温范围:0~100℃;环境变化时误差
≤0.3℃;液晶显示 0.0~100.0℃;温度可测量、可设定;
可用 LED 指示;可实现加热自动计时。
E-mail:wangchao-ebox@163.com
手机:15243682008
联系地址: 湖南师范大学 二里半校区,江边宿舍二舍
116 寝室(410006)。
身份证号码:430421199005208359
Voltage/v
2400
2200
2000
1800
1600
1400
1200
1000
800
30
温 度 和 模 拟 电 压 值 的 关 系
35
40
45
50
55
60
65
70
75
Temperature/℃
80
图8 温度和模拟电压值的关系
7、 结束语
介绍了基于 Pt100 型铂热电阻的温度测量和控制
系统,该系统实现了对外部环境温度的实时测量,并且
能在封闭环境中控制温度至设定值。系统稳定,可靠,
超调量少,具有实用性。
参考文献:
[1] 全国工业过程测量和控制标准化技术委员会.JB/T 8622——
1997 工业铂热电阻技术条件及分度表 [S].北京:机械工业
部仪器仪表综合技术经济研究所,1997.
[2] 康华光,电子技术基础——模拟部分[M].4 版,北京:高等教