时间:2025-08-12 16:37
人气:
作者:admin
在做电池供电的可穿戴设备和 IoT 节点时,加速度计的功耗经常被忽略,但它可能是系统待机电流的大头。
Analog Devices 的 ADXL366 是我用过的功耗最低的三轴加速度计之一,集成了很多能替 MCU 干活的功能,能在硬件层面帮我们做功耗管理。
*附件:adxl366.pdf
ADXL366 的低功耗不仅在传感器本身,还体现在它能替 MCU 做预处理,减少唤醒次数:
AWAKE
信号假设要实现“静止时低功耗,检测到运动后切到高精度测量”:
// SPI 写寄存器函数
void adxl366_write(uint8_t reg, uint8_t val) {
uint8_t buf[2] = { reg | 0x0A, val }; // 写指令 + 寄存器地址
spi_transfer(buf, NULL, 2);
}
// 进入参考模式活动检测
void adxl366_init(void) {
// 待机模式修改配置
adxl366_write(0x2D, 0x00); // POWER_CTL: standby
// 活动检测阈值: 250 mg
adxl366_write(0x20, 0x00);
adxl366_write(0x21, 0xFA);
// 活动检测时间: 1 sec @ 100Hz
adxl366_write(0x22, 100);
// 启用活动检测(参考模式),Loop 模式,活动/静止切换
adxl366_write(0x27, 0x3F);
// 切到测量模式
adxl366_write(0x2D, 0x07); // POWER_CTL: measurement + autosleep
}
VREG_OUT
需接 0.2 µF 电容到 GND,否则会有异常复位PEDOMETER_SENS_H/L
在我们最近的一个可穿戴项目里,用 ADXL366 + Loop 模式的活动/静止检测,把 MCU 唤醒频率从每秒几十次降到几分钟一次,CR2032 电池寿命直接翻倍。
如果你的设计目标是 超低功耗 + 运动检测 ,ADXL366 值得优先考虑。
+3.0V (或纽扣电池)
│
┌─┴──────────────┐
│ ADXL366 │
│ │
VDDIO──┤12 10 ├──VS (+3.0V)
GND───┤ 7 11├──GND
VREG_OUT─┤ 9 8├──ADC_IN (NC 或接GND)
SCLK─────┤ 1 5├──INT1 (接MCU中断输入)
MOSI/SDA─┤ 2 6├──INT2 (可选)
MISO/ASEL┤ 3 4├──CS/SCL
└────────────────┘
注意要点 :
VREG_OUT
→ GND 加 0.2 µF 去耦电容(必须,否则可能复位不稳定)时间轴 →
──────────────────────────────────────────────────────────────
状态: [活动检测]------------------->[静止检测]----------------->
AWAKE: ──────────────1─────────────┐ 0
│
INT1: ____↑_______________________↓_________↑__________________
活动中断 静止中断 再次活动中断
说明 :
https://file.elecfans.com/web1/M00/82/2B/pIYBAFw2-D