查看完整版本: 无需更换电池的数字倒计时定时器

liyf 发表于 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 字节。

李小路 发表于 2021-6-23 15:04:34

谢谢分享!:D
页: [1]
查看完整版本: 无需更换电池的数字倒计时定时器