当前位置:文档之家› 竞赛NTC温度采集设计报告1

竞赛NTC温度采集设计报告1

电子竞赛辅导设计报告

温度测量仪

摘要

介绍了基于NTC热敏电阻的测温装置的软硬件设计,本测温系统的分为主机和从机两个系统,预定测温范围0℃~110℃,分辨率0.1℃,从机采用TM7705-AD转换芯片和NTC 热敏电阻,组成温度采集电路,STC89C52内部EEPROM负责温度存储,采用nRF24L01-2.4G 无线发射模块发送数据至主机。主机接受温度,并将温度显示在NOKIA 5110屏幕上。经测试,这套主分机系统,具有运行可靠,实时性强,精度高等优点,还有时钟显示与串口输出数据功能。

关键词:STC89单片机、A/D、NOKIA 5110、NRF24L01、NTC

目录

1系统方案 (1)

1.1 温度采集的论证与选择 (1)

1.2 A/D转换模块的论证与选择 (1)

1.3 控制系统的论证与选择 (1)

2系统理论分析与计算 (1)

2.1 电阻-温度关系的分析 (1)

2.2 AD值与温度对应关系的计算 (2)

2.3 线性插值的计算 (3)

3电路与程序设计 (4)

3.1电路的设计 (4)

3.1.1系统总体框图 (4)

3.1.2 分机子系统电路原理图 (4)

3.1.3 主机子系统电路原理图 (6)

3.1.4 电源 (6)

3.2程序流程图 (7)

3.2.1分机与主机软件流程图 (7)

4测试方案与测试结果 (7)

4.1测试方案 (7)

4.2测试结果(数据) (7)

5 结论 (8)

附录1: (9)

附录2: (10)

附录3: (11)

附录4: (12)

温度测量仪(D题)

【本科组】

1系统方案

本系统分主机和分机,可以升级至多个分机。一个分机主要由温度采集模块、A/D转换模块、历史温度存储模块(采用MCU内置的EEPROM)、无线发送模块、系统运行指示模块组成。控制系统模块,温度存储,显示模块、温度采集模块组成。其中核心模块是温度采集模块和A/D转换模块,下面分别论证这几个模块的选择。

1.1 温度采集的论证与选择

方案一:采用DS18b20芯片。该芯片精度高,操作简单,但是比赛规定不许采用集成芯片。

方案二:采用NTC热敏电阻。热敏电阻有电阻值随温度升高而升高的正温度系数(Positive Temperature Coefficient简称PTC )热敏电阻和电阻值随温度升高而降低的负温度系数(Negative Temperature Coefficient 简称NTC )热敏电阻。NTC 热敏电阻器,是一种以过渡金属氧化物为主要原材料,采用电子陶瓷工艺制成的热敏半导体陶瓷组件。这种组件的电阻值随温度升高而降低,利用这一特性可制成测温、温度补偿和控温组件,又可以制成功率型组件,抑制电路的浪涌电流。运用NT热敏电阻的特性,结合A/D转换电路送至MCU处理,就可以换算到环境的温度。

综上所述,选择方案二。

1.2 A/D转换模块的论证与选择

方案一:采用ADC0809。此芯片为教学广泛使用的AD芯片,使用简单,但是只有8位,采集精度不够,而且使用并口通信,这个占用了太多的I/O资源。。

方案二:采用TM7705AD芯片。TM7705 是应用于低频测量的2/3 通道的模拟前端,精度为16bit。该器件可以接受直接来自传感器的低电平的输入信号,然后产生串行的数字输出。增益值、信号极性以及更新速率的选择可用串行输入口由软件来配置。该器件还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差。在成本方面也比使用ADC0908低。

综上所述,选择方案二。

1.3 控制系统的论证与选择

本设计MCU采用STC89C52,这是考虑到51系列单片机是目前国内主流的教学使用MCU,而且该系统对MCU的单片机要求不高,有了16bit-AD的支持,用51系列单片机控制采集与传输也完全可以满足系统设计要求,主分机使用nRF24L01通信是因为这个方案目前比较成熟,在开发过程中可以降低难度与节省精力。

2系统理论分析与计算

2.1 电阻-温度关系的分析

如附录一所示,NTC 热敏电阻器MF58-103-3950各温度点的电阻值,即电阻-温度关系表。从厂商提供的电阻-温度关系表中可以看出NTC 热敏电阻器MF58-103-3950的测温范围为[-30℃,179℃],其电阻值的变化范围为[184.9K,0.1084K]。

仔细查阅电阻-温度关系表,可以发现温度与电阻并不是呈纯线性关系。这里采用线性插值法对传感器输出信号做线性化处理。我们预定的测温范围是[0℃,110℃],利用电阻-温度关系表算出一张采集到的AD 值与整数度的对应关系。

2.2 AD 值与温度对应关系的计算

设有如下图所示的R/V 转化电路:

图2.1

如上图所示NTC 热敏电阻Rv 和测量电阻Rm (精密电阻)组成一个简单的串联分压电路,参考电压V ref 经过分压可以得到一个电压值随着温度值变化而变化的数值,这个电压的大小将反映出NTC 电阻的大小,从而也就是相应温度值的反映。

通过欧姆定律可以算出V adc 与Rv 之间的关系:

m v m

r e f a d c R R R V V +*=

(1)

各温度点对应的ADC 转换后的数字量可以计算:

ref

adc

adc V V D *2

16

=

(2)

结合(1)、(2)式可以得到;

v

m m

a

d c

R R R D +=

*2

16

(3)

这里取Rm 为高精度的5K 电阻(由两个10K 电阻并联得到),在0℃时对应的:

8049

97

.3355

*2

16

≈+=

adc D

在110℃时对应的:

59303

5255

.055

*2

16

≈+=

adc D

根据上述的分析与计算,就可以做出一张很重要的转换表,见附录二。这一部分是事先制作好的表格,将为接下来的处理提供参考依据。

2.3 线性插值的计算

在ADC 进行数据采集的过程中不可能每一个数值都在整温度所对应的ADC 数值上,所以如果在两个数据的中间一段就要对其进行进一步的精确定位。这样就必须知道采集到的数据在表中的位置。

线性插值法等同于模拟线性化方法中的非线性函数的折线近似逼近,显然,近似逼近的精度取决于折线段数。段数愈多逼近精度愈高。为了说明取下面一段折线分析。

图2.2

(1) 利用一维查表法查找A/D 转换值N 所处的表区间[Ni, Ni+1],Ni 为第i 个转折点所对应的A/D 值。

(2) 按下述插值公式进行线性内插:

()i i i

i i i t t N N N N t t ---+

=++11 (4)

3电路与程序设计

3.1电路的设计

3.1.1系统总体框图

系统总体框图如图3.1所示

无线传输(应答)

图3.1 系统总体框图

3.1.2 分机子系统电路原理图

1、温度采集转换子系统电路

图3.2 温度采集转换子系统电路

TM7705与MCU 使用SPI 接口进行通信,包括DIN 、DOUT 、RESET 、SCLK 、CS 和DRDY ,它的工作时钟使用MCU 的ALE 脚供给。LI 、L2、WR3、WR4、WC1、WC2组成的滤波网络用来滤除传感器输出的高频信号。V ref 使用TL431组成的基准源。

2、基准源子系统电路

图3.3 基准源子系统电路

该电压基准基准采用TL431,是由德州仪器公司(TI)生产的一个有良好的热稳定性能的三端可调分流基准源。它的输出电压用两个电阻就可以任意地设置到从V ref(2.5V)到36V范围内的任何值。它的各项指标均很出色,是目前应用极广泛的器件。

TL431 的内部含有一个2.5V的基准电压,所以当在REF端引入输出反馈时,器件可以通过从阴极到阳极很宽范围的分流,控制输出电压。当R1和R2的阻值确定时,两者对V o的分压引入反馈,若V o增大,反馈量增大,TL431的分流也就增加,从而又导致V o下降。显见,这个深度的负反馈电路必然在VI等于基准电压处稳定,此时V o= (1+R1/R2)V ref。特别地,当R1=R2时,V o=5V。需要注意的是,在选择电阻时必须保证TL431工作的必要条件,就是通过阴极的电流要大于1 mA。

3、无线模块接口电路

图3.4 无线模块接口电路

3.1.3 主机子系统电路原理图

1、串口模块子系统电路

图3.5 串口模块子系统电路

2、存储子系统电路

图3.6 存储子系统电路

3、时钟子系统电路

图3.7 时钟子系统电路

3.1.4 电源

电源由变压部分、滤波部分、稳压部分组成。为整个系统提供5V或者12V电压,确保电路的正常稳定工作。这部分电路比较简单,都采用三端稳压管实现,故不作详述。

3.2程序流程图

3.2.1分机与主机软件流程图

图3.1 图3.2 4测试方案与测试结果

4.1测试方案

与DS18B20温度传感器的数据做比较。

4.2测试结果(数据)

5 结论

本测试系统测量方法操作简单、方便,由于其核心部分是51系列的单片机,其工作方式和工作原理简单,易于实现。TM7705是高精度16位AD转换芯片,精确度为1/64K,远远大于千分之一的要求,内部校准功能更使转化变得稳定可靠, NRF24L01具有实时性强、可靠性高的特点,功耗极低,速度只决定于控制器的速度。若想提高传输速度,则要更换更为高级的单片机,因为NRF24L01传输速度是由单片机决定的。本组实验的亮点在于良好的人机交互界面,可动态显示,界面形象美观。经过测试,无线传输的距离大于15米,温度最大偏差约为0.5°,从机可以存储最新的十个温度值。经过一系列测试,各项指标都满足要求,令人满意。在这次比赛中,我们熟悉了TM7705,NOKIA 5110, NRF24L01与STC89C内部EEPROM操作方法,提升了动手能力,拓展了视野,增加了实践经验。

分机主函数源代码:

void main(void)

{

UINT8 i,x;

L1=0;//LED亮标志开始工作

Time0Init();

Reset7705();

ad_init();

LCD_init();

LCD_clear();

while(1)

{

AD_Num = AD_Average();

Get_temp(AD_Num);

tx_buf[0] = temp_zheng;

tx_buf[1] = (uchar)(temp_xiao * 10)%10;

if(flag)

{

flag = 0;

SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);

//将数据写入发送缓冲区

TX_Mode();

//发送模式

check_ACK();

//发送应答信号检测,LED闪烁标志发送成功

delay_nms(10);

SPI_RW_Reg(WRITE_REG+STATUS,0xff);//清中断标志}

k1=~k1;

Tab[i].interger=tx_buf[0];

Tab[i].decimal =tx_buf[1];

EEPROM_Reser_Get();

Temp_Disp();

if(i>=11) i=0;

else i++;

}

}

主机主函数源代码:

void main(void)

{

UINT8 rx_buf[TX_PLOAD_WIDTH];

UINT8 temp[2];

System_Init();

L_Disp(0);

U_Disp();

while (EEPROM_Test());

O_C_Disp();

while(1)

{

Key_Process();

Wireless_Rec(rx_buf);

if (GET_DATA_F==1)

{

GET_DATA_F = 0;

Data_Process(rx_buf);

L_Disp(rx_buf[0]%100/10); Temp_Update_Disp(rx_buf); }

delay_ms(100);

Time_Updata_Disp();

}

相关主题
文本预览
相关文档 最新文档