基于STM32硬件IIC的ADS1115四通道电压采集实战

1. 硬件IIC与ADS1115的完美组合

在实际的嵌入式开发中,我们经常需要采集多个传感器的模拟信号。STM32F103系列微控制器自带的硬件IIC接口,配合ADS1115这款16位高精度ADC芯片,可以说是多通道电压采集的黄金搭档。我自己在做智能家居传感器项目时,就深度使用过这个方案,实测下来稳定性和精度都很令人满意。

硬件IIC相比软件模拟IIC有个很大的优势——它不占用CPU资源。STM32的硬件IIC控制器会自动处理起始位、停止位、应答位这些通信细节,你只需要配置好寄存器,它就能在后台自动完成数据传输。这对于需要实时处理多任务的系统来说特别重要,毕竟CPU时间是很宝贵的资源。

ADS1115是TI推出的一款16位精度ADC,内置可编程增益放大器(PGA),支持四路单端或两路差分输入。最高860SPS的采样率对于大多数传感器应用都绰绰有余。最重要的是,它通过IIC接口与MCU通信,只需要两根信号线就能读取四个通道的数据,极大简化了硬件布线。

2. 硬件连接与电路设计

2.1 引脚分配与连接

STM32F103C8T6的硬件IIC接口有两组:I2C1和I2C2。我习惯使用I2C1,因为它的引脚PB6(SCL)和PB7(SDA)位置比较方便布线。但有些开发板可能把这些引脚用作其他功能,所以也可以使用I2C2的PB10(SCL)和PB11(SDA)。

ADS1115模块的接线非常简单:

  • VCC接3.3V(注意不要接5V,虽然模块有电平转换,但为了稳定性最好用3.3V)
  • GND接共地
  • SCL接STM32的SCL引脚
  • SDA接STM32的SDA引脚
  • ADDR引脚接地(这样器件地址就是0x48)

如果要用多个ADS1115模块,可以通过ADDR引脚设置不同的地址:接地为0x48,接VCC为0x49,接SDA为0x4A,接SCL为0x4B。这样一根IIC总线最多可以挂4个ADS1115,实现16通道采集。

2.2 硬件设计注意事项

我在实际项目中踩过一些坑,这里分享给大家。首先一定要在IIC总线上加上拉电阻,一般是4.7kΩ到10kΩ。虽然有些模块已经内置了上拉电阻,但为了可靠性,最好自己在主板上再加一组。

电源滤波也很重要。ADS1115是16位精度的ADC,电源噪声会直接影响测量精度。我在每个ADS1115模块的VCC和GND之间都加了10μF钽电容和0.1μF陶瓷电容,实测能有效抑制电源噪声。

对于模拟输入部分,如果信号源阻抗较高,可以考虑在输入端加入RC低通滤波,防止高频噪声被采样。但要注意截止频率不能太低,否则会影响正常信号的采集。

3. ADS1115寄存器配置详解

3.1 配置寄存器解析

ADS1115的配置寄存器是控制其工作的核心,地址为0x01。这个16位的寄存器包含了所有工作参数的设置,理解每个位的含义非常重要。

最高位OS[15]是单次转换启动位。写1时启动单次转换,转换完成后自动清零。这个位在单次转换模式下非常有用。

接下来的三位是输入选择位MUX[14:12]:

  • 000:AIN0与AIN1差分(默认)
  • 001:AIN0与AIN3差分
  • 010:AIN1与AIN3差分
  • 011:AIN2与AIN3差分
  • 100:AIN0与GND单端
  • 101:AIN1与GND单端
  • 110:AIN2与GND单端
  • 111:AIN3与GND单端

PGA[11:9]设置可编程增益放大器的增益:

  • 000:FS=±6.144V
  • 001:FS=±4.096V
  • 010:FS=±2.048V
  • 011:FS=±1.024V
  • 100:FS=±0.512V
  • 101:FS=±0.256V
  • 110:FS=±0.256V
  • 111:FS=±0.256V

MODE[8]设置工作模式:0为连续转换模式,1为单次转换模式(更省电)。

DR[7:5]设置数据速率:000为8SPS,111为860SPS。速率越高噪声越大,要根据实际需求选择。

3.2 实际配置示例

在我的项目中,通常这样配置:

  • 单端输入模式,测量对地电压
  • PGA增益设为2.048V量程,平衡精度和量程
  • 单次转换模式,降低功耗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值