Arduino 编程技巧 睡眠模式的运用 2个AA电池运行一年的秘密(未完待续)

来源:互联网 发布:vscode markdown 编辑:程序博客网 时间:2024/06/05 19:21

睡眠模式结合中断一起应用,可以达到省电的功能

Arduino Uno板子上有USB转接口,所以就算进入关机的睡眠模式,还是会消耗50mA的电流,
如果实验完成,可以选择没有usb接口的板子制作作品,这样就更省电。


主要参考   https://swf.com.tw/?p=525
                   http://playground.arduino.cc/Code/Enerlib
                   http://www.geek-workshop.com/thread-12261-1-1.html


下载库文件

先下载
Arduino的睡眠模式可以用Enerlib库进行调用, 下载地址是 Enerlib 1.0.1


睡眠模式

以下表格,转载自 

睡眠模式

Energy指令

中文直譯

消耗電流

Idle

Idle()

閒置

15mA

ADC Noise Reduction

SleepADC()

類比數位轉換器降低雜訊

6.5mA

Power-save

PowerSave()

省電

1.62mA

Standby

Standby()

待機

1.62mA

Extended Standby

 

延長待機

0.84mA

Power-down

PowerDown()

斷電(关机)

0.36mA


空闲模式Idle
当SM2..0 为000 时, SLEEP 指令将使MCU 进入空闲模式。在此模式下,CPU 停止运
行,而SPI、USART、模拟比较器、ADC、两线串行接口、定时器/ 计数器、看门狗和
中断系统继续工作。这个睡眠模式只停止了clkCPU 和clkFLASH,其他时钟则继续工作。
象定时器溢出与USART 传输完成等内外部中断都可以唤醒MCU。如果不需要从模拟比
较器中断唤醒MCU,为了减少功耗,可以切断比较器的电源。方法是置位模拟比较器控
制和状态寄存器ACSR 的ACD。如果ADC 使能,进入此模式后将自动启动一次转换。



ADC 噪声抑制模式ADC Noise Reduction
当SM2..0 为001 时, SLEEP 指令将使MCU 进入噪声抑制模式。在此模式下,CPU 停
止运行,而ADC、外部中断、两线接口地址配置、定时器/ 计数器2 和看门狗继续工作。
这个睡眠模式只停止了clkI/O、clkCPU 和clkFLASH,其他时钟则继续工作。
此模式提高了ADC 的噪声环境,使得转换精度更高。ADC 使能的时候,进入此模式将
自动启动一次AD 转换。ADC 转换结束中断、外部复位、看门狗复位、BOD 复位、两线
接口地址匹配中断、定时器/ 计数器2 中断、SPM/EEPROM 准备好中断、外部电平中断
INT0 或INT1,或外部中断INT2 可以将MCU 从ADC 噪声抑制模式唤醒。


掉电模式
当SM2..0 为010 时, SLEEP 指令将使MCU 进入掉电模式。在此模式下,外部晶体停
振,而外部中断、两线接口地址匹配及看门狗(如果使能的话)继续工作。只有外部复
位、看门狗复位、BOD 复位、两线接口地址匹配中断、外部电平中断INT0 或INT1,或
外部中断INT2 可以使MCU 脱离掉电模式。这个睡眠模式停止了所有的时钟,只有异步
模块可以继续工作。


省电模式
当SM2..0 为011 时, SLEEP 指令将使MCU 进入省电模式。这一模式与掉电模式只有
一点不同:
如果定时器/ 计数器2 为异步驱动,即寄存器ASSR 的AS2 置位,则定时器/ 计数器2 在
睡眠时继续运行。除了掉电模式的唤醒方式,定时器/ 计数器2 的溢出中断和比较匹配中
断也可以将MCU 从休眠方式唤醒,只要TIMSK 使能了这些中断,而且SREG 的全局中
断使能位I 置位。
如果异步定时器不是异步驱动的,建议使用掉电模式,而不是省电模式。因为在省电模式
下,若AS2 为0,则MCU 唤醒后异步定时器的寄存器数值是没有定义的。
这个睡眠模式停止了除clkASY 以外所有的时钟,只有异步模块可以继续工作。



Standby 模式
当SM2..0 为110 时, SLEEP 指令将使MCU 进入Standby 模式。这一模式与掉电模式
唯一的不同之处在于振荡器继续工作。其唤醒时间只需要6 个时钟周期。

扩展Standby 模式
当SM2..0 为111 时, SLEEP 指令将使MCU 进入扩展的Standby 模式。这一模式与省
掉电模式唯一的不同之处在于振荡器继续工作。其唤醒时间只需要6 个时钟周期。





阅读全文
0 0