DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1629|回复: 1
打印 上一主题 下一主题

[待整理] 无需更换电池的数字倒计时定时器

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 10:28:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
无需更换电池的数字倒计时定时器

只需 MCU、LCD、32kHz 晶振以及一个电阻器即可构成一部基本的倒计时定时器,而且只需一颗普通的纽扣电池即可实现连续超过 10 年的工作时间,如图 1 所示。例如,此类倒计时定时器可用于餐馆提供服务时间保证,服务人员按下一个按钮即可启动倒计时定时器,微控制器开始自动倒计时,时间长短可预先设定,倒计时过程则会显示在显示屏上。如果服务人员在计时结束前尚未向客人提供服务,那么显示器就会闪动显示超时信息,提示未达到服务保证。有两大关键性设计可最小化功耗,并尽可能延长电池使用寿命,一是认真选择电池,二是充分利用 MCU 的低功耗模式。

    我们之所以选择 CR2032 纽扣式锂电池,主要是因为它占地较小,可以支持便携式应用,放电曲线较平,可以直接驱动 LCD,无需补偿,而且漏电极低,能够实现更长的工作时间。典型的 CR2032 额定容量约为 200mA,工作时间可持续数小时。为了实现连续工作 10 年的设计目标,平均系统电流消耗不得超过 2.28uA,电流消耗的计算方式为电池能量值除以应用的工作寿命,如下所示:

    我们选择 MCU 是由于其待机电流极低,仅为 0.8uA,并且还包含了晶体振荡器、集成 LCD 驱动器以及中断驱动唤醒定时器。3.5 英寸数字 LCD 显示屏增加了 1uA 的额外系统电流消耗。整个工作期间的倒计时定时器的总待机电流消耗如下:

    通常情况下,MCU 工作在待机模式下,时钟晶体频率为 32kHz 的定时器触发 1 秒中断,使 MCU 返回工作主循环 (Mainloop),主循环采用可以显著降低软件开销的直接 BCD 减法以实现软件倒计时寄存器的递减。我们向软件倒计时寄存器添加十进制的 99h,实际上减去的数为 1。直接 BCD 减法不仅有效,而且还可使倒计时直接显示在 LCD 上,而无需再进行耗费电流的二进制 BCD 减法运算。软件接下来在 LCD 上显示倒计时寄存器中的值。最后,倒计时寄存器中的值将与零相比较,以决定预编程的时间段是否已经到期,如果到期那么将显示超时信息。主循环要求 CPU 与片上高速振荡器在 250uA 电流消耗下工作。不过,由于我们在编写软件时已经将循环计数减至 100 以下,也就是说,在默认的 1MHz CPU 频率下相当于 100us,因此在这样短的工作时间内,主循环增加的电流消耗可以忽略不计,计算方法如下:

    数字倒计时定时器的总电流消耗为待机与主循环电流消耗之和:

    由于平均电流消耗约达到 1.8uA,这款倒计时定时器可轻易地实现电流消耗低于 2.28uA 的设计目标,从而能够连续工作 10 年以上。既然电池寿命可达 10 年,那么我们在设计倒计时定时器时可以采用长效电池,从而简化了其构造,同时也降低了单位成本。由于大量 MCU 功能与引脚尚未得到使用,因此我们还可用其添加额外特性。实施计数器所需的固件相当小,只在 MCU 的 8k 字节闪存上占用不到 250 字节。  

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 21:43 , 耗时 0.094892 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表