单片机10位ADC是否够用?

一、前言

  现在的单片机内部带有的AD转换器大多在10到12位。一般应用中,AD转换的位数对于测量误差究竟有多大的影响,12位的ADC是否够用呢? 下面通过实际测量,来讨论AD转换的位数对测量误差的影响。

eb79f06ece86ab619891581a6dc9cbe6.png

二、电路设计

  设计测试电路,使用 F030单片机进行测试。输入的模拟信号经过RC滤波之后,发送到 ADC的第0通道。使用两个电阻将模拟地和电源分开。电路板上还设置了 3.3V的稳压芯片。设计电路PCB,使其能够适应一分钟制板方法。

AD\Test\2024\April\TestADCBit.PcbDoc

0c5cfd8ebb5cf5f270c279c7c378d01b.png

▲ 图1.2.1 测试电路原理图720

cf4cfe2b820c88772b107e1dd7dc8467.png

▲ 图1.2.2 测试电路PCB

  一分钟之后,得到制作的测试电路板。电路制作的非常完美。下面进行焊接测试。

99d26ab5ada7dc538f331f036fff3d81.png

三、测量结果

  焊接电路板,对它进行清洗之后进行测量。利用探针夹子下载测试程序。下载测试程序,通过 ST-LINK中的串口完成测量数据上传给微机。利用Python 编程,使用 DH1766提供从 0.1到3.2V的电压,实际电压值通过DM3068测量  单片机对采集到的512个数据进行平均。在平均之前 分别取前面 1 到 12bit,这样便可以得到不同分辨率下ADC采样的数值了。51c8fbaab968f4fc4990c3240f8b5070.png

36a87995c1ac35d2665efbf2568c8a9f.png

  在测量电压范围内总共采集了 2000 个数据,绘制出电压与ADC之间的关系。可以看到,在 ADC采样位数比较小的时候,由于量化所造成的误差比较大。虽然这是512个数据的平均值,数据的误差主要来自于AD量化造成的。但是,随着位数的增加,也可以看到数据的中存在着噪声引起的波动。此时,噪声引起的误差超过了转换位数的带来的误差。

daf950ed32742b3ca902f626a32c7c7f.png

18bcb138d6a069979ee7f2ccd5c9bc0c.png

▲ 图1.3.1 不同位数对应的采集数据

  通过对 单片机AD数据与电压之间进行线性拟合,计算拟合电压与实际电压之间误差的方差,可以看到,在AD转换位数从 1 到12为变化过程中,方差急剧下降。但是下降的速度越来越慢,当位数超过10位之后,基本上误差不变了。这是对方差取对数之后绘制的数据线。更加清晰的看到,当 AD转换的位数超过10之后,所得到的数据误差主要来自于电路的噪声了。因此,对于数据转换来讲,再高的ADC位数也没有用了。

8a2a472c554dc36a8e10e1ae41f671f6.png

▲ 图1.3.2 不同的ADC的位数对应的线性拟合误差
BitsVar
10.2016750843417479
20.05153571814548405
30.01352796032514819
40.003468020713918683
50.0008517649509084311
60.00020580205442651296
75.001551736517359e-05
81.3009367147500475e-05
95.263557870607768e-06
104.309030498367149e-06
114.297694583457816e-06
124.314972044296696e-06

baa5898e1184cf992cec6335f3f34d45.png

▲ 图1.3.3 位数与误差对数

※ 总  结 ※

  本文对于单片机AD转换的位数对测量数据精度的影响进行了实际测量。当AD转换位数少于10位的时候,数据误差随着位数的增加指数下降,当位数超过10位置后,在普通单面制板的情况下,电路中的噪声所产生的误差,已经占据主要成分。实际上ADC转换位数对测量误差的降低已经没有了作用。

afd4afe0aa41477db715ec1a5e95a931.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值