ADS1115 16位ADC怎么接线?Arduino高精度读电压和PGA增益设置详解

效率女王米米硬件DIY 2026-10-15 19:51:12 4阅读 举报

Arduino自带的模拟口只有10位AD转换,读数范围0到1023,做粗略检测够用,但要精确测电压、读传感器微小的模拟变化,精度就有点不够。ADS1115是一颗16位ADC芯片,能读出0到65535的细分度,通过I2C只要四根线就能接,还有可调的PGA增益放大微弱信号。这篇把它的接线、地址和增益设置讲清楚。

16位到底比10位强在哪

都是测同一段电压范围,10位ADC能分1024档,16位能分65536档。也就是说在同一量程下,ADS1115能分辨更小的电压变化,读数更细腻。对热敏电阻测温和称重传感器这类信号微弱、变化又小的场景,提升非常明显。芯片有4个模拟输入口AIN0到AIN3,可以单端测4路,或差分测2路。

接线和I2C地址怎么定

ADS1115用I2C通信,VDD接电源(一般3.3V或5V),GND接地,SCL接主控A5、SDA接A4(Arduino Uno)。地址由ADDR引脚决定:ADDR接GND地址是0x48,接VDD是0x49,接SDA是0x4A,接SCL是0x4B。一片板子默认ADDR接地,地址0x48,用I2C扫描程序能确认。

PGA增益:把弱信号放大再读

芯片带可编程增益放大器(PGA),可选量程从±6.144V一路到±0.256V。量程设得越小,分辨率越高,越适合微弱信号。比如满量程±6.144V时分辨率约0.188mV,而±0.256V时分辨率能高得多。但如果信号本身超过所选量程,读数会溢出,所以要按实际输入电压选档。测电池、电源这类几伏的量程选±4.096V或±6.144V,测称重传感器的mV级信号则选小增益档并配合放大电路。

用Adafruit_ADS1X15这类库,初始化、设置增益、读单端或差分电压,几行代码就搞定。读取的原始值配合增益对应系数即可换算成实际电压。

几个容易踩的坑

第一,地址不对扫描不到设备,先核对ADDR接法。第二,输入电压别超过VDD太多,超过芯片能耐会烧毁,采高压先分压。第三,PGA增益和实际输入要匹配,选大了溢出、选小了精度浪费。第四,如果信号是差分小信号,线路要尽量短、少受噪声干扰,必要时加重滤波。

把四根I2C线接对、地址对上、PGA量程配对,ADS1115就能稳定吐出细腻的模拟数据。卡壳八成在地址和增益匹配上,物理原理想明白就绕开了。

版权声明:
作者:效率女王米米
链接:https://www.aiddithome.com/p/b659bea2af8f1.html
来源:硬件DIY
实践版权归作者所有,未经允许请勿转载,若此实践存在违规行为,您可以点击 “举报”。


登录 后发表评论
3条评论
拆机党
1楼 · 1天前

PGA增益要和实际输入匹配这点关键,我一开始量程选太小直接溢出,改成±6.144V就正常了

锡点
2楼 · 1天前

地址ADDR接地0x48这个默认值,I2C扫描一照就明白,省得瞎猜

电烙铁爱好者
3楼 · 1天前

16位和10位读数差距真不小,称重那种微弱信号用板载ADC根本看不出变化,换ADS1115才灵敏