热点资讯
基于PWM模式输出的温度传感器的测温系统
时间: 2011-11-03 23:10 浏览次数:
本文以PWM模式输出的TMP04型数字式温度传感器为例,介绍由PCI单片机实现的几种测温方案,并给出软件设计流程。

       数字温度传感器可直接与微处理器进行接口,大大方便了传感器输出信号的处理。本文以PWM模式输出的TMP04型数字式温度传感器为例,介绍由PCI单片机实现的几种测温方案,并给出软件设计流程。

  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总线模块等多种外围功能模块。

  

 

 

 

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单片机定时器预分频比的设定,应在保证测量传感器信号脉宽进不会发生溢出的情况下使分频比最小,这样有利于提高测量精度。

Copyright ©  版权所有 粤ICP备12082730号-2
咨询热线:137-2421-1742   QQ:2735 87871