文档库 最新最全的文档下载
当前位置:文档库 › 基于STM32的PT100温度测量

基于STM32的PT100温度测量

基于STM32的PT100温度测量
基于STM32的PT100温度测量

基于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并校准。

在设置完了以上信息后,我们就使能AD转换器,执行复位校准和AD校准,注意这两步是必须的!不校准将导致结果很不准确。每次进行校准之后要等待校准结束。这里是通过获取校准状态来判断是否校准是否结束。

6)读取 ADC

在上面的校准完成之后,ADC 就算准备好了。接下来我们要做的就是设置规则序列 1 里面的通道,采样顺序,以及通道的采样周期,然后启动ADC转换。在转换结束后,读取ADC转换结果值就是了。

7)多次读取ADC值,求平均

求平均使获得的ADC值稳定。

4.2 1602LCD显示程序

程序步骤

必要的声明定义等;

写入指令数据到LCD;

写入字符显示数据到LCD;

写字符串函数;

写数字函数;

GPIO配置;

LCD初始化设定;

4.3 主程序

各子函数初始化

(SystemInit();delay_init(72);NVIC_Configuration();uart_init(9600) ;LED_Init();LCD_Init();Adc_Init();)

while循环(获取ADC值,转换成电压值,写字符串,写数据值,LED闪烁)。

五、性能测试

硬件调试比较简单,主要是调试PT100温度传感器电路,首先检查电路的焊接是否正确,然后用万用表测试,首先检测PT100传感器的电阻值是否随温度变化,并测量其在0°C和100°C的电阻值;然后在测量基准电压,将其调试到合适值(4.960V);然后测量电桥输出的最大电压差Umax,并确定运算放大器的放大倍数(放大器的输出电压不能大于3.3V,倍数A=R5/R3=3.3/Umax,调试过程中可改变R5电阻值);最后测量运算放大器实际的输出电压,与电桥输出电压,计算实际放大倍数与理论放大倍数比较;调试完后可连接STM32进行软件编写。

软件调试可以先编写1602显示程序并进行硬件的正确性检验,然后分别进行ADC程序和主程序的编写和调试。

最后进行整体系统测试

六、课程设计心得

经过将近一段时间的设计、焊接、编程、调试,我们终于完成了温度测量的设计,基本能够达到设计要求,

此次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到实践中去。在大学课堂的学习只是给我们灌输专业知识,而我们应把所学的知识应用到我们现实的生活中去。这次的设计不仅使我们将课堂上学到的理论知识与实际应用结合了起来,而且使我们对电子电路、电子元器件等方面的知识有了更进一步的认识,同时在软件编程、焊板调试、相关调试仪器的使用等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。此次单片机设计也为我们以后进行更复杂的单片机系统设计提供了宝贵的经验。

通过此次的综合设计,我们初步掌握了单片机系统设计的基本原理。充分认识到理论学习与实践相结合的重要性,对于书本上的很多知识,不但要学会,更重要的是会运用到实践中去。在以后的学习中,我们会更加注重实践方面的锻炼,多提高自己的动手实践能力。

参考文献

1、STM32F103RBT6 数据开发手册;

2、ALIENTEK miniSTM32 开发板资料

3、1602中文资料

4、戴蓉,刘波峰。传感器原理与工程应用,电子工业出版社.2013.1

附录1:系统实物图

附录2:系统主要程序

一、ADC 程序,文件名(adc.c )

#include "adc.h" #include "delay.h" void Adc_Init(void) {

ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1, ENABLE ); //使能ADC1通道时钟

RCC_ADCCLKConfig(RCC_PCLK2_Div6); //72M/6=12,ADC 最大时间不能超过14M GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PA0

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入引脚 GPIO_Init(GPIOA, &GPIO_InitStructure);

ADC_DeInit(ADC1); //将外设 ADC1 的全部寄存器重设为缺省值

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC 工作模式:ADC1和ADC2工作在独立模式

ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式

ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//模数转换工作在单次转换模式 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC 数据右对齐 ADC_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换的ADC 通道的数目

ADC_Init(ADC1, &ADC_InitStructure); //根据ADC_InitStruct 中指定的参数初始化外设

ADCx的寄存器

ADC_Cmd(ADC1, ENABLE); //使能指定的ADC1

ADC_ResetCalibration(ADC1); //重置指定的ADC1的校准寄存器

while(ADC_GetResetCalibrationStatus(ADC1)); //获取ADC1重置校准寄存器的状态,设置状态则等待

ADC_StartCalibration(ADC1); //开始指定ADC1的校准状态

while(ADC_GetCalibrationStatus(ADC1));//获取指定ADC1的校准程序,设置状态则等待ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能

}

//获得ADC值

//ch:通道值 0-3

u16 Get_Adc(u8 ch)

{

//设置指定ADC的规则组通道,设置它们的转化顺序和采样时间

ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,,规则采样顺序值为1,采样时间为239.5周期

ADC_SoftwareStartConvCmd(ADC1, ENABLE);//使能ADC的软件转换启动功能

ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束

return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果}

//获取通道ch的转换值,取times次,然后平均

//ch:通道编号

//times:获取次数

//返回值:通道ch的times次转换结果平均值

u16 Get_Adc_Average(u8 ch,u8 times)

{

u32 temp_val=0;

u8 t;

for(t=0;t

{ temp_val+=Get_Adc(ch);

delay_ms(5);

}

return temp_val/times;

}

二、LCD程序,文件名(lcd.c)

#include "lcd.h"

#include "stdlib.h"

#include "delay.h"

unsigned char digit[ ]={"0123456789 "};

void LCD_Writecmd(uchar cmd)

{

LCD_RS=0; delay_us(1);

LCD_RW=0; delay_us(1);

DATAOUT(cmd);delay_us(300);

LCD_EN=1;delay_us(300);//必要的延时

LCD_EN=0; //下降沿,LCD1602开始工作

}

void LCD_Writedata(uchar dat)

{

LCD_RS=1;delay_us(1);

LCD_RW=0;delay_us(1);

DATAOUT(dat);delay_us(300);

LCD_EN=1; delay_us(300); //很重要的延时,经调试,延时300us以上才可以

LCD_EN=0; //下降沿,开始写入有效数据

}

void LCD_DispString(char str[])

{

uchar i=0;

for(i=0;str[i] != '\0';i++)

{

LCD_Writedata(str[i]);

}

}

void LCD_Dispnum(uint32_t num)

{ u16 R1=5000; u16 R2=5000;u16 R3=300;

u16 Vin=40960; float x,y,z,rx;float t,VB; u16 T,RX,i;

unsigned char B1,B2,B3,B4,B5;

unsigned char C1,C2,C3,C4,C5;

unsigned char D1,D2,D3,D4,D5;

VB=(float)num/30;

x=(float)VB/(float)Vin; //Rx = (R3*R2 + R2* (R1+R3)VB/Vin )/ (R1- (R1+R3)*VB/ Vin) y=R3*R2+(float)R2*(R1+R3)*x;

z=R1- (R1+R3)*x;

rx=y/z;

RX=rx*1000/10;

t=1.000/0.77*rx-300.000/0.77; //(0C,300)(100,377)

T=t*1000/10;

B5=num/10000;B4=num%10000/1000;B3=num%1000/100; B2=num%100/10;B1=num%10;

C5=RX/10000;C4=RX%10000/1000;C3=RX%1000/100;C2=RX%100/10;C1=RX%10;

if(C5==0)

{C5=11;if(C4==0){C4=11; }

}

D5=T/10000; D4=T%10000/1000;D3=T%1000/100;D2=T%100/10; D1=T%10;

if(D5==0)

{ D5=12;if(D4==0){D4=12; }

}

LCD_Writecmd(0x80+0x06);

LCD_Writedata(digit[B5]);

LCD_Writedata('.');

LCD_Writedata(digit[B4]);

LCD_Writedata(digit[B3]);

LCD_Writedata(digit[B2]);

LCD_Writedata(digit[B1]);

LCD_Writecmd(0x80+0x41);

LCD_Writedata(digit[C5]);

LCD_Writedata(digit[C4]);

LCD_Writedata(digit[C3]);

LCD_Writedata('.');

LCD_Writedata(digit[C2]);

LCD_Writedata(digit[C1]);

LCD_Writecmd(0x80+0x48);

LCD_Writedata(digit[D5]);

LCD_Writedata(digit[D4]);

LCD_Writedata(digit[D3]);

LCD_Writedata('.');

LCD_Writedata(digit[D2]);

LCD_Writedata(digit[D1]);

for(i=0;i<4;i++) //每1s采集一次数据)

delay_ms(25);

}

void GPIO_Configuration(void)

{ GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE );

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //JTAG-DP 失能+ SW-DP使能

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPI O_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_Write(GPIOB,0XFFFF); //PB口OD输出

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_SetBits(GPIOC, GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_8|GPIO_Pin_3);//如果每一位决定一个GPIO_Pin,则可以通过或的形式来初始化多个IO

}

void LCD_Init(void)

{ GPIO_Configuration();

delay_ms(200); //延时200ms

LCD_EN=0;

LCD_Writecmd(0x38); delay_ms(5);

LCD_Writecmd(0x38); delay_ms(5);

LCD_Writecmd(0x38); delay_ms(5);

LCD_Writecmd(0x08); delay_ms(5);

LCD_Writecmd(0x06); delay_ms(5);

LCD_Writecmd(0x01); delay_ms(5);

LCD_Writecmd(0x0c); delay_ms(5);

}

三、主程序,文件名(main.c)

#include "led.h"

#include "delay.h"

#include "sys.h"

#include "usart.h"

#include "lcd.h"

#include "adc.h"

int main(void)

{ u16 adcx;

float V;

u16 voltage;

SystemInit();

delay_init(72); //延时初始化

NVIC_Configuration();

uart_init(9600);

LED_Init();

LCD_Init();

Adc_Init();

while(1)

{

adcx=Get_Adc_Average(ADC_CH1 ,200);

V=(float)adcx*(3.3/4096);

LCD_Writecmd(0x80);

LCD_DispString("PA0 V: v");

LCD_Writecmd(0x80+0x40);

LCD_DispString("R T C");

voltage=V*100000/10;

LCD_Dispnum(voltage);

LED0=!LED0;

delay_ms(250);

}

}

(完整版)基于STM32的温湿度监测..

《物联网工程设计与实施》项目设计 项目课题:基于STM32的温湿度检测 院系:计算机科学与技术学院 专业:物联网工程 项目经理:于渊学号:123921043 副经理:谢金光学号:123921024 项目成员:李周恒学号:123921002 项目成员:袁桃学号: 123921048 项目成员:颉涛学号: 123921054 项目成员肖青学号: 123921025 项目成员冯锦荣学号: 123921011 项目成员唐敏学号: 123921023

指导教师: 2014 年 12月

目录 摘要 (5) Absract (7) 一.设计目标 (9) 二.设计方案 (9) 三.实验所需器材 (9) 四.设计内容 (9) 4.1 STM32模块 (9) 4.2 AM2302介绍 (11) 4.2.1 产品概述 (11) 4.2.2 应用范围 (12) 4.2.3 产品亮点 (12) 4.2.4 单总线接口定义 (12) 4.2.5 传感器性能 (13) 4.2.6 单总线通信 (14) 4.3 Nokia 5110 介绍 (15) 4.3.1 SPI接口时序写数据/命令 (15) 4.3.2 显示汉字 (16) 4.3.4 显示图形 (16) 4.4 原理图设计 (16) 4.5 PCB板设计 (17) 五.实验软件设计 (18) 5.1 温湿度传感器DHT22的程序 (18) 5.2 湿度显示函数 (21) 5.3主函数程序 (23) 5.3.1显屏程序 (23) 六.作品实物展示 (32) 七.设计总结 (33)

基于STM 32 的温湿度检测 摘要 随着现代社会的高速发展,越来越多的科学技术被应用于农业生产领域。在温室大棚中对温湿度、二氧化碳浓度等外部参数的实时准确的测量和调节更是保证农业高效生产的重要前提。本次课程设计中实现了一个基于STM32F103VET6的智能温湿度检测系统,目的是实现温湿度的采集和显示,温湿度的采集是作为自动化科学中一个必须掌握的检测技术,也是一项比较实用的技术。本次实验主要作了如下几个方面工作:首先通过对实时性、准确性、经济性和可扩展性等四个方向的分析比较之后,选择了STM32F103VE微控制器作为主控芯片和AM2303温湿度传感器来实现对温湿度数据进行采集;在Nokia5110显示屏上显示出温度和湿度,然后详细介绍了各个模块的工作原理和硬件电路设计思路,实现了温湿度数据实时准确的测量;之后阐述了系统各个部分的软件设计思路;最后对系统在实际应用中采集到的数据进行了处理,分析了误差产生的原因,并通过分段线性插值算法对系统非线性误差进行了校准,同未校准时采集的数据相比,校准后的数据准确度更高,稳定性更好。在保证测量效果的基础上,本系统设计中充分考虑到性价比和再次开发周期性等,具有成本低、设计开发方便、通用性强等特点,不仅适用于现代农业生产中,还能用于其它工业控制、机械制造等其它领域,具有一定的市场推广价值。 【关键词】:嵌入式技术,电路设计,STM32,AM2302温湿度采集,Nokia5110 显示屏,程序设计

PT100温度传感器测量电路

PT100温度传感器测量电路 温度传感器PT100是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在 -200℃ 至650℃ 的范围.本电路选择其工作在 -19℃ 至500℃ 范围。 整个电路分为两部分,一是传感器前置放大电路,一是单片机 A/D 转换和显示,控制,软件非线性校正等部分。 前置放大部分原理图如下: 工作原理: 传感器的接入非常简单,从系统的 5V 供电端仅仅通过一支 3K92 的电阻就连接到 PT100 了.这种接法通常会引起严重的非线性问题,但是.由于有了单片机的软件校正作为后盾,因此就简化了传感器的接入方式. 按照 PT100 的参数,其在0℃ 到500℃ 的区间内,电阻值为 100 至280.9Ω,我们按照其串联分压的揭发,使用公式:Vcc/(PT100+3K92)* PT100 = 输出电压(mV),可以计算出其在整百℃时的输出电压,见下面的表格:

单片机的 10 位 A/D 在满度量程下,最大显示为 1023 字,为了得到PT100 传感器输出电压在显示 500 字时的单片机 A/D 转换输入电压,必须对传感器的原始输出电压进行放大,计算公式为:(500/1023 * Vcc)/传感器两端电压( mV/℃ ) ,(Vcc=系统供电=5V),可以得到放大倍数为10.466 。 关于放大倍数的说明:有热心的用户朋友询问,按照 (500/1023 * Vcc)/传感器两端电压不能得到 10.466 的结果,而是得到 11.635的结果。实际上,500 个字的理想值是无法靠电路本身自然得到的,自然得到的数字仅仅为 450 个字,因此,公式中的500℃ 在实际计算时的取值是 450 而不是 500 。450/1023*5/(0.33442-0.12438)≈10.47 。其实,计算的方法有多种,关键是要按照传感器的mV/℃ 为依据而不是以被测温度值为依据,我们看看加上非线性校正系数:10.47*1.1117=11.639499 ,这样,热心朋友的计算结果就吻合了。 运算放大器分为两级,后级固定放大 5 倍(原理图中 12K/3K+1=5),前级放大为:10.465922/5=2.0931844 倍,为了防止调整时的元器件及其他偏差,使用了一只精密微调电位器对放大倍数进行细调,可以保证比较准确地调整到所需要的放大倍数(原理图中 10K/(8K2+Rw)+1)。

pt100温度传感器原理

pt100温度传感器原理 PT100是一个温度传感器,是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在-200℃至650℃的范围. 电阻式温度检测器(RTD,Resistance Temperature Detector)是一种物质材料作成的电阻,它会随温度的上升而改变电阻值,如果它随温度的上升而电阻值也跟著上升就称为正电阻係数,如果它随温度的上升而电阻值反而下降就称为负电阻系数。大部分电阻式温度检测器是以金属作成的,其中以白金(Pt)作成的电阻式温度检测器,最为稳定-耐酸碱、不会变质、相当线性...,最受工业界采用。 PT100温度感测器是一种以白金(Pt)作成的电阻式温度检测器,属于正电阻系数,其电阻和温度变化的关系式如下:R=Ro(1+αT)其中α=0.00392,Ro为100Ω(在0℃的电阻值),T为摄氏温度
因此白金作成的电阻式温度检测器,又称为PT100。 1:V o=2.55mA ×100(1+0.00392T)=0.255+T/1000 。 2:量测V o时,不可分出任何电流,否则量测值会不準。电路分析由于一般电源供应较多零件之后,电源是带杂讯的,因此我们使用齐纳二极体作为稳压零件,由于7.2V齐纳二极体的作用,使得1K电阻和5K可变电阻之电压和为6.5V,靠5K可变电阻的调整可决定电晶体的射(集极)极电流,而我们须将集极电流调为 2.55mA,使得量测电压V如箭头所示为0.255+T/1000。其后的非反向放大器,输入电阻几乎无限大,同时又放大10倍,使得运算放大器输出为2.55+T/100。6V齐纳二极体的作用如7.2V 齐纳二极体的作用,我们利用它调出2.55V,因此电压追随器的输出电压V1亦为 2.55V。其后差动放大器之输出为

pt100_测温电路

pt100测温电路:pt100三线制测量电路》是非常优秀的作品,本站提供后大学时代pt100测温电路:pt100三线制测量电路! CPU采用Atmega16,它自带8路10位A/D转换器,转换速度快,精度高,而且不需要外扩任何器件产品特性: 通常使用的铂电阻温度传感器有PT100,电阻温度系数为3.9×10-3/℃,0℃时电阻值为100Ω,电阻变化率为0.3851Ω/℃铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区(-200℃~650℃)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计 按IEC751国际标准,温度系数TCR=0.003851,Pt100(R0=100Ω)、Pt1000(R0=1000Ω)为统一设计型铂电阻 传感器的结构: 两线制: 传感器电阻变化值与连接导线电阻值共同构成传感器的输出值,由于导线电阻带来的附加误差使实际测量值偏高,用于测量精度要求不高的场合,并且导线的长度不宜过长 三线制: 要求引出的三根导线截面积和长度均相同,测量铂电阻的电路一般是不平衡电桥,铂电阻作为电桥的一个桥臂电阻,将导线一根接到电桥的电源端,其余两根分别接到铂电阻所在的桥臂及与其相邻的桥臂上,当桥路平衡时,导线电阻的变化对测量结果没有任何影响,这样就消除了导线线路电阻带来的测量误差,但是必须为全等臂电桥,否则不可能完全消除导线电阻的影响采用三线制会大大减小导线电阻带来的附加误差,工业上一般都采用三线制接法 四线制: 当测量电阻数值很小时,测试线的电阻可能引入明显误差,四线测量用两条附加测试线提供恒定电流,另两条测试线测量未知电阻的电压降,在电压表输入阻抗足够高的条件下,电流几乎不流过电压表,这样就可以精确测量未知电阻上的压降,计算得出电阻值 在桥式电路中,为了减小暖电阻阻值随温度变化对支路电流的影响并限制流过热电阻的电流,组成电桥的两个支路的上电阻通常取暖电阻阻值的几十倍,其值达到10-50K(和桥路供电电压有关),下电阻一般和暖电阻某温度下阻值相同测量时取两者的电位差虽然如此,热电阻阻值随温度变化对支路电流的影响还是会造成输出的非线性,通常需要做一定补偿 如果直接测量阻值,应该采用恒流源给热电阻供电,热电阻阻值变化时支路电流保持恒定,热电阻压降为线性较好的温度函数 放大前应该做滤波处理或者在放大电路中加积分元件 ?怎样判断pt100的好坏,用万用表能测量么? 根据分度表参照当时温度看阻值是否相符 ?通常情况下是这样的,将一个基准电压加在pt100回路上,测量pt100上的电压信号(mv),阻值变化是电压信号自然也变化,再经过运放放大后入入A/D 芯片入行A/D转换,经过程序再将电压信号换算成电阻值,采用查表方式(将电阻值和相对应的温度值做成表格放到芯片rom中)的到温度值 ?一般短距离选用二线制接法,中距离选用三线制接法,要求精度高、近距离选用四线制接法三线制比两线制的好处是可以补偿线路电阻的偏差,和抗干扰不是一个概念三种各自的优缺点有许多说法,不一而足二线制不能消除导线电阻的影响四线制可以消除导线电阻的影响四线制的PT100有两根线是用于测量的,另两根是用于补偿的,四线制的电子物料编码规则PT100有两根线(热电阻两端各一根)是提供电流的,另两根是采集电压的具体用哪种电路应该根据系统要求决定,如果精度要求一般,采用三线是经济、稳定、实用的选择 ?输渗透(3根线)、输出、电源三隔离为四线制,设备在控制室;输入(3根线)、输出、电源三不隔离为三线制,设备在控制室或传感器内;输入(3根线)、(输出、电源共用2根线)三不隔离为二线制,设备在传感器内、为一体化 ?由于微处理器的发展,可对Pt100的非线性进行校正,因此Pt100传感器大都采用四线制测量法(非桥路法),其测量原理 Pt100传感器四线制测量电路 Pt100两端电压U1=ISRtIS为恒流,Rt为Pt100阻值 引线L1、L2存在电阻会影响测量结果,为此,将L1、L2端口处信号输入高输入电阻抗(>1012Ω),差分放大,这样L1、L2中电流≈0,L1、L2电阻可忽略不计,所以有Ui=U1这也消除了引线电阻 ?模拟暖电偶测试 最准的校法就是用电阻箱了,多路也只有一个一个慢慢来暖电偶用毫伏计模拟输出校二次表,毫伏计同样可以测量热电偶这些都不难,难的是建立一个标准的恒定的温场 ?电压和温度的关系一般是非线性的,对于8位单片机还是查表法好 引言 PT100是一种广泛应用的测温元件,在-50℃~600℃范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等由于铂热电阻的电阻值与温度成非线性关系,所以本模块需要入行非线性校正,一般的模块采用模拟电路校正,这种校正的精度不高,而且温漂等受干扰的程度也比较大本模块采用

pt100温度传感器原理

ptioo温度传感器原理 PT100是一个温度传感器,是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在-200C至650 C的范围. 电阻式温度检测器(RTD,Resistanee Temperature Detector)是一种物质材料作成的电阻,它会随温度的上升而改变电阻值,如果它随温度的上升而电阻值也跟著上升就称为正电阻係数,如果它随温度的上升而电阻值反而下降就称为负电阻系数。大部分电阻式温度检测器是以金属作成的,其中以白金(Pt)作成的电阻式温度检测器,最为稳定—耐酸碱、不会变质、相当线性…,最受工业界采用。 PT100温度感测器是一种以白金(Pt)作成的电阻式温度检测器,属于正电阻系数,其电阻和温度变化的关系式如下:R=Ro(1+a T)其中a =0.00392,R(为100 Q在0C的电阻值),T为摄氏温度<br>因此白金作成的电阻式温度检测器,又称为PT100。 1: Vo=2.55mA Xl00(1+0.00392T)=0.255+T/1000。 2:量测Vo时,不可分出任何电流,否则量测值会不準。电路分析由于一般电源供应较多零件之后,电源是带杂讯的,因此我们使用齐纳二极体作为稳压零件,由于7.2V齐纳二极体的作用,使得1K电阻和5K可变电阻之电压和为6.5V靠5K可变电阻的调整可决定电晶体的射(集极)极电流,而我们须将集极电流调为 2.55mA,使得量测电压V如箭头所示为0.255+T/1000。其后的非反向放大器,输入电阻几乎无限大,同时又放大10倍,使得运算放大器输出为2.55+T/100°6V齐纳二极体的作用如7.2V 齐纳二极体的作用,我们利用它调出2.55V,因此电压追随器的输出电压 V1 亦为2.55V。其后差动放大器之输出为

PT100测温设计

传感与检测技术 题目 学院 专业 班级 姓名 指导教师 年月日

目录 1、设计任务与要求 (1) 2、方案设计 (2) 3、温度传感器的选择 (3) 4、PT100热电阻工作原理介绍 (4) 5、单元电路与参数计算 (6) 5.1 PT100电压产生电路 (6) 5.2仪表放大器 (7) 5.3模数转换器 (9) 5.4 LCD1602液晶显示 (10) 5.5 AT89C52单片机电路 (13) 6、软件设计 (14) 6.1 程序流程图 (14) 6.2 控制程序 (14) 7、总的原理图 (20) 8、感想与体会 (21)

1、设计任务与要求 《传感与检测技术》大作业的基本要求 1.设计一个测温系统,要求测温范围200~500℃,分辨率为1℃。2.画出系统结构框图,说明各电路的作用,系统实现的功能 3.选择一种合适的温度传感器,说明选择理由。 3.说明该温度传感器的工作原理,推导输入输出关系式。 4.设计模拟信号调理电路,推导温度输入和调理电路输出的表达式;5.选择A/D转换器,计算放大器的放大倍数; 6.设计人机接口电路,(参数如何设置?数据如何显示?)7.绘制基于单片机的温度测量系统的硬件电路图 8.所采用测量数据的基本处理算法的流程图以及程序设计。 9.证明所设计的系统能够达到测温范围和分辨率的要求。

2、方案设计 总的设计方案叙述如下: 不同的温度使PT100产生不同电阻值,接上恒流源产生电压值,经过运算放大器组成的仪表放大器电路,输出与放大倍数有关的相应0到2.8V 的压降,再由TLC1543模数转换器采集并送给AT89C52单片机处理数据并显示相应的温度值到LCD1602液晶屏上。 不同的温度产生不同的电阻值,且基本上呈线性规律。所以可以直接把该电阻通过直流源产生的电压经放大后送到单片机进行处理并显示。 设计框图如下: 图1 系统设计框图

基于STM32的温度测量系统

基于ST M32的温度测量系统 Tem p e ra tu re M e a su rem e n t S ys tem B a se d o n the S T M 32 曹圆圆 (华北电力大学控制科学与工程学院 河北保定 071003) [摘要] 介绍一种基于ST M32处理器的温度测量系统设计方案。以ST M32F103RBT6微控制器为核心,采用AD590作温度传感器,测量温度用四位数码管显示,能够同PC 机进行串口通信。具有体积小、精度高、处理能力强等特点。 [关键词] 温度测量;ST M32;AD590 [中图分类号] TP 273 [文献标志码] B 温度是日常生活与工农业生产中的一个重要参数,传统的温度计存在反应速度慢、测量精度不高以及读数麻烦等缺点,随着电子技术的发展,各种基于单片机的温度测量系统先后被提出。温度传感器AD590具有线性度好、性能稳定、灵敏度高、抗干扰能力强等优点;鉴于目前AR M 微处理器在国内的广泛应用和广阔的发展前景,本文采用AD590温度传感器,基于一款AR M 微处理器ST M32F103RBT6作为系统核心,设计了一种温度测量系统。它不仅可以通过四位数码管直观显示00.00~99.99℃,还可以完成同PC 机的通信,并详细介绍了其硬件设计和相关程序编写。 1 系统结构 温度测量系统主要有温度测量、温度显示电路、 RS232串行通讯等模块。主控电路由ST M32F103RBT6 及其外围电路组成,是系统的核心部分,主要完成数据 的传输和处理工作。温度传感器采集的模拟信号,经 过处理器本身内嵌的ADC 进行A /D 转换后得到实时 温度数据,再经处理器相关处理后通过温度显示电路 进行实时显示,同时,处理器还可以实现与PC 机的通 信功能。 ST M32系列处理器是意法半导体ST 公司生产 的一种基于ARMv7架构的32位、支持实时仿真和跟 踪的微控制器。嵌入式处理器不能独立工作,必须给 它提供电源、时钟以及复位电路。这些提供给嵌入式 处理器运行所必须的条件电路与嵌入式处理器共同 构成了这个嵌入式处理器的最小系统。其他如JT AG 调试接口,在芯片实际工作时不是必须的,但本系统是利用JT AG 烧写在板F LASH,因此将其加入最小系统 。系统的整体结构框如图1所示。 图1 系统整体结构框图 2 硬件设计 2.1 ST M 32F 103RBT 6微控制器 ST M32F103RBT6是一款基于CORTEX -M3内 核、高性能、低成本、低功耗的微控制器,在软件和引 脚封装方面同其他ST M32系列处理器是兼容的。 它的时钟频率达到72MHz,能实现高端运算。 内嵌128K B F LASH 程序存储器。丰富的外设, UART 、SP I 等串行接口以及最大翻转率18MHz 的 GP I O 。更重要的是它拥有最快1 μs 转换速度的双12位精度ADC,此快速采集,高性能的ADC 非常适用于 数据的快速采集和快速处理上,这也是本系统选择它 作为核心控制器的一个重要原因。 如图2所示,ST M 32F103RB T6采用LQ FP64 封装,GP I O 中PA0(ADC_I N 0)引脚接入测温电路 输入的电压模拟信号,PA9和PA10引脚为串口输 入输出,PA1~PA4作为4个数码管的位选信号控 制,PC0~PC7输出信号接到数码管的段选引脚 上。 — 61— 《仪器仪表与分析监测》2010年第1期

推荐使用的热电阻Pt100测温电路

铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温(-200℃~650℃)范围的温度测量中。 PT100是一种广泛应用的测温元件,在-50~600℃℃范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将Pt电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。 常用的Pt电阻接法有三线制和两线制,其中三线制接法的优点是将PT100的两侧相等的的导线长度分别加在两侧的桥臂上,使得导线电阻得以消除。常用的采样电路有两种:一为桥式测温电路,一为恒流源式测温电路。其中图1为三线制桥式测温电路,图2为两线制桥式测温电路,图3为恒流源式测温电路。下面分别对桥式电路和恒流源式电路的原理在设计过程中应注意事项进行说明(注:这两个电路本人均有采用及试验,证明可行) 一、桥式测温电路 桥式测温的典型应用电路如图1所示(图1和图2均为桥式电路,分别画出来是为了说明两线制接法和三线制接法的区别)。 测温原理:电路采用TL431和电位器VR1调节产生4.096V的参考电源;采用R1、R2、VR2、Pt100构成测量电桥(其中R1=R2,VR2为100Ω

精密电阻),当Pt100的电阻值和VR2的电阻值不相等时,电桥输出一个mV级的压差信号,这个压差信号经过运放LM324放大后输出期望大小的电压信号,该信号可直接连AD转换芯片。差动放大电路中R3=R4、R5=R6、放大倍数=R5/R3,运放采用单一5V供电。 设计及调试注意点: 1. 同幅度调整R1和R2的电阻值可以改变电桥输出的压差大小; 2. 改变R5/R3的比值即可改变电压信号的放大倍数,以便满足设计者对温度范围的要求 3. 放大电路必须接成负反馈方式,否则放大电路不能正常工作 4. VR2也可为电位器,调节电位器阻值大小可以改变温度的零点设定,例如Pt100的零点温度为0℃,即0℃时电阻为100Ω,当电位器阻值调至109.885Ω时,温度的零点就被设定在了25℃。测量电位器的阻值时须在没有接入电路时调节,这是因为接入电路后测量的电阻值发生了改变。 5. 理论上,运放输出的电压为输入压差信号×放大倍数,但实际在电路工作时测量输出电压与输入压差信号并非这样的关系,压差信号比理论值小很多,实际输出信号为 4.096*(RPt100/(R1+RPt100)- RVR2/(R1+RVR2)) (1) 式中电阻值以电路工作时量取的为准。 6. 电桥的正电源必须接稳定的参考基准,因为如果直接VCC的话,当网压波动造成VCC发生波动时,运放输出的信号也会发生改变,此时再到以VCC未发生波动时建立的温度-电阻表中去查表求值时就不正确

pt100测温电路设计报告

《单片机原理与接口技术》课程设计 学 院: 电气信息学院 题 目: PT100热电阻测温显示 年级专业: 14级测控1班 学 号: 1404200223 学生姓名: 孙鑫 指导教师: 李国平、杨帆

前 言 传感器是能感受规定的被测量并按一定规律转换成可用输出信号的器件或装置,主要用于检测机电一体化系统自身与操作对象、作业环境状态,为有效控制机电一体化系统的运作提供必须的相关信息。随着人类探知领域和空间的拓展,电子信息种类日益繁多,信息传递速度日益加快,信息处理能力日益增强,相应的信息采集——传感技术也将日益发展,传感器也将无所不在。 从20世纪80年代起,逐步在世界范围内掀起一股“传感器热”,各先进工业国都极为重视传感技术和传感器研究、开发和生产。传感技术已成为重要的现代科技领域,传感器及其系统生产已成为重要的新兴行业。 温度是自然界中和人类打交道最多的物理参数之一,无论是在生产实验场所,还是在居住休闲场所,温度的采集或控制都十分频繁和重要,而且,网络化远程采集温度并报警是现代科技发展的一个必然趋势。由于温度不管是从物理量本身还是在实际人们的生活中都有着密切的关系,所以温传感器就会相应产生随着现代电子技术的发展,对温度的测控技术提出了更高的要求。PT100铂热电阻温度传感器具有精度高,稳定性好等优点,测温范围为-200~650℃,使用非常方便,广泛用于电力、石油、化工、建材等行业的过程监控系统中,而且被制成各种标准温度计。

目 录 前言 (2) 第一章绪论 (4) 1.1温度传感器 (4) 1.2 PT100的简介 (5) 1.3 STC12C5410AD的简介 (6) 1.4 HEF4051BT的简介 (8) 1.4 AT24C64的简介 (9) 第二章设计内容 (10) 2.1 制作PCB原理图 (10) 2.3制作电路板 (11) 第三章程序设计 (12) 第四章 调试电路板 (12) 第五章 心得体会 (13) 参考文献 (14)

基于STM32温控风扇设计

齐齐哈尔大学 综合实践(论文) 题目基于STM32的温控风扇 学院通信与电子工程学院 专业班级 学生姓名 学生学号 指导教师朱磊

摘要:随着科技的日新月异,智能家居逐渐走入普通家庭,风扇作为基本的家用电器也将成为智能家居的一部分。这里介绍的是以STM32单片机为控制单元并结合嵌入式技术设计的一款具有温控调速、液晶显示温度等信息的智能电风扇。经过前期设计、制作和最终的测试得出,该风扇电源稳定性好,操作方便,运行可靠,功能强大,价格低廉,节约能耗,能够满足用户多元化的需求。该风扇具有的人性化设计和低廉的价格很适合普通用户家庭使用。 关键词:STM32单片机电风扇温控调速

目录 摘要............................................................................. 错误!未定义书签。 第1章绪论 (1) 1.1 概述............................................................ 错误!未定义书签。 1.2 设计目的及应用 (1) 第2章温控电风扇方案论证 (2) 2.1 温度传感器的选择 (2) 2.2 控制核心的选择 (2) 2.3 显示电路的选择 (3) 2.4 调速方式的选择 (3) 第3章温控电风扇硬件设计 (5) 3.1 硬件系统总体设计 (5) 3.2 本系统各器件简介 (5) 3.2.1 DS18B20简介 (5) 3.2.2 STM32简介 (7) 3.2.3 LCD1602液晶屏简介 (8) 3.3 各部分电路设计 (9) 3.3.1 温度传感器的电路 (9) 3.3.2 LCD1602液晶屏显示电路 (10) 第4章温控电风扇软件设计 (11) 4.1 软件系统总体设计 (11) 4.2 系统初始化程序设计 (11) 4.3 温度采集与显示程序设计..................... 1错误!未定义书签。结论 (14) 参考文献 (15) 附录1 (16) 附录2 (25)

(完整版)基于stm32的温度测量系统

基于STM32的温度测量系统 梁栋 (德州学院物理与电子信息学院,山东德州253023) 摘要:温度是日常生活和农业生产中的一个重要参数,传统的温度计有反应缓慢,测量精度不高的和读数不方便等缺点,此外,通常需要人工去观测温度,比较繁琐,因而采用电子技术的温度测量就显得很有意义了。 面对电子信息技术的进步,生成了各种形式的温度测量系统。本文设计了一个基于以STM32为核心的温度测量与无线传送的系统,温度信息采集使用数字化温度传感器DS18B20,无线传输使用ATK-HC05蓝牙模块的智能测温系统。 关键词 STM32; DS18B20; TFTLCD;智能测温系统 1 绪论 在现代社会的生产生活中,人们对于产品的精度要求越来越高,而温度是人们在生产生活中十分关注的参数,因此,对温度的测量以及监控就显得十分重要。在某些行业中对温度的要求较高,由于工作环境温度的偏差进而引发事故。如化工业中做酶的发酵,必须时刻了解所发酵酶的温度才可以得到所需酶;文物的保护同样也离不开温度的采集,不仅在考古文物的出土时间上,还是在档案馆和纪念馆中,温度的控制也是藏品保存关键,所以温度的检测对其也是具有重要意义的;另外大型机房的温度的采集,超出此范围会影响服务器或系统的正常工作等等。传统方式监控温度往往很耗费人力,而且实时性差。本文就设计了一个基于STM32的温度测量系统,在测量温度的同时能实现无线传输与控制。 STM32RBT6具有较低的价格、较高的测量精度、便捷的操作,同时在编程方面STM32也具有和其他单片机的优势之处,如51要求从基层编程,而STM32所有的初始化和一些驱动的程序都是以模板的形式提供给开发者,在此开发者只需要了些其他的模块功能和工作方式和少量的语法知识便可以进行编程,此优势不但节约了时间,也为STM32的发展做出了强有力的铺垫,而且STM32目前是刚刚被作为主流开发的单片机,所以其前景是无可估量的,这次毕业设计也是看好了其优越的发展趋势来选择的。 无线传输采用蓝牙技术,将采集的温度传输至终端,以此实现远程监控。利用“蓝牙”技术,能够在10米的半径范围内实现单点对多点的无线数据传输,其数据传输带宽可达1Mbps。综合考虑,在设计硬件时选择的软件是Altium Designer,该软件集成了电路仿真、原理图设计、信号完整性设计、分析等诸多功能,使用起来很方便。通过原理图的绘制,

pt100温度测量电路图(电子发烧友)

PT100与热敏电阻相反,热敏电阻温度越高电阻值越小 pt100温度测量电路,温度传感器PT100是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在 -200℃ 至650℃ 的范围.本电路选择其工作在 -19℃ 至500℃ 范围. 整个电路分为两部分,一是传感器前置放大电路,一是单片机 A/D 转换和显示,控制,软件非线性校正等部分. 前置放大部分原理图如下: 工作原理: 传感器的接入非常简单,从系统的 5V 供电端仅仅通过一支 3K92 的电阻就连接到 PT100 了.这种接法通常会引起严重的非线性问题,但是.由于有了单片机的软件校正作为后盾,因此就简化了传感器的接入方式. 按照 PT100 的参数,其在0℃ 到500℃ 的区间内,电阻值为 100 至 280.9Ω,我们按照其串联分压的揭发,使用公式: Vcc/(PT100+3K92)* PT100 = 输出电压(mV),可以计算出其在整百℃时的输出电压,见下面的表格:

单片机的 10 位 A/D 在满度量程下,最大显示为 1023 字,为了得到 PT100 传感器输出电压在显示 500 字时的单片机 A/D 转换输入电压,必须对传感器的原始输出电压进行放大,计算公式为:(500/1023 * Vcc)/传感器两端电压( mV/℃ ) ,(Vcc=系统供电=5V),可以得到放大倍数为 10.466 。 关于放大倍数的说明:有热心的用户朋友询问,按照 (500/1023 * Vcc)/传感器两端电压不能得到 10.466 的结果,而是得到 11.635 的结果。实际上,500 个字的理想值是无法靠电路本身自然得到的,自然得到的数字仅仅为 450 个字,因此,公式中的500℃ 在实际计算时的取值是 450 而不是 500 。450/1023*5/(0.33442-0.12438)≈10.47 。其实,计算的方法有多种,关键是要按照传感器的mV/℃ 为依据而不是以被测温度值为依据,我们看看加上非线性校正系数:10.47*1.1117=11.639499 ,这样,热心朋友的计算结果就吻合了。 运算放大器分为两级,后级固定放大 5 倍(原理图中 12K/3K+1=5),前级放大为:10.465922/5=2.0931844 倍,为了防止调整时的元器件及其他偏差,使用了一只精密微调电位器对放大倍数进行细调,可以保证比较准确地调整到所需要的放大倍数(原理图中 10K/(8K2+Rw)+1)。 通常,在温度测量电路里,都会有一个“调零”和另一个“调满度”电位器,以方便调整传感器在“零度”及“满度”时的正确显示问题。本电路没有采用两只电位器是因为只要“零度”调整准确了,就可以保证整个工作范围的正确显示,当然也包括满度时的最大显示问题了。 那么,电路中对“零度”是如何处理的呢?它是由单片机程序中把这个“零度”数字直接减掉就是了,在整个工作范围内,程序都会自动减掉“零度”值之后再作为有效数值来使用。 当供电电压发生偏差后,是否会引起传感器输入的变化进而影响准确度呢?供电变化后,必然引起流过传感器的电流发生变化,也就会使传感器输出电压发生变化。可是,以此同时,单片机的供电也是在同步地接受到这种供电变化的,当单片机的 A/D 基准使用供电电压时,就意味着测量基准也在同步同方向发生变化,因此,只要参数选择得当,系统供电的变化在 20% 之内时,就不会影响测量的准确度。(通常单片机系统并不允许供电有过大的变化,这不仅仅是在温度测量电路中的要求。)

PT100温度传感器测温详解

一种精密的热电阻测温方法 摘要: 本文介绍了一种采用恒压分压法精密测量三线制热电阻阻值的方法,对于Pt100热电阻,检测分辨率可以达到0.005W。同时采用计算的方法,能够使获得的温度准确度达到0.05℃。 关键词: 恒压;三线制;热电阻;精度 引言 温度参数是目前工业生产中最常用的生产过程参数之一,对温度的测量虽然有许多不同的方法,但热电阻凭借其优良的特性成为目前工业上温度测量中应用最广泛普遍的传感元件之一。由于金属铂优良的物理特性,使它成为制造热电阻的首选材料。它能够制造成体积微小的薄膜形式,或者缠绕在陶瓷和云母基板上制造出高稳定性的温度传感器,能够适应各种复杂的测温场合。一般在-200℃至+400℃的温度范围内,Pt100热电阻温度传感器是首选测温元件。 目前在各种检验设备中,如各种检验用恒温槽,都要求设备能够提供高精度的温度指示,这就要求作到对温度的高精度测量。又如,在配置Pt100热电阻传感器的智能型二线制一体化温度变送器中,也要求对温度有高精度的测量,这样才能够保证变送器在全量程范围内的高精度。为了消除导线电阻对测量的影响,在实验室和工业应用中,都是采用三线制引线接法来消除导线电阻影响的。本文介绍的就是一种精密测量三线制热电阻阻值的方案,同时提供了高精度的温度转换方法。 三线制热电阻阻值检测电路 图1是一个采用恒压分压法精密测量三线制热电阻阻值的检测电路,实际是一个高精度温度变送器的检测部分。它采用AD7705作为模数转换器,系统控制CPU采用P87LPC764,整体系统是一个低功耗系统。 图1中,电阻体RT接成了三线制,RL为三根导线电阻,一般每根导线电阻在5W之内。电阻体与测量电路以A、B、C三点连接,实际上是与电阻R 构成了对电压VREF的分压电路。一般情况下,为避免驱动电流导致电阻体发热引起测量误差,电流应该小于3mA,这里笔者通过选择VREF和R,使驱动热电阻的电流约为0.6 mA左右。当在VREF和R是已知的前提下,

基于stm32温湿度监控装置设计(1)

王江红(1993-),男,云南曲靖人,汉族,学生,在读本科,所学专业通信工程 基于stm32的温湿度监控系统设计 王江红胡湘娟阳泳 邵阳学院信息工程系湖南邵阳422004 摘要:温湿度的监测对于当前控制室内环境,改善室内环境起着重要的作用,为了提高室内用户的舒适度,一般都会对室内的温湿度进行监控,通过监测温湿度的变化情况来确定下一步的动作,例如在温室中严格监控室内温度,使得温室内的植物能到最合适的生存环境。本文就基于stm32的温湿度监控系统设计问题进行了全面分析,通过其有效的提高温度的时效性管理意义重大。 关键字:stm32;温湿度;ucosII系统;监控系统设计 此次的基于STM32的温湿度监控系统设计主要是32位的单片机为主控芯片,DHT11为温湿度监测装置,搭载的是ucosII操作系统,显示设备为主控ITL9438的彩屏,通过DHT11采集的信息对经过单片机的内部程序的处理,将其以数字的形式显示在彩屏上,并且同时根据单片机内部的温度设定值进行相应的动作,实现的室内温湿度的智能控制。 1、温湿度监控系统设计 1.1、温湿度监控系统硬件设计 系统主控芯片为Stm32F103ZET6,除了必须的Stm32单片机正常的驱动的电路之外,彩屏为使用的是已经做成模块的ITL9438彩屏,而采集模块则是使用的DHT11,如图所示为使用的DHT11的引脚图,可得知只要通过采集Dout引脚的输出的电平变化,查看数据手册,根据DHT11的时序图写出相应的驱动程序,驱动DHT11温湿度传感器。彩屏的程序可以直接使用的屏幕厂家写好的程序,移植到Stm32上既可,而通过将Dout引脚上的高低电平变化,进行相应的数据处理可以将温湿度数据已数字的形式显现在彩屏上,通过内部的程序根据比较当前的温湿度值与设定的参数值进行比较,使得进行下一步的温湿度调节动作,通过向外部电路发送信号,例如温度高了,打开排风机降低室内的温度等措施优先对温度的控制,这与空调的原理类似,但是系统比空调电路简捷的多。 DHT11数字湿温度传感器采用单总线数据格式,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。DHT11的数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。其中校验和数据为前四个字节相加,传感器数据输出的是未编码的二进制数据。数据(湿度、 温度、整数、小数)之间应该分开处理。 1.2、温湿度监控系统软件设计 此次的温湿度监控系统软件设计主要实在keil4中完成,操作系统为UCOSII,将UCOSII系统移植到当前单片机上,并且建立相应的任务堆栈,通过调用任务堆栈的形式实现的对系统运行,将DHT11的Dout引脚与PG11连接,PG11引脚设置的为输入模式,用于采集Dout引脚的电平变化。开机的时候先检测是否有DHT11存在,如果没有,则提示错误。只有在检测到DHT11之后才开始读取温湿度值,并显示在LCD上,如果发现了DHT11,则程序每隔100ms左右读取一次数据,并把温湿度显示在LCD上。同时会使用一个LED来指示程序运行状况。 温湿度监控系统的软件设计主要分为的LED驱动程序、LCD驱动程序、DHT11驱动程

基于某STM32的PT100温度测量

基于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

基于STM32的温湿度检测和无线的传输

毕业设计(论文) 题目:基于STM32的温湿度检测和无线的传输 学院:信息工程与自动化 专业:自动化 学生姓名: 指导教师: 日期:

基于STM32的温湿度检测和无线的传输 摘要 随着嵌入式技术的发展,单片机技术进入了一个新的台阶,目前除最早的51单片机现在有了STM32系列单片机以AMR的各系列单片机,而本次毕业设计我采用STM32单片机来完成,目的是实现温湿度的采集和数据的无线传输,温湿度的采集是作为自动化学科中一个必须掌握的检测的技术,也是一项比较实用的技术。而无线的传输时作为目前一项比较前沿的技术来展开学习的,所有的新新产业中都追求小规模高效率,而无线的技术可以降低传统工程的工程量,同时可以节省大量由排线、线路维修、检测上的一些不必要的障碍和消耗。同时,在实时运行阶段也可以明显体现它的便携性,高效性和节能性。本次设计目的是做出成品,并能采集实时数据传输至上位机。 关键词:嵌入式技术;电路设计;STM32;cc1020无线传输;sht10温湿度采集;程序设计 引言 我的毕业设计做的是温湿度数据的采集和无线的传输。温湿度的采集的用途是非常的广泛的,比如说化工业中做酶的发酵,必须时刻了解所发酵酶的温湿度才可以得

到所需酶。文物的保护同样也离不开温、湿度的采集,不仅在文物出土的时刻,在博物馆和档案馆中,空气湿度和和空气质量条件的优劣,是藏品保存关键,所以温湿度的检测对其也是具有重要意义的。最后就是大型机房的温湿度的采集,国家对此有严格标准规定温湿度的范围,超出此范围会影响服务器或系统的正常工作等等。所以温湿度的检测是目前被广泛运用。 此次设计的芯片采用的是STM32,由于STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品。同时在编程方面STM32也具有和其他单片机的优势之处,如51单片机必须从最底层开始编程,而STM32所有的初始化和一些驱动的程序都是以模板的形式提供给开发者,在此开发者只需要了些其他的模块功能和工作方式和少量的语法知识便可以进行编程,此优势不但节约了时间,也为STM32的发展做出了强有力的铺垫,而且STM32目前是刚刚被作为主流开发的单片机,所以其前景是无可估量的,这次毕业设计也是看好了其优越的发展趋势来选择的。 无线通信是采用CC1020模块来实现的,大家都清楚现在的IT市场中“无线”这个词是很热门的,各种蓝牙、WI-FI、ZIG-BEE、3G渐渐的步入我们的生活中,人们都在不断向往着便携化,简洁化。而以上只是其一,在没无线的时代我们的计算机或是各种检测设备都需要用大把的I/o总线进行连接,这样不但占用的很大的地盘,也在这些线路上花费了大把的资金,若这些线路中的某个部分发生短路或者是老化可能造成不堪的后果,所以用无线取代有线也是电子行业发展的必然趋势,对其前景的了解和应用学习是非常有价值的。其应用领域:车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输、无线称重等 LCD1602的使用,这里使用1602的目的是为了可以得到实时的温湿度的数据,即为了在温湿度模块程序编写完成后烧入芯片可知其工作状态也可以作为一个读书的路径来使用。 之后是上下位机之间的数据接收,由于自动化本来就是为了实现自动控制,虽然此次设计只做了单方面的数据采集,但是这里连接上位机的目的就是使将来对此数据进行一个可控的操作返回至下位机对现场温湿度进行控制,在这里只是作为一种设想,在此次设计中未得实现。 1芯片模块 1.1 STM32介绍 1.1.1 ARM公司的高性能”Cortex-M3”内核

相关文档