MAX6675的温度测控系统报告文档格式.docx
《MAX6675的温度测控系统报告文档格式.docx》由会员分享,可在线阅读,更多相关《MAX6675的温度测控系统报告文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
5使用寿命长,安装方便;
但是,K型热电偶须进行复杂的信号放大、A/D转换、查表线性线、温度补偿及数字化
输出接口等软硬件设。
MAX6675是美国MAXIM公司生产的带有冷端补偿、线性校正、热电偶断线检测的串行K型热电偶模数转换器,,即一个集成了热电偶放大器、冷端补偿、AD转换器及SPI串口的热电偶放大器与数字转换器。
将K型热电偶和MAX6675吉合使用,电路集成度高,简洁很多,减小误差。
因此,本次电路设计选用K型热电偶。
3、系统设计
本设计系统主要包括温度信号采集单元、信号调理单元、单片机数据处理单元、显示单元。
其中温度信号的数据调理单元采用MAX675集成芯片,它包括
信号调节放大器、12位的模拟数字化热电偶转换器、冷端补偿传感和校正、数字控制器、1个SPI兼容接口和1个相关的逻辑控制。
系统的整体结构框图如下图所示:
信号采集单元=>
信号调理单元=>
80C51M片机匸ALED显示单元
测温的模拟电路是把当前K型热电偶传感器的电阻值,转换为容易测量的电压值,经过放大器放大信号后送给A/D转换器把模拟电压转为数字信号,再传给单片机AT89S51,单片机再根据公式换算把测量得的温度传感器的电阻值转换为温度值,并将数据送出到数码管进行显示。
4、硬件介绍
4.1、K型热电偶
4.1.1K型热电偶概况
K型热电偶作为一种温度传感器,K型热电偶通常和显示仪表,记录仪表和电子调节器配套使用。
K型热电偶可以直接测量各种生产中从0C到1300C范围的液体蒸汽和气体介质以及固体的表面温度。
K型热电偶通常由感温元件、安装固定装置和接线盒等主要部件组成。
K型热电偶是目前用量最大的廉金属热电偶,其用量为其他热电偶的总和。
K型热电偶丝直径一般为1.2〜4.0mmK型热电偶具有线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜等优点,能用于氧化性惰性气氛中广泛为用户所采用。
4.1.2热电偶传感器测温原理
热电偶测温由热电偶、连接导线及显示仪表三部分组成。
如果将热电偶的热端加热,使得冷、热两端的温度不同,则在该热电偶回路中就会产生热电势,这种物理现象就称为热电现象(即热电效应)。
在热电偶回路中产生的电势由温差电势和接触电势两部分组成。
接触电势:
它是两种电子密度不同的导体相互接触时产生的一种热电势。
当两种不同的导体A和B相接触时,假设导体A和B的电子密度分别为NA和NB并且N>
NB,则在两导体的接触面上,电子在两个方向的扩散率就不相同,由导体A扩散到导体B的电子数比从B扩散到A的电子数要多。
导体A失去电子而显正电,导体B获得电子而显负电。
因此,在A、B两导体的
接触面上便形成一个由A到B的静电场,这个电场将阻碍扩散运动的继续进行,同时加速电子向相反方向运动,使从B到A的电子数增多,最后达到动态平衡状态。
此时A、B之间也形成一电位差,这个电位差称为接触电势。
此电势只与两种导体的性质相接触点的温度有关,当两种导体的材料一定,接触电势仅与其接点温度有关。
温度越高,导体中的电子就越活跃,由A导体扩散到B导体的电子就越多,接触面处所产生的电动势就越大,即接触电势越大。
4.2、MAX6675
4.2.1MAX6675概况
热电偶作为一种主要的测温元件,具有结构简单、制造容易、使用方便、测温范围宽、测温精度高等特点。
但是将热电偶应用在基于单片机的嵌入式系统领域时,却存在着以下几方面的问题。
1非线性:
热电偶输出热电势与温度之间的关系为非线性关系,因此在应用
时必须进行线性化处理。
2冷补偿:
热电偶输出的热电势为冷端保持为0C时与测量端差值,而在实际应用中冷端的温度是随着环境温度而变化的,故需要进行冷端补偿。
3数字化输出与嵌入式系统接口必然要采用数字化输出及数字化接口,而作为模拟小信号测温元件的热电偶显然无法直接满足这个要求。
因此,若将热电偶应用于嵌入式系统时,须进行复杂的信号放大、AD转换、查表线性化、温度补偿及数字化输出接口等软硬件设计。
如果能将上述的功能集成到一个集成电路芯片中,即采用单芯片来完成信号放大、冷端补偿、线性化及数字化输出功能,则将大大简化热电偶在嵌入式领域的应用设计。
4・2・2MAX6675性能及结构
Maxim公司新近推出的MAX667是一复杂的单片热电偶数字转换器,内部具有信号调节放大器、12位的模拟数字化热电偶转换器、冷端补偿传感和校正、数字控制器、1个SPI兼容接口和1个相关的逻辑控制。
MAX6675^部集成有冷端补偿电路;
带有简单的3位串行SPI接口;
可将温度信号转换成12位数字量,温度分辨率达0.25°
C;
内含热电偶断线检测电路。
冷端补偿的温度范围-20°
C〜80C,它的温度分辨能力为0.25C,可以测量0C〜1023.75C的温度,工作电压为3.0〜5.5V。
MAX6675勺主要特性如下:
1简单的SPI串行口温度值输出;
20C〜+1024C的测温范围;
312位0.25C的分辨率;
4片内冷端补偿;
5高阻抗差动输入;
6热电偶断线检测;
7单一+5V的电源电压;
8低功耗特性;
9工作温度范围-20C〜+85C;
102000V的ESD言号。
该器件采用8引脚SO帖片封装。
引脚排列如图1所示,引脚功能如下表所列。
图1MAX6675引脚排列
MAX6647引脚功能如下表所示:
引脚
名称
功能
1
GND
接地端
2
T-
K型热电偶负极
3
T+
K型热电偶正极
4
VCC
正电源端
5
SCK
串行时钟输入
6
CS
片选端,CS为低时、启动串行接口
7
SO
串行数据输出
8
N.C.
空引脚
4.2.3MAX6675的工作原理与功能
根据热电偶测温原理,热电偶的输出热电势不仅与测量端的温度有关,而且与冷端的温度有关,使用硬件电路进行冷端补偿时,虽能部分改善测量精度,但由于热电偶使用环境的不同及硬件电路本身的局限性,效果并不明显;
而使用软
件补偿,通常是使用微处理机表格法或线性电路等方法来减小热电偶本身非线性带来的测量误差,但同时也增加了程序编制及调试电路的难度。
MAX6675对其内
部元器件参数进行了激光修正,从而对热电偶的非线性进行了内部修正。
同时,MAX6675内部集成的冷端补偿电路、非线性校正电路、断偶检测电路都给K型热
电偶的使用带来了极大方便,其工作原理如图2所示。
■
®
2MftX6675内部结构框图
(1)温度变换
MAX667内部具有将热电偶信号转换为与ADC俞入通道兼容电压的信号调节放大器,T+和T-输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时是热电偶连接导线与干扰源隔离。
热电偶输出的热电势经低噪声放大器A1放
大,再经过A2电压跟随器缓冲后,送至ADC勺输入端。
在将温度电压值转换为相等价的温度值之前,它需要对热电偶的冷端进行补偿,冷端温度即是MAX6675周围温度与0C实际参考值之间的差值。
对于K型热电偶,电压变化率为41山C,电压可由线性公式Vout=(41[1°
C)X(tR-tamB来近似热电偶的特性。
上式中,Vout为热电偶输出电压(mV,tR是测量点温度,tAMB是周围温度。
(2)冷端补偿
热电偶的功能是检测热、冷两端温度的差值,热电偶热节点温度可在0C〜+1023.75C范围变化。
冷端即安装MAX6675勺电路板周围温度,比温度在-20C〜+85C范围内变化。
当冷端温度波动时,MAX66750能精确检测热端的温度变化。
(3)热补偿
在测温应用中,芯片自热将降低MAX6675温度测量精度,误大小依赖于
MAX6675寸装的热传导性、安装技术和通风效果。
为降低芯片自热引起的测量误差,可在布线时使用大面积接地技术提高MAX6675温度测量精度。
(4)噪声补偿
MAX6675的测量精度对电源耦合噪声较敏感。
为降低电源噪声影响,可在MAX6675勺电源引脚附近接入1只0.1iF陶瓷旁路电容。
(5)测量精度的提高
热电偶系统的测量精度可通过以下预防措施来提高:
①尽量采用不能从测量区域散热的大截面导线;
②如必须用小截面导线,则只能应用在测量区域,并且在无温度变化率区域用扩展导线;
③避免受能拉紧导线的机械挤压和振动;
④当热电偶距离较远时,应采用双绞线作热电偶连线;
⑤在温度额定值范围内使用热电偶导线;
⑥避免急剧温度变化;
⑦在严劣环境中,使用合适的保护套以保证热电偶导线;
⑧仅在低温和小变化率区域使用扩展导线;
⑨保持热电偶电阻的事件
记录和连续记录。
(6)SPI串行接口
MAX667采用标准的SPI串行外设总线与MCU接口,且MAX6675只能作为从设备。
MAX6675SO端输出温度数据的格式如图3所示,MAX6675SPI接口时序如图4所示。
MAX667从SPI串行接口输出数据的过程如下:
MCU使CS变低并提供时钟信号给SCK由SO读取测量结果。
CS变低将停止任何转换过程;
CS变高将启动一个新的转换过程。
一个完整串行接口读操作需16个时钟周期,在时钟的
下降沿读16个输出位,第1位和第15位是一伪标志位,并总为0;
第14位到第3位为以MSB到LSB顺序排列的转换温度值;
第2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由MAX6675K现,为开放热电偶检测器操作,T-必须接地,并使能地点尽可能接近GND脚;
第1位为低以提供MAX6675器件身份码,第0位为三态。
fS
空标
1忌逬
12度读
愉人
设备身份
状為|
IS
12
11
LU
9
MSB
LSB
图3MAX6675S0输出数据嗣榕式
nnrmn_nL_rL_nrrjrm~LjrLrirLn
so―—
D15D3D2DIDO
@4MAX6S75SP]接口时序
4.3、89C51单片机
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM只读存储器ROM多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,因而被称为单片机微型计算机,检查简称单片机。
89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能
CMOS位微处理器。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采
用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51旨令集和输
出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。
引脚功能:
3.1电源:
⑴VCC-芯片电源,接+5V/3.3V/2.7V;
⑵VSS-接地端;
3.2时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
3.3控制线:
控制线共有4根
(1)ALE/PROG地址锁存允许/片内EPROM编程脉冲
1ALE功能:
用来锁存P0口送出的低8位地址
2PROG功能:
片内有EPROI的芯片,在EPRO编程期间,此引脚输入编程脉冲。
(2)PSEN外ROM读选通信号,寻址外部程序存储器时选通外部EPROI的读控制端(OE低有效。
(3)RST/VPD:
复位/备用电源。
1RST(Reset)功能:
复位信号输入端。
2VPD功能:
在Vcc掉电情况下,接备用电源。
(4)EA/Vpp:
内外ROM选择/片内EPROI®
程电源。
1EA功能:
内外ROM选择端。
80C51单片机ROM寻址范围为64KB其中4KB在片内,60KB在片外(80C31芯片无内ROM全部在片外)。
当EA保持高电平时,先访问内ROMI但当PC(程序计数器)值超过4KB(0FFFH)时,将自动转向执行外ROM中的程序。
当EA保持低电平时,则只访问外ROM不管芯片内有否内ROM对80C31芯片,片内无ROM因此EA必须接地。
2Vpp功能:
片内有EPROI的芯片,在EPRO编程期间,施加编程电源Vppo
3.4I/O线
80C51共有4个8位并行I/O端口:
P0P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
P3.0――RXD:
串行口输入端;
P3.1――TXD:
串行口输出端;
P3.2—
—INTO
:
外部中断0请求输入端;
P3.3—
—INT1
外部中断1请求输入端;
P3.4—
—TO:
定时/计数器0外部信号输入端;
P3.5—
—T1:
定时/计数器1外部信号输入端;
P3.6—
—WR
外RAM写选通信号输出端;
P3.7—
——RD:
外RAM卖选通信号输出端。
4.4、4位共阳极LED
LED组合
7段LED数码管是利用7个LED(发光二极管)外加一个小数点的
而成的显示设备,可以显示0~9等10个数字和小数点,使用非常广泛
G
sab
口r>
nrnc
12345
9876'
uwulTLj-edcDP
<
b>
(a)管脚排列(b)共阳结构
设计中采用的是7SEG-MPX4-C,如下图示:
1234为位选,ABCDEFGD为段码。
A
X.
卄
X
『—1
y—1
彳*
r
•L
r
/
S
f
A
丿
X
O
\
J
□
1
I
ABCDEFGDP1234
5、硬件电路
5.1、K型热电偶采集信号电路
对于K型热电偶,它的电压变化率为41山C,电压可由线性公式
Vout=(41「C)X(tR-tAMB来近似热电偶的特性。
上式中,Vout为热电偶输出
电压(mV,tR是测量点温度,tAMB是周围温度。
并且V°
ut=(V■-V-)。
5.2、放大电路
放大器的输入信号Vn二VOut二(V+-V)。
根据电路图可以得到方程:
VA+=300V/(300+30)
VA-=VA+
(V—Vo)(R1R4)=(VA-—Vo)R4③
联立方程可得:
Vo=-10(V+-V-)=S-10Vout
5.3、电压跟随器
根据电路图可得:
Vin=-Vout
5.4、A/D转换电路
MAX667内部有自带12位AD转换器,在数字控制器的作用下,A/D转换器将模拟信号转换为数字量输出。
AD量化单位:
q=5V/4096
转换结果:
D=Vin(mV)/q(mV)
6、整体电路设计
乍2EiE诂e^s.£
匚N再sEhl违£
dgE'
口命昱
g一送sr>
養s1es.aLIXZd口舀d替£
"
s^ss茂5窖通5-§
Bs转E営旨dLiB口iT合5
■-
UJm・EUJ豈d
管导Is
#n
□NO
软件包括四个函数:
主函数、
读取AD转换数值函数、显示函数、延时函数。
#include"
reg51.h"
floatwendu;
ucharqian=0,bai=0,shi=0,ge=0,xiao=0;
//初始化LEDuinttemp;
ucharcodetab_1[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//共阳LED段码表
{
uchari;
unsignedlongTemp_2;
Temp_2=0;
CS=1;
SCK=0;
_nop_();
//这个_nop_()等效与汇编里面的NOP指令,即空一个机器周期,
CS=0;
//16位数据读取
//向左移一位
for(i=0;
i<
16;
i++){
Temp_2<
=1;
if(SO==1)
{Temp_2=Temp_2|0x01;
}
else
Temp_2=Temp_2|0x00;
//上升沿脉冲
SCK=1;
Temp_2=Temp_2&
0x7FF8;
//取3-14位
Temp_2=Temp_2*1024/4096;
//变换为温度值
return(Temp_2);
//返回值
voidDisplay_temp()
//温度显示子函数
800摄氏度
uinttemp=wendu;
temp=temp*10;
if(wendu<
=500)
bai=wendu/1000;
wendu=wendu%1000;
shi=wendu/100;
wendu=wendu%100;
ge=wendu/10;
wendu=wendu%10;
xiao=wendu;
//动态扫描显示各位数字,
P3=0x00;
P0=tab_1[bai];
P3=tab_3[0];
for(j=300;
j>
0;
j--);
P0=tab_1[shi];
P3=tab_3[1];
//最高读取温度设定为
//取百位数字
//取十位数字
//取个位数字
P3.1-P3.4口输出位码
//显示百位数字
//延时
//显示十位数字
P0=tab_2[ge];
P3=tab_3[2];
//显示个位数字
P0=tab_1[xiao];
P3=tab_3[3];
//显示小数位
voidmain()//主程序
while
(1)
wendu=Read_AD();
//热电偶数据读取,返回温度
Display_temp();
//温度显示
&
仿真结果
在proteus中画好电路,检验没有错误后,将单片机的程序指疋到编译好的hex文件,然后开始仿真,从200C到500C随机选取几组温度值,记录LED显示的数值。
F13.1JWJI
FilLUi^
P27M1S
•■.-
KTAL2
PS3ENALEM
QMS-
Pftijcjfyu^WiKrrMlj.TAX
■TC1-
.rTEXT*.
-C1
HJ-
•眾订•田…
—HIP-
FlXI:
CRV3TAL
「’E*
FftAWZM刊JMMft
P05WMpa亍冋,
武2.1阳P224H0璋却初[M*1*12
U5
ii
P3IWXD
P3.1皿D
F3am~
F33*jfr
-■:
■;
rJI'
町(;
■匡玛;
■丽
F