1. ADXL345传感器基础认知
ADXL345是ADI公司推出的一款经典三轴数字加速度计,采用MEMS技术制造,封装尺寸仅3mm×5mm×1mm。这款传感器在消费电子和工业领域应用广泛,从手机屏幕旋转到工业设备振动监测都能见到它的身影。
我最初接触ADXL345是在一个物联网项目中,需要监测设备的倾斜状态。当时以为接上就能用,结果踩了不少坑。这款传感器虽然引脚不多,但配置选项相当丰富,这也是容易出问题的原因之一。
传感器主要特性包括:
- 测量范围:±2g/±4g/±8g/±16g可编程选择
- 分辨率:13位(在±16g范围时)
- 输出数据速率:0.1Hz到3200Hz可调
- 通信接口:支持I2C和SPI双协议
- 超低功耗:测量模式下最低40μA
注意:虽然手册标称支持16g量程,但实际使用中超过8g时线性度会明显下降,建议根据应用场景合理选择量程。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件连接常见问题排查
2.1 接口模式选择与接线
ADXL345最让人头疼的就是它的接口配置。传感器通过CS引脚电平决定工作模式:
- CS接高电平:I2C模式
- CS接低电平:SPI模式
我遇到过最典型的问题就是CS引脚悬空导致通信异常。这个引脚内部有弱上拉,但实际使用中一定要明确接VCC或GND。曾经调试一整天找不到原因,最后发现是CS引脚虚焊。
I2C模式下的标准接线:
code复制VCC → 3.3V
GND → GND
SDA → MCU SDA
SCL → MCU SCL
CS → VCC
SPI模式下的接线要点:
code复制VCC → 3.3V
GND → GND
SDO → MCU MISO
SDA → MCU MOSI
SCL → MCU SCLK
CS → GND
2.2 电源与电平匹配
ADXL345的工作电压范围是2.0V-3.6V,绝对不能接5V!我烧毁过两个传感器才记住这个教训。如果MCU是5V系统,必须加电平转换电路。
电源滤波也很关键,建议在VCC引脚就近放置0.1μF陶瓷电容。曾经遇到数据跳动大的问题,就是忽略了这个小电容。
3. 寄存器配置详解
3.1 基础配置流程
ADXL345上电后默认处于待机模式,需要以下配置步骤:
- 设置POWER_CTL寄存器(0x2D)
