×
嵌入式 > 嵌入式开发 > 详情

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

发布时间:2020-05-21 发布时间:
|
    测量温度一般采用热敏电阻做传感器,测量的方法有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:捕获、CCIlA输入引脚)。系统电路如图3所示。

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

    

若控制MSP430单片机的定时器A计数时钟的频率设置为f,则捕获到高电平时间内的计数值为NH,捕获到低电平时间内的计数值为NL,所以有:


 

        [page]

    因为f、C1、R1均为定值,所以Rt与N成正比,且增大f还可以提高测量精度。查表可得温度值。
    由上述测量原理可知,误差主要来源为:R1、R2精度,单片机的定时器和电容器的精度以及稳定度。这里选用高精度(士O.001%)、温度系数小于土O.3×10-6/℃的精密金属箔电阻器。因此当选用高精度、高稳定度的电容器,且单片机的工作频率足够高,就可以得到较好的测温精度。


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

   MSP430F1X定时器初始化所涉及的寄存器配置如下:

    TASSELx:4种时钟源供选择。
    IDx:4种预分频选择。
    MCx:TAR计数模式选择,MCx=11,上升沿和下降沿都捕获。
    TAIE:Timer_A中断使能,为“1”中断使能。
    CMx:捕获触发信号选择。
    SCS:捕获同步或异步选择,“O”同步、“1”异步。
    CAP:捕获模式选择,“O”比较、“1”捕获。
    CCIE:捕获/比较中断选择,为“1”中断使能。


4 软件设计
    基于MSP430单片机捕获中断测温程序流程如图5、图6所示,包括主程序流程、捕获中断和溢出中断流程。

    Timer_A初始化代码如下

[page]

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

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


结 语
    由测量原理知:被测电阻的阻值越大,测量误差越小。笔者已应用该方法设计出一款温度计,测量范围为一10~80℃,分辨率达到O.01℃,误差在O.3℃以内。该设计充分利用了MSP430单片机的捕获功能和低功耗功能,使得电路功耗低、电路简洁、价格低廉、精度高。

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
五大标准轻松搞定4K超高清电视选购