打印
[电源]

MSP430单片机的热敏电阻温度测量

[复制链接]
1739|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianyu01|  楼主 | 2011-12-23 13:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测量温度一般采用热敏电阻做传感器,测量的方法有R—V转换电压测量法和R—F转换频率测量法。这两种方法的电路复杂且成本高,电路中很多元器件直接影响测量精度。本文论述一种类R—F转换频率的测量法,用NE555定时器和热敏电阻等器件构成振荡器,由MSP430单片机的捕获功能来捕获多谐振荡器输出信号的高低电平并计数,热敏电阻Rt与捕获高低电平时的计数值的差值成正比关系。该方法电路简单、成本低,系统流程框图如图1所示。



1负温热敏电阻

PT-25E2热敏电阻温度阻值变化曲线如图2所示。PSB型负温热敏电阻由Co、Mn、Ni等过渡金属元素的氧化物组成,经高温烧成半陶瓷,利用半导体毫微米的精密加工工艺,采用玻璃管封装,耐温性好,可靠性高,反应速度快且灵敏度高。它采用轴向型结构,便于安装,能承受更高温度,且玻璃封装耐高低温(-50~350℃)。



2 MSP430单片机计数法测温原理

以NE555定时器为核心组成典型的多谐振荡器,把被测热敏电阻Rt作为定时元件之一接入电路中,NE555定时器输出引脚接MSP430单片机的P1.2脚(Timer_A:捕获、CCI1A输入引脚)。系统电路如图3所示。



由NE555工作原理可知,多谐振荡器输出信号(周期性矩形波)的高电平时间(1个周期内)为:



由上述测量原理可知,误差主要来源为:R1、R2精度,单片机的定时器和电容器的精度以及稳定度。这里选用高精度(±0.001%)、温度系数小于±0.3×10-6/℃的精密金属箔电阻器。因此当选用高精度、高稳定度的电容器,且单片机的工作频率足够高,就可以得到较好的测温精度。

3 MSP430单片机捕获原理

捕获计数法的原理如图4所示。通过MSP4.30单片机TACTL寄存器给定时器A设置一个固定的时钟频率,和计数模式(本系统设为连续模式)。又知Timer A工作在连续计数模式时,TAR(16位)计数范围是O-FFFFH值。定时器A连续模式计数启动后,TAR的值开始从0-FFFFH—O—FFFFH……不断重复计数,直至软件控制其停止计数为止;同时设置TACCTL寄存器的CMx、CAP、CCIE位,在多谐振荡器输出方波的上升沿和下降沿都触发捕捉并中断。这样当每次沿到来,进入中断并捕获上升沿和下降沿时刻的值(如TACCRla、ACCR1b、TAC—CRlc、TACCR1d......),然后用此次捕获的值减去上次捕获的值即可得高或低电平时间内的计数值NH、NL。例如:NH=TACCR1b-TACCRla、NL=TACCR1c-TACCR1b,代入式4、式5便可得出Rt的值,查表即得温度值。



    TASSELx:4种时钟源供选择。

    IDx:4种预分频选择。

    MCx:TAR计数模式选择,MCx=11,上升沿和下降沿都捕获。

    TAIE:Timer_A中断使能,为“1”中断使能。

    CMx:捕获触发信号选择。

    SCS:捕获同步或异步选择,“0”同步、“1”异步。

    CAP:捕获模式选择,“0”比较、“1”捕获。

    CCIE:捕获/比较中断选择,为“1”中断使能。

4软件设计

基于MSP430单片机捕获中断测温程序流程如图5、图6所示,包括主程序流程、捕获中断和溢出中断流程。  Timer_A初始化代码如下(MSP430F149):





捕获终端和溢出中断函数代码如下:



代入常量f、C1、R2的值,即可得热敏电阻阻值,通过查表可得温度值。查表温度间隔一般为1℃,如果忽略热敏电阻1℃以内的非线性误差,可以将两摄氏度之间取线性计算,这样可以得到0.01℃的分辨率。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

785

帖子

1

粉丝