大连民族学院机电信息工程学院
自动化系
检测技术课程设计报告
题 目
基于PT100的热电阻温
度检测系统设计
专 业 测控技术与仪器
班 级 测控092班
学生姓名 韦魏 刘宝琪
指导教师 谢春利
设计完成日期 2012年 6月29日
目 录 1 设计任务 ........................................................................................................................ 1 1.1任务要求 .............................................................................................................. 1 1.2任务内容 .............................................................................................................. 1 2 系统方案设计 ................................................................................................................ 2 2.1总系统方案 .......................................................................................................... 2 2.1.1温度检测与处理 ....................................................................................... 2 2.1.2模数转换 ................................................................................................... 2 2.1.3温度显示 ................................................................................................... 2 2.2系统方案图 .......................................................................................................... 2 3 硬件设计 ........................................................................................................................ 4 3.1温度检测模块的设计 .......................................................................................... 4 3.1.1PT100温度传感器简介 ............................................................................ 4 3.1.2温度检测及信号处理电路 ....................................................................... 4 3.2模数转换 .............................................................................................................. 5 3.2.1 ADC0809简介 ......................................................................................... 5 3.2.2模数转换电路图 ....................................................................................... 6 3.3 LED显示电路的设计 ......................................................................................... 7 3.3.1 LED数码管编码 ...................................................................................... 7 3.3.2 LED数码管显示方式选择 ...................................................................... 8 4 软件设计 ........................................................................................................................ 9 4.1程序设计语言的选用 .......................................................................................... 9 4.2软件程序的
设计 .................................................................................................. 9 4.2.1总体程序流程 ........................................................................................... 9 4.2.2温度信号采集处理 ................................................................................. 10 5 系统调试 ...................................................................................................................... 12 结 论 ............................................................................................................................ 14 参考文献 .......................................................................................................................... 15 附录A系统总电路图 ..................................................................................................... 16 附录B元件清单 ............................................................................................................. 17 附录C系统源程序 ......................................................................................................... 18 基于PT100的热电阻温度检测系统设计 –1– 1 设计任务 1.1任务要求 给定温度传感器热电阻、热敏电阻等和单片机最小系统学习使用单片机最小
系统设计温度测量电路和模拟量输入通道完成相关的软件设计并实现温度测量显示。 1.2任务内容 通过传感器对温度进行检测设计的检测电路将其转换成相应的电压值又通过过程通道A/D模数转换器将传感器的电压值的模拟信号转换为数字信号然后所转换的
数字量接到单片机89C52的P0口最后单片机对接入的数字信号做出反应显示出温
度值。
基于PT100的热电阻温度检测系统设计 –2– 2 系统方案设计 2.1总系统方案 该电阻温度检测系统由三部分组成温度检测与处理模数转换温度显示。
2.1.1温度检测与处理
电阻式温度计是利用物质在温度变化时本身电阻也随着发生变化的特性来测量温
度的。当被测介质中有温度阶梯存在时所测得温度是感温元件所在范围介质中的平均
温度。尽管导体或半导体材料的电阻值对温度的变化都有一定的依赖关系但适用于制
作温度检测元件的并不多。
由电阻温度传感器检测的信号不稳定进入测量电路的除了传感器输出的测量信号
外往往还有各种噪声。而传感器的输出信号一般又很微弱为了将测量信号从含有噪
声的信号中分离出来我采用了仪用放大器AD623进行信号放大及低通滤波将噪声去除。
2.1.2模数转换
A/D转换器的作用就是把模拟量转换成数字量以便于单片机进行处理。电
阻温度
计将测量温度以电信号的形式传递给ADC0809逐次比较型将电压信号转换成单片
机可接收的数字信号。
2.1.3温度显示
这部分模块由四位八段共阳极的数码管组成段选部分直接与单片机相连。 2.2系统方案图 系统方案图如图1.1所示。 基于PT100的热电阻温度检测系统设计 –3– 图2.1 系统方案图
热电阻传感器
模数转换
复位电路
STC89C52
显示电路 基于PT100的热电阻温度检测系统设计 –4– 3 硬件设计 3.1温度检测模块的设计 3.1.1PT100温度传感器简介
① 测量范围-200℃+850℃
② 允许偏差值℃ A级
0.15 0.002t B级 0.30 0.005t
③ 响应时间30s
④ 最小置入深度热电阻的最小置入深度≥200mm
⑤ 允通电流≤5mA。
另外PT100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。
鉑热电阻的线性较好在0100摄氏度之间变化时最大非线性偏差小于0.5摄氏
度。鉑热电阻阻值与温度关系为
① -200℃t0℃时 2 3100 1 * 100RtR At Bt Ct t
② 0℃≤t≤850℃时 2100 1RtR At Bt
式中A=0.00390802B=-0.000000580C=0.0000000000042735。可见PT100在常
温0100摄氏度之间变化时线性度非常好其阻值表达式可近似简化为 100 1RtR At
当温度变化1℃PT100阻值近似变化0.39。
3.1.2温度检测及信号处理电路
热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测
量的。通常将其放在电桥的桥臂上温度变化时热电阻两端的电压信号被送到仪器放
大器AD623的输入端经过仪器放大器放大后的电压输出送给A/D转换芯片从而把
热电阻的阻值转换成数字量。
AD623是一款集成式单电源仪表放大器采用3 V至12 V电源供电时提供轨到轨
输出摆幅。它可以通过单一增益设置电阻进行编程并遵照8引脚工业标准引脚排列配
置赋予用户出众的灵活性。不接外部电阻时AD623采用单位增益配置(G = 1)连接
外部电阻时AD623可通过编程实现最高增益1000。 基于PT100的热电阻温度检测系统设计 –5– AD623具有优异的交流共模抑制比(CMRR)并且随着增益提高而增大因此可确
保误差极小。由于CMRR在最高200 Hz时仍然保持稳定因此线路噪声和线路谐波均
得到抑制。AD623具有宽输入共模范围可以放大共模电压低于地电压150 mV的信号。
虽然AD623设计针对单电源供电进行了优化但采用双电源(±2.5 V至±6.0 V)供电时
AD623
仍能提供出色的性能。
温度检测电路图如3-1所示。 R16100R17100R1810044%RV11k
3
2
64
7
1
5
8U2AD62350%RV21k50%RV31k
图3.1 温度检测电路图
3.2模数转换 3.2.1 ADC0809简介
本次设计模数转换部分用ADC0809。ADC0809是8位逐次逼近型A/D转换器。它
由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组
成见图3。多路开关可选通8个模拟通道允许8 路模拟量分时输入共用A/D 转
换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量当OE 端为高电平时
才可以从三态输出锁存器取走转换完的数据。
ADC0809的内部逻辑结构如图3.2所示。
基于PT100的热电阻温度检测系统设计 –6– 图3.2 ADC0809的内部逻辑结构
ADC0809工作方式1ADC0809 内部带有输出锁存器可以与AT89S51 单片
机直接相连。2初始化时使ST 和OE信号全为低电平。3送要转换的哪一通
道的地址到ABC 端口上。4在ST 端给出一个至少有100ns 宽的正脉冲信号。
5是否转换完毕我们根据EOC 信号来判断。6当EOC变为高电平时这时给
OE 为高电平转换的数据就输出给单片机了。
其引脚结构如图3.3所示
图3.3 AD0809引脚图 3.2.2模数转换电路图
模拟转换原理图3.4所示。
基于PT100的热电阻温度检测系统设计 –7– 2 -1MSB
21
ADD B
24
ADD A
25
ADD C
23
VREF(+)
12
VREF(-)
16
IN3
1
IN4
2
IN5
3
IN6
4
IN7
5
START
6
2 -5
8
EOC
7
OUTPUT ENABLE
9
CLOCK
10
VCC
11
2 -2
20
GND
13
2 -7
14
2 -6
15
2 -8LSB
17
2 -4
18
2 -3
19
IN2
28
IN1
27
IN0
26
ALE
22U1ADC0809
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U3AT89C5150%RV21k 图3.4 模拟转换原理图 3.3 LED显示电路的设计 在单片机应用系统中如果需要显示的内容只有数码和某些字母使用LED数码
管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活与单片机接口简单
易行。
3.3.1 LED数码管编码
LED数码管是由发光二极管作为显示字段的数码型显示器件。图3.5(a)所示为0.5
英尺LED数码管的外形和引脚图其中七只发光二极管分别对应ag笔段构成“ ”
字形另一只发光二极管dp作为
小数点。因此这种LED显示器称为七段数码管或八段数
码管。
图3.5 led数码管
LED数码管按电路中的连接方式可以分为共阴极和共阳极两大类如图3.5b所
示。共阳型是将各段发光二极管的正极连在一起作为公共端COM公共端COM接基于PT100的热电阻温度检测系统设计 –8– 高电平ag、dp各笔段通过限流电阻接控制端。某笔段控制端低电平时该笔段发光
高电平时不发光。控制这几段笔段发光就能显示出某个数码或字符。共阴型是将各数
码发光二极管的负极连在一起作为公共端COM接地某笔段通过限流电阻接高电平
时发光。
3.3.2 LED数码管显示方式选择
LED数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。
本设计选动态显示方式。LED数码管显示电路如图3.6所示。
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27U3AT89C51R1100R2100R8100R3100R6100R4100R7100R5100R91kR101kR111kR121kQ1ZTX753Q2ZTX753Q3ZTX753Q4ZTX753
图3.6 LED数码管显示电路 基于PT100的热电阻温度检测系统设计 –9– 4 软件设计 4.1程序设计语言的选用 本设计采用C51高级语言编写因为其提供了库函数包含许多标准子程序具有较
强的数据处理能力关键字及控制转移方式更接近人的思维方式且 本身并不依赖于
机器硬件系统移植方便。 4.2软件程序的设计 4.2.1总体程序流程
程序主要由主程序和子程序两部分构成。
主程序主要实现系统的初始化 A/D转换显示数据。
系统的初始化包括寄存器的初始化控制寄存器、堆栈、中断寄存器等通信的
初始化串口的初始化ADC0809的初始化通信缓冲区的初始化LED显示的初
始化输出端口的初始化采集、累计数据的初始化。
显示数据包括数据转换主要实现将各类参数、测量数据、计算累计值等转换成
LED显示所需的数据类型和显示屏的刷新
子程序主要由温度信号采集程序组成。
主程序流程图如图4.1所示。 基于PT100的热电阻温度检测系统设计 –10– 图4.1主程序流程图 4.2.2温度信号采集处理
单片机通过写信号使START有效启
动AD转换AD转换结束后ADC0809通
过INT0向CPU发出转换结束信号引起CPU中断可在中断程序中读取AD转换的
结果。分别对8路模拟信号轮流采集一次转换结果依次存放在片外数据RAM中。
AD转换子程序流程图如图4.2所示。
调用AD0809函数
开始
调用显示函数
初始化 基于PT100的热电阻温度检测系统设计 –11–
图4.2 AD转换子程序流程图
由ADC00809进行标度变换后信号送给单片机显示显示部分由一个四位数码管
单片机及其最小系统构成。四位数码管的显示原理都相同因此列出其中一个的程序流
程图即可
显示程序流程图如图4.3所示。
图4.3 显示程序流程图
读取数据
子程序入口
启动ADC0809
P1口数据送入adat变量
标度变换
数据处理
子程序入口
显示
模除数据 基于PT100的热电阻温度检测系统设计 –12– 5 系统调试 整个温度检测系统由测控电路、放大电路数模转换电路以及显示部分构成其中
显示部分用的是单片机学习板所以电路的设计主要是测控、信号放大、数模转换的部
分。
1.测控电路
为了消除线电阻采用的是两线制接法的桥式电路。根据桥式电路原理电路中的
电阻应采用热电阻传感器在0℃时的阻值为100Ω。为了能达到测试的目的所以在
桥式电路中应该接入传感器的位置放入一个100Ω的可调电阻并使之与两个100Ω
的色环电阻串联。这样可调的阻值范围可以从50Ω到150Ω这个范围大于传感器在
0℃到100℃的阻值进而达到在调试过程中模拟传感器变化的目的。
2.放大电路
由桥式电路的两个桥臂分别接入AD623仪用放大器的两个输入引脚2和3,1脚和8
脚接入可调电阻为了调节放大倍数。7脚与VCC相连4脚接GND引脚5接入参
考电压。接法是用一个可调电阻电阻的中间管脚与引脚5相连电阻的两端分别接
VCC和GND。为了保护芯片所以进入芯片的电流应该越小越好换言之可调电阻
的阻值越大越好。我们使用的是一个10K可调电阻使用的参考电压为3V接入的阻
值为2.5KΩ那么电流的大小是2mA不会烧坏芯片。
3.AD通道
23、24、25脚接地给低电平信号。信号由IN0输入。经数模转换信号从D0~D7
送入单片机P1.0~P1.7。
4.调试
把测控电路和放大电路连接起来组合调试。把测控电路的可调电阻调整为100Ω
那么两桥臂的阻值相等输出的电压都是2.5V,压差为0那么AD623的输出也为0。
调节测控部分的可调电阻、AD623的两个可调电阻仪用放大器的输出都会呈线性变化
如果出现这样的现象那么说明
电路是正确的。在实际的焊接过程中并没有这么顺利。
桥式电路的输出电压是正确的可是电路连入放大部分的时候不管怎样调节电阻输基于PT100的热电阻温度检测系统设计 –13– 出都是呈饱和状态不管接入参考电压与否。这个问题到最后也没查出原因只好把这
两部分电路重新焊接了一遍。焊接后的电路现象正确。、
把AD623的输出电压接到ADC0809并接入显示电路设计一个显示程序把
AD623输出的电压显示到数码管上。显示的结果是正确的但如果调节焊接电路的可调
电阻数码管的显示不会更新检查电路后发现其中一个管脚焊接断开了把断开部
分用焊锡接上以后电路的调试通过换上铂热电阻。
与温度传感器连接通电后可以实现测量温度的基本功能通过led显示读出温度
值但是由于理论与实际并不能完全对应测出的温度值有很大误差经过调试分析
将放大倍数等稍作修改可以控制其偏差在2度以内并不影响正常的指标分析可以
说精度还算高。
最后调试完毕后的硬件显示温度图如图5.1所示。
图5.1 温度显示电路图
基于PT100的热电阻温度检测系统设计 –14– 结 论 本课题以STC89C52单片机系统为核心对单点的温度进行实时检测。采用模拟温
度传感器PT100对温度进行检测采用模数转换器ADC0809进行A/D转换把温度信号
调解转换为电压信号与STC89C52单片机接口设置LED八段数码管实时显示温度值。
本设计包括温度传感器、A/D转换模块、数据传输模块、温度显示模块四个部分。在设
计过程中遇到了许多问题如设计初始阶段目的不明思绪混乱经过认真思考和老
师的指导才使自己思路明确抓住重点不懂就问在很短的时间内系统有序的完成。
大学三年多的时间都是在学习测控与仪器方面的专业知识并未真正的应用和实
习。虽然在上个学期有单片机课程设计练习积累了一定的知识并融合到具体的实物
当中。但是经过这次检测技术课程设计我接触到了更多平时没有接触到的仪器设备、
元器件以及相关的使用调试经验发现了自己很多不足之处。我还体会到了所学理论知
识的重要性知识掌握得越多设计的就更全面、更顺利、更好。
了解进行一项相对比较大型的设计所必不可少的几个阶段。课程设计能够从理论设
计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结
合等方面全面的培养学生的全面素质。我经过这次系统的课程设计熟悉了对一项课题
进行研究、设计
和实验的详细过程。这些在我将来的工作和学习当中都会用很大的帮助。
学回来怎样查阅资料和利用工具书。平时课堂上所学的知识大多比较陈旧作为测
控技术专业的学生由于专业特点自己要更积极查阅当前最新电子信息资料。一个人不
可能什么都学过什么都强因此当你在设计过程中需要用一些不曾学过的东西时
就要去有针对性的查找资料然后加以吸收利用以提高自己的应用能力而且还能增
长自己见识补充最新的专业知识。
与队友的合作更是一件快乐的事情只有彼此都付出彼此都努力维护才能将作品
做的更加完美。而团队合作也是当今社会最提倡的。
虽然课程设计结束了也留下了很多遗憾因为由于时间的紧缺和许多课业的繁忙
并没有做到最好但是最起码我们没有放弃它是我们的骄傲相信以后我们会以更
加积极地态度对待我们的学习、对待我们的生活。
基于PT100的热电阻温度检测系统设计 –15– 参考文献 [1] 胡汉才. 单片机原理及其接口技术[M]. 北京清华大学出版社1996274-279
[2] 沙占友王彦朋孟志永. 单片机外围电路设计[M]. 电子工业出版社2003135-137
222-226
[3] 童诗白华成英. 模拟电子技术基础[M]. 北京北京高等教育出社2001312-330387-391
408-411446-451
[4] 黄继昌张海贵郭继忠. 实用单元电路及其应用[M]. 人民邮电出社2002
[5] 谢宜仁. 单片机实用技术问答[M].人民邮电出版社2003
[6] 张福学. 传感器应用及其电路精选[M]北京北京电子工业出版社1991
[7] 余载泉李玉和. PROTEL实战演练[J]. 20007-115-08613-3
[8] 何立民. 单片机应用系统设计[M]. 北京北京航空航天大学出版社1994
[9 ] 何立民. 单片机高级教材[M]. 北京航空航天大学出版社2000
[10] 康光华. 电子技术基础模拟部分[M]. 北京高等教育出版社2000
[11] 胡宴如. 电子技术基础模拟部分[M]. 北京中国电力出版社2001
[12] 马净李晓光宁伟. 常用温度传感器的原理及发展[J].中国仪器仪表200424(6):1-2
[13] 王红萍. 铂电阻温度传感器测温研究[J]. 抚顺石油学院学报200323(2):17-19
[14] Leoj.scanlon:“Assembly Language programming with the IBM PC AT”Brady Communica Yion
Company.Inc,1986:39-57.
[15] Donna N.Tabler:“IBM PC Assembly language” John Wiley&Sons.Inc, 1985:86-98.
[16] https://www.doczj.com/doc/2b4507790.html,/
基于PT100的热电阻温度检测系统设计 –16– 附录A系统总电路图 2 -1MSB
21
ADD B
24
ADD A
25
ADD C
23
VREF(+)
12
VREF(-)
16
IN3
1
IN4
2
IN5
3
IN6
4
IN7
5
START
6
2 -5
8
EOC
7
OUTPUT ENABLE
9
CLOCK
10
VCC
11
2 -2
20
GND
13
2 -7
14
2 -6
15
2 -8LSB
17
2 -4
18
2 -3
19
IN2
28
IN1
27
IN0
26
ALE
22U1ADC0809XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27U3AT89C51R16
100R17100R1810044%RV11kR1100R2100R8100R3100R6100R4100R7100R5100R91kR101kR111kR121kQ1ZTX753Q2ZTX753Q3ZTX753Q4ZTX7533
2
64
7
1
5
8U2AD623
50%RV21k50%RV31k 基于PT100的热电阻温度检测系统设计 –17– 附录B元件清单 元件清单表
元件清单
序号 名称 封装 型号 数量
1 芯片(仪用放大器) DIP8 AD623 1
2 芯片插座 DIP8 1
3 色环电阻 100Ω 5
4 可调电阻 100Ω 1
5 可调电阻 10kΩ 2
6 芯片AD转换 DIP28 ADC0809 1
7 芯片插座 DIP28 1
8 排针 PIN40 1
9 排母 PIN40 1
10 杜邦线 PIN40 1
基于PT100的热电阻温度检测系统设计 –18– 附录C系统源程序 #include
#define uchar unsigned char
#define uint unsigned int
sbit st=P3^4;
sbit oe=P3^6;
sbit eoc=P3^5;
sbit CLK=P3^3;
//sbit dian=P0^7;
uchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值
0123456789
void display(int dat);//显示程序
void delaynms(uint x);//nms延时程序
int ad0809();
void int_adc(); //以上几个语句都是在定义函数
void delaynms(uint x)
{
uchar i;
while(x-->0)
{
for(i=0;i<125;i++)
{;}}}
void display(int dat)
{
P0=tab[dat/1000]; //P0模除1000
P2=0x00; //送1位显示
delaynms(2); //延时
P0=tab[dat/100%10];//模除1000后模除100
P2=0x01; //送给2位显示 基于PT100的热电阻温度检测系统设计 –19– delaynms(2); //延时
P0=tab[dat/10%10];//模除100后模除10
P2=0x02; //送给3位显示
delaynms(2); //延时
P0=tab[dat%10]; //模除10后除10要余数
P2=0x03; //送第4位显示
delaynms(2); //延时
}
int ad0809()
{
int adat;
oe=0;//以下三条指令为起动AD0809
st=0;
st=1;
st=0;
//delaynms(1);
while(!eoc);//等待转换结束
oe=1;//取出读得的数据
adat=P1;//送相关通道数组
adat=adat*19.531 ;
adat=(adat-3000)/1000.0*39; //这是一个算
法得出的结果即为当时的温度值
oe=0; //关闭oe等待下一轮读数
return (adat); //返回循环
基于PT100的热电阻温度检测系统设计 –20– }
void int_adc() //ADC0809芯片的初始化
{
TMOD=0X02;
TH0=0Xd0;
TL0=0Xd0;
IE=0X82;
TR0=1;
}
void main()
{
int aa;
int_adc();
while(1)
{
aa=ad0809();//调AD0809 启动子程序
display(aa);//调显示
}
}
void Timer0_INT() interrupt 1 //ADC0809芯片时钟信号
{
CLK=!CLK;
}