内容简介:我是潘,曾经是个工程师。这是为 Ardui.Co 制作的 “Arduino 魔法书” 系列的专栏。上节课介绍了怎么让Arduino 全速运行,但大部分时候我们更希望 Arduino 能慢下来,节省更多的电能,让设备在户外数据采集等取电不便的地方,运行的更久。降低 Arduino 的速度,最简单粗暴的方式就是换一个频率低的晶振(硬件层面),UNO 和Mage2560 默认使用16MHz的晶振,换成8MHz,速度就会降下来一半。对即将进入成品阶段的设计,建议在硬件层面修改,因为这是最可靠稳定的。如果还在验证和
我是潘,曾经是个工程师。这是为 Ardui.Co 制作的 “Arduino 魔法书” 系列的专栏。上节课介绍了怎么让Arduino 全速运行,但大部分时候我们更希望 Arduino 能慢下来,节省更多的电能,让设备在户外数据采集等取电不便的地方,运行的更久。
降低 Arduino 的速度,最简单粗暴的方式就是换一个频率低的晶振(硬件层面),UNO 和Mage2560 默认使用16MHz的晶振,换成8MHz,速度就会降下来一半。对即将进入成品阶段的设计,建议在硬件层面修改,因为这是最可靠稳定的。如果还在验证和开发的阶段呢?软件方式会比较便利。
软件方式就是修改时钟分频寄存器(CLKPR),它决定了CPU 运行的速度。要注意的是, 速度一旦改变,就会影响delay()、millis() 等时间相关的函数,而且会影响ADC、串口等外围设备 。CLKPR 根据下表的值控制CPU的分频比(晶振频率除以分频比,即为CPU运行速度):
修改CLKPR 需要一个特殊过程,第一步,先将它的第7位(即 CLKCE)设置为1,并将其他位置零;第二步,给CLKPR 赋值。而且这个过程必须在4个周期内完成写入动作 -_-!! 所以过程中,最好禁止所有中断。
/*
作者:Ardui.co
效果:改变CPU速度
版本:1.0
更新时间:2018年5月29日
*/
void setup() {
bitSet(DDRB, 5);
noInterrupts();
CLKPR = 1 << CLKPCE;
CLKPR = 8;// 将CPU速度设置为 16MHz / 256
interrupts();
}
void loop() {
bitSet(PINB, 5); // 翻转
delay(4);// CPU慢了256倍,所以延迟时间为 4ms * 256
}
由于 CPU 的速度只有原来的1/256,Arduino 的示例程序程序Blink 中,延时函数 delay(1000) ,延迟时间即 1000ms * 256,超过4分种,闪烁实在太慢了,所以这里将延迟函数改为 delay(4),即1.024秒。
使用USB计量器测量降速后(下图一)和原速(下图二)的功耗,降速后功耗降低了10mA左右,节约了 20% 功耗。
节约10mA 是什么概念呢?计算一下:
原速运行时,Arduino UNO的功耗为 P = 0.05A * 5V = 0.25W
2节AA碱性电池升压(假设转换效率100%),工作在100mA 放电电流时,电量约 Q = 2Ah * 3V = 6Wh
即Arduino 可以运行 Q/P = 6Wh / 0.25A = 24h, 节能后 24h * (1 + 20%) = 28.8h
Arduino UNO 已经在龟速运行了,应该很省电,为什么也就能跑一天多?看来 Arduino 是相当耗电的。
不过,元凶是CPU吗?
其实,最耗电的是Arduino UNO 上的USB模块,而不是CPU。如果换成不带USB模块的 Arduino mini 来重复这个实验 Arduino 省电效果达90%以上,实际测试一下:
去掉 USB 模块后,耗电大幅下降80%以上。降速(上图一)和满速(上图二)的Arduino mini 功耗分别只有 4mA 和 10.55mA!
由于两颗板载 LED 功耗大概2mA * 2左右(其中一颗常亮),也就是说 Arduino mini 上单块 ATmega328P 的功耗只有 <1mA 和 6.5mA,降速后的功耗还不到原来的1/6!与满速的 Arduino UNO 相比不到 1/50 。
Arduino mini 的供电只需 3.3V,降速后的功率为 0.0033W。2节AA电池就可以让其运行 6Wh / 0.0033W = 1818h = 78天,两个多月时间!
但这个数字还不够理想,如果是户外采集数据,我们往往希望电池的寿命在半年、甚至一年以上,即使采用太阳能供电,Arduino 越省电,电池板体积也就能做的越小、成本越低。
另外,耗电的不止Arduino,还有更耗电的外部设备。有没有比降速更省电,同时让外围设备不耗电的方式呢?答案是肯定的。
后面的章节将介绍 Arduino 睡眠模式,不需要工作时,让系统打个盹,甚至睡个懒觉,进入冬眠状态,达到极致省电的状态,甚至2节AA电池就能让它工作2年以上。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
技术元素
[美] 凯文·凯利 / 张行舟、余倩、周峰、管策、金鑫、曾丹阳、李远、袁璐 / 译言·东西文库/电子工业出版社 / 2012-5 / 55.00元
我会将我不成熟的想法、笔记、内心争论、草稿以及对其他文章的回应都写在《技术元素》中,这样我就能知道自己到底在想些什么。——KK “技术元素”(technium)是凯文•凯利专门创造出来的词语。“技术元素不仅仅包括一些具象的技术(例如汽车、雷达和计算机等),它还包括文化、 法律、社会机构和所有的智能创造物。”简而言之,技术元素就是从人的意识中涌现出来的一切。KK把这种科技的延伸面看成一个能产生......一起来看看 《技术元素》 这本书的介绍吧!