基于PWM模式输出的温度传感器的测温系统

发布者:Yuexiang最新更新时间:2016-08-28 来源: eefocus关键字:PWM模式输出  温度传感器  测温系统 手机看文章 扫描二维码
随时随地手机看文章
1 引言


  数字式温度传感器主要的输出模式有PWM、SPI、I2C、SMBus等,当今主流的单片机几乎都支持这种接口方式,文中以PWM输出模式为例,讨论了PIC单片机对于这种输出模式的测温方案。PWM模式输出的数字温度传感器如TMP03/04、TPM05/06等,都是将传感器件测得的温度信息数字化后,经过一定的输出编码,调制成占空比与温度成正比的数字脉冲信号单线输出。输出信号接入微处理器后,只需测得数字脉冲信号的占空比就可由软件运算得到相应的温度信息。而对于微处理器来说,输入信号占空比的计算方式多种多样以PCI系列单片机为例,在PIC16、PIC17、PIC18中均可由CCP模块的捕捉功能、RB端口电平变化中断功能,外部中断功能等多种方法实现。以下将分别作以介绍。


  2 硬件设计

  由于数字式温度传感器直接输出数字脉冲信号,无需后续的AD转换和温度补偿,所以基于数字式温度传感器的测温电路硬件非常简单,仅需要单片机微处理器和传感芯片就可实现。除了个别集电极开路输出的传感芯片在接入单片机时需要外加上拉电阻以外,其余的传感芯片可与单片机直接相连。在此选用PCI系列单片机作为微处理器,ADI公司的TMP04数字式温度传感器作为传感芯片。

  2.1 PIC系列单片机简介

  PIC系列单片机是美国微芯(Microchip)公司生产的8位COMS单片机,它内部采用哈佛总线结构,使得全部指令单字节、单周期化,有利于提高CPU执行搜集的速度,从而提高单片机的运行速度。它的指令系统采用精简指令集(R1SC)技术,寻址方式非常简单,便于程序的编写与调试。它丰富的外部功能模块更是为外设提供了极其方便的接口,使得许多外部设备可以直接与微处理器进行通信。本设计采用的PIC18F458具有最大25mA的拉/灌电流、3个外部中断、4个定时器/计数器、2个捕捉/比较/脉冲调制(CCP)模块、SPI和I2C二种工作方式的主同步串行模块(MSSP)、可寻址的USART模块、高级10位8通道模数转换器以及集成的CAN总线模块等多种外围功能模块。

        2.2 数字式温度传感器TMP04简介

 

  TMP04是ADI公司生产的一款低功耗、高精度、宽动态输入范围的PWM模式输出的数字式温度传感器。TMP04是三端单线式器件,其总体功能框图如图1所示,测量结果以PWM编码式数字脉冲信号在DOUT引脚输出,输出信号的占空比与所测温度成正比,其输出编码格式以及具体的温度计算公式如图2所示。其中,T1一般为10ms,最大不赶12ms,T2随着温度的变化而变化,输出不同占空比的数字脉冲信号时表示不同的温度.

  TMP04内部含有一个由输入采样器、模拟求和器、积分器、比较器、1位DAC以及数字滤波器构成的∑-Δ型模数转换器,如图3所示。该模数转换器具有分辨率高、线性度好、抗混叠哭声和量化噪声能力强等诸多优点,非常适用于数字式温度传感器等微传感系统。由于∑-Δ型模数转换器的作用,TMP04的最大功耗不超过6.5mW,全程线性误差只有0.5℃,稳定性非常高。同时TMP04的动态输入范围比较大,精度也比较高,在-25℃~125℃温度范围内误差仅为1.5℃。TMP04还有一个与其结构、功能很类似的同类产品TMP03,二者唯一的区别就是TMP03的输出级采用集电极开路电路,输出电流可达5mA,驱动能力强,可驱动光耦实现远程测温,接入单片机时需要外接上拉电阻,而TMP04的输出级采用互补型MOSFET电路,其输出电平与COMS/TTL电路兼容,可直接接入单片机。

  3 软件设计

  由PWM编码的原理可知,要测出PWM数字脉冲信号所携带的温度信号,只要检测出数字脉冲信号的占空比即可,以PIC18系列为例,一个单片机有9个不同的端口(2个CCP模块端口、4个RB电平变换中断端口、3个外部中断INT端口),可以测出TMP04的输出温度,这为PWM编码式温度数字传感器提供了相当灵活的接口方式和更为广阔的应用空间。

  3.1 由CCP模块的捕捉功能实现

  捕捉/比较/脉宽调制CCP模块是PIC单片机特有的外围功能模块,它与TMR1和TMR2配合使用实现输入捕捉、输出比较和脉宽调制输出等功能。其中输入捕捉模式用于测量引脚输入信号的周期、频率、脉宽、信号的到达时刻以及消失时刻等。结合TMP04输出信号的特点,可以利用CCP模块分别测量出TMP04输出信号的高电平脉宽T1和低脉宽T2,然后间接算出信号的占空比,从而得到TMP04输出的温度信息。详细的程序流程图如图4所示。
  

       3.2 由RB端口电平变化中断实现 

  与其它单片机不同,PIC单片机的RB4-RB7端口具有输入电平变化中断功能,当RB4-RB7任意一个引脚上的输入电平发生变化(由高变低或由低变高)时,都可以引起CPU中断,执行中断处理程序。因此,可以将TMP04的输出信号输入RB4,当输入RB4的信号发生跳变时,利用RB4的电平变换中断调用中断处理程序分别对信号高低电平的脉宽进行测量,从而间接算出信号的占空比,最终得到TMP04输出的温度信息。程序流程图如图5所示。


  3.3 由外部中断INT实现

  由外部中断INT实现与由RB端口电平变化中断实现的设计方案类似,都是由单片机响应电平变化产生中断,再通过中断服务程序计算高低脉宽,从而得到TMP04输出信号的占空比和所携带的温度信息。所以由外部中断INT实现和由RB端口电平变化中断实现程序类似,只是将中断源改为INT0(INT1,INT2均可)中断,使能INT0中断使能位INT0IE,判断INT0中断标志位INT0IF,由于INT0输入为RB0引脚,上例中设RB0为输入,并由INTEDG0判断高低电平即可,注意要启动RB口的弱上拉功能,其总体的程序流程程图类似图5。

  4 实验数据对比

  利用简单的电路及以上软件程序在室温为24.1℃时,笔者用三种方法测量温度,为了得到更好的精度,每种分别设计了泄编和C评议二种测温程序,其结果与平均值如表1所示。

  表1 测试结果与平均值

  5 结束语

  由于测量脉宽是由定时器在高电平(低电平)期间计数实现的,所以单片机的指令周期将直接影响到测量的精度,指令周期越短精度越高。但是如果指令周期短而晶振频率高,将会引入高频干扰,所以晶振要根据系统实现情况选取。此外还要注意PIC单片机定时器预分频比的设定,应在保证测量传感器信号脉宽进不会发生溢出的情况下使分频比最小,这样有利于提高测量精度。

关键字:PWM模式输出  温度传感器  测温系统 引用地址:基于PWM模式输出的温度传感器的测温系统

上一篇:基于AD9957的USB侧音测距信号发生器设计
下一篇:串联电池电压及温度测量方法研究

推荐阅读最新更新时间:2024-03-30 23:22

伍尔特电子全新温度传感器IC,小巧、准确,用途广
尽管伍尔特电子的WSEN-TIDS温度传感器的尺寸仅为2.0×2.0×0.5mm,但其应用范围广泛:当测量范围为-40至125°C时,其精度为±0.5°C;测量范围为-10至60°C时,其精度可精确至±0.25°C。该传感器既可用于电源、供暖、通风、空调和冷链监控的PCB温度监控和系统监控,也可用于工业控制、家用电器,或可穿戴设备的传感器技术应用中。 该传感器在出厂时已经校准,因此,用户无需重新费时测量即可使用。传感器的16位输出信号可以通过I2C接口读出,读出数据速率可调,最高可达200Hz。可选的附加中断引脚可用来指示何时超过了编程的温度阈值。WSEN-TIDS的工作电压范围为1.5至3.6V,电流消耗仅1.75μA,因
[传感器]
伍尔特电子全新<font color='red'>温度传感器</font>IC,小巧、准确,用途广
基于ARM和DS18B20设计网络化的智能温度传感器
1 网络化智能传感器简介 网络化智能传感器使传感器由单一功能、单一检测向多功能和多点检测发展;从被动检测向主动进行信息处理方向发展;从就地测量向远距离实时在线测控发展。网络化使得传感器可以就近接入网络,传感器与测控设备间再无需点对点连接,大大简化了连接线路,易于系统的维护和扩充。网络化智能传感器一般由信号采集单元、数据处理单元和网络接口单元组成。这3个单元可以是采用不同芯片构成合成式的,也可以是单片式结构。网络化智能传感器的核心便是嵌入式微处理器。嵌入式微处理器具有体积小、功耗低、可靠性高、可抗干扰能力强等特点。本系统就是采用嵌入式微处理器作为核心,使用数字式的温度传感器作为采集单元。系统设计中采用的是信息技术领域最新的B/S(B
[单片机]
基于ARM和DS18B20设计网络化的智能<font color='red'>温度传感器</font>
DS18B20温度传感器完整C程序
#include reg51.h #include intrins.h //_nop_();延时函数用 #define Disdata P0 //段码输出口 #define discan P2 //扫描口 #define uchar unsigned char #define uint unsigned int sbit DQ=P3^7; //温度输入口 sbit DIN=P0^0; //LED小数点控制 uint h; uint temp; // // //***********
[单片机]
基于AD7793的完整热电偶测温系统
电路功能与优势   图1所示电路是一个基于24位Σ-Δ型ADC AD7793 的完整热电偶系统。AD7793是一款适合高精度测量应用的低功耗、低噪声、完整模拟前端,内置PGA、基准电压源、时钟和激励电流,从而大大简化了热电偶系统设计。系统峰峰值噪声约为0.02°C。      图1. 带冷结补偿的热电偶测量系统(原理示意图:未显示去耦和所有连接)   AD7793的最大功耗仅500 μA,因而适合低功耗应用,例如整个发送器的功耗必须低于4 mA的智能发送器等。AD7793还具有关断选项。在这种模式下,整个ADC及其辅助功能均关断,器件的最大功耗降至1 μA.   AD7793提供一种集成式热电偶解决方案,可以
[模拟电子]
基于AD7793的完整热电偶<font color='red'>测温</font><font color='red'>系统</font>
温度传感器简介
温度是一个基本的物理量,自然界中的一切过程无不与温度密切相关。温度传感器是最早开发,应用最广的一类传感器。温度传感器的市场份额大大超过了其他的传感器。从17世纪初人们开始利用温度进行测量。在半导体技术的支持下,本世纪相继开发了半导体热电偶传感器、PN结温度传感器和集成温度传感器。与之相应,根据波与物质的相互作用规律,相继开发了声学温度传感器、红外传感器和微波传感器。 两种不同材质的导体,如在某点互相连接在一起,对这个连接点加热,在它们不加热的部位就会出现电位差。这个电位差的数值与不加热部位测量点的温度有关,和这两种导体的材质有关。这种现象可以在很宽的温度范围内出现,如果精确测量这个电位差,再测出不加热部位的环境温度,就可以准确
[嵌入式]
M8,ICCAVR下的温度传感器18B20程序
本程序为采用mega8 和18b20的温度采集程序 选用mega8内部8M RC震荡,18b20 数据线接pd6,数据线和vcc间接一4.7k上拉电阻 感谢dfgeoff 嗜血蜗牛提供的资料*/ #include iom8v.h //和单片机类型相对应的头文件,选择Atmega8做实验; #include macros.h #define uchar unsigned char #define uint unsigned int void init_1820(); write_1820(uchar x); uchar read_1820(); void send_byte(uchar x); void del
[单片机]
温度传感器输出485通信的2种方式
温度传感器经常被用于各行各业,但是传统的温度传感器都是电阻输出或者是4-20ma,0-5V等模拟输出,但是随着计算机的普及,很多客户要求提供带通信的温度传感器,一般要求的是485通信的温度传感器,那485通信的温度传感器是怎样实现的呢?     传统的温度传感器模拟输出是很好做成的,以前为了得到485通信一般都是接触特制的带有通信的仪表来输出485信号,这种方式的优点是实现起来比较方便,操作简单,而且总体价格便宜,但是缺点是必须配一个仪表,这样占据空间大,安装不灵活,在有限的空间内使用起来比较麻烦,而且不方便集成。     随着传感器技术的发展,现在越来越多的厂家生产出内置485输出的温度传感器,这种传感器能够不用借助仪表就可以直
[嵌入式]
STM32的ADC及内部温度传感器的使用
STM32自带1-3个ADC模块,采样精度达到了12位,比起当年使用的AVR单片机的10位来说,上了个小档次了~本测试程序采用了ADC DMA的中断方式,这样CPU就可以把ADC的任务交给DMA这个勤劳肯干的部下了,当DMA完成了一次任务之后会产生中断,告诉CPU可以来查收结果了!DMA也是在嵌入式系统中非常常用的,例如在LCD中,数据拷贝中等。。。在STM32F103RBT6中,ADC1和ADC2共用一组管脚   总体编程思路和顺序如下:   1.初始化RCC相关,使得系统有时钟,功能模块如ADC、DMA有时钟。   2.GPIO相关初始化,比如常用的指示灯,ADC的管家要设置为输入等。   3.NVIC向量中断的配置,
[模拟电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved