首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于SlopeA/D实现的超低功耗温度控制仪
来源:本站整理  作者:佚名  2011-11-01 07:28:13



  A/D模数转换器在很多微处理器系统中是必需的,对于内部没有集成A/D模块的某些MSP430单片机,利用其片内集成的比较器和定时器;采用Slope(斜边)A/D实现信号的数字化。本文利用MSP430F413内部集成的比较器和定时器实现SlopeA/D转换,通过测量外部热敏电阻阻值的方法实现超低功耗温度控制仪的设计,同时将获得的温度值和设定值进行比较来点亮LED,表示所操作的状态,最后对系统功耗进行评估和分析。

  SlopeA/D原理

      SlopeA/D技术是利用比较器而不是标准的ADC模块实现A/D转换,通过对已知容量的电容进行充、放电,记录电容放电时间,然后计算出实际的电压值达到对电压数字化。可以通过测量具有变化阻抗元件如热敏电阻进行电压数字化,若电阻不变则电压和放电时间存在V-T指数函数关系,也可以进行电阻数字化,电压不变则电阻和放电时间存在线性关系,而微控制器完成线性关系转换比计算V—T指数函数关系转换更容易,本文采用后一种方法。

  MCU通过SIopeA/D转换测量阻抗的电路原理图如下图所示,

通过被测电阻Rsens和参考电阻Rref对电容进行放电,测量两者放电时间得出两者关系,具体测量方法如下:

  测量Rsens阻值,首先将P1.4口置为高电平,对电容Cm进行充电,定时器TAR开始计时,然后将P1.4口置为低电平,电容Cm通过电阻Rsens放电,当电容电压降到比较器参考电压Vcaref时,比较器输出端(CAOUT)跳变,同时捕捉定时器TAR值并保存到寄存器CCR1中,该值即为被测电阻Rsens的放电时间tsens,同理对电阻Rref重复以上过程,得出参考电阻的放电时间tref,两种放电情况下Vcaref值不变,计算出唯一的未知量Rsen,大多数利用SlopeA/D测量阻值的方案都采用该方法,比指数运算计算量小且精度高。

  温控仪原理以MSP430F413微控制器的DEMO板为例,结合上述介绍的阻值测量方法实现超低功耗温控仪。首先热敏电阻的阻值通过SlopeA/D转换得到,查表获得环境温度,MCU通过设置按键改变不同工作模式和设定温度值,再根据不同工作模式驱动LCD显示当前温度、设定温度及设定时间等值。

  硬件设计温控仪的原理框图和原理图分别如下图所示,

包括MSP430F413、LCD显示、实时时钟和设置按键输入,由中断触发主循环每秒运行一次,执行完毕后进入LPM3模式实现系统超低功耗。

  工作模式MCU的DEMO板设置有两个按键,一个“模式”按键切换不同的工作模式,另一个“设置”按键实现不同工作模式下的某些功能设置。

  1.模式按键(MODE_KEY)每按一次MODE_KEY键,显示当前工作模式的内容,从模式1到模式8按下面的顺序工作:

  模式1显示当前温度值(默认的显示状态),LCD显示采样的当前温度,DEMO板华氏温度测量范围为60~95F,摄氏温度测量范围为14~50℃,如果测量时超出范围值或传感器出现短路、断路,LCD上显示测温溢出提示符“---”标志,如果当前温度值低于设定温度值,LED控制指示灯点亮。

  模式2设置目标温度,显示用户设定的目标温度,LCD以O.5s的频率闪烁,通过“SET_KEY”按键设置设定温度值,每按一次“SET_KEY”键目标温度在调整范围内增加1F或1℃,同时将设定的温度值保存到MCU内部“InformationA”里。

  模式3显示12制实时系统时钟(时、分),此模式下如果没有“SET_KEY”或“MODE_KEY”键按下超过5s自动切换到模式1默认的显示状态下。

  模式4设置系统时钟“分”,LCD显示系统时钟“分”,以O.5s的频率闪烁,通过设置“SET_KEY”键,每按一次系统时钟“分”,在调整范围内加1分钟。

  模式5设置系统时钟“时”,LCD显示系统时钟“时”,以0.5s的频率闪烁,通过设置“SET_KEY”键,每按一次系统时钟“时”在调整范围内加1小时。

  模式6显示系统时钟“秒”。

  模式7测试低功耗状态A(LPM3+LCD显示),进入此模式后系统关闭2s,定时测温处于LPM3模式,RTC时钟运行并定时刷新LCD显示,LCD显示“LPXX”,其中“LP”为低功耗,“XX”为时钟“秒”。

  模式8测试低功耗状态B(LPM3),进入此模式后系统关闭2s,定时测温,同时关闭LCD显示,仅RTC时钟运行系统处于LPM3模式下。

  2.设置按键(SET_KEY)在模式2、模式4和模式5状态下,  “SET_KEY”键有效,用来调整当前模式的内容。模式2状态时每按一次“SET_KEY”键,温度增加1℃或1F,以℃为单位时在14-50℃范围内调整,以F为单位时在60~95F范围内调整:模式4状态时每按一次“SET_KEY”键,时钟“分”在0~59范围内调整增加1;模式5状态时每按一次“SET_KEY”键,时钟“时”在O-12范围内增加1。

  中断和低功耗模式分配A-CLK为系统时钟源,为充分体现低功耗,程序要求分时工作的同时尽可能进入合理的睡眠模式,并利用中断模式唤醒。简单列举睡眠模式和中断唤醒:LPMO模式时5ms电容充电中断,LPM3模式时O.5s定时中断,20ms键盘消抖中断,放电检测中断;同时1s内可以分时完成如修改时钟、测量温度、修改显示、扫描键盘以及温度设定和时钟设定等工作。

  温控仪的实物图如下图所示。

  软件设计各中断服务程序及主程序流程图分别如下图所示。

  功耗分析

系统功耗分析图如下图所示,

图中近似相等的时间和电流均用统一的状态标号,不同状态标号对应的电流值和意义如下表所示,

状态标记 功能描述 执行时间 工作状态 电流耗损
1 主程序运行活动模式 70μs(每次) LCD显示CPU运行 1μA+300μA=301μA
2 电容充电 5.000ms(每次) LCD显示CPU睡眠(LPMO) 1μA+94μA=95μA
3 电容放电 1.400ms(每次) 比较器A运行LCD显示CPU运行 47UA+IUA+94UA=142μA
4 主程序放电处理 310μS LCD显示CPU运行 1μA+300μA=301μA
5 睡眠 985.955ms LCD显示CPU睡眠(LPM3) 1μA+0.9μA=1.9μA
6 每秒钟修改时钟并显示 247μs(每次) LCD显示CPU运行 1μA+300μA=301μA
7 睡眠 999.753ms(每次) LCD显示CPU睡眠(LPM3) 1μA+O.9μA=1.9μA

系统运行时主程序循环一次所消耗的功率值如下表所示,

状态标记 执行次数 电流(典型值) 持续时间 总时间 μA-ms
1 4 301μA 0.070ms 0.28ms 84.28
2 2 95μA 5.000ms 10.000ms 950
3 2 142μA 1.400ms 2.800ms 397.6
4 1 301μA 0.310ms 0.310ms 93.31
5 1 1.9μA 986.61ms 986.61ms 1874.559
6 1 301μA 0.720ms 0.720ms 216.72
7 1 1.9μA 999.280ms 999.280ms 1898.632
        2s 5515.101
          2.757μA/s

其中电容,二极管和I/O口的漏电流忽略不计。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:76,453.13000 毫秒