01 MEGA16ADC
一、前言
昨天晚上测试了MEGA16的ADC特性,当ADC的时钟分频达到 128,ADC转换速度达到最小,采集到的数据分辨率最高。可以看到其中包含有一个周期性的干扰信号,数据波动幅度达到 10。估计这是外部直流信号中叠加了50Hz的工频干扰。下面,将输入信号滤波RC参数进行修改,提高滤波电容达到10微法,滤波电阻修改为 10k欧姆,下面重新测试一下直流分量。
▲ 图1.1.1 分频器为128对应的采集到的数据
ADTest2024AprilTestATMEGA16.SchDoc
二、测量结果
修改电路板上的输入信号滤波阻容器件,RC截止频率为 10Hz,重新采集512个数据,可以看到数据只在 402 与 401 之间进行波动。由此证明了前面测量信号中的确是混入了50Hz的干扰。
▲ 图1.2.1 增加输入信号滤波之后,采样数据
为了得到更加稳定的电压,这里使用了一个锂电池提供稳定的直流电压,经过一个可编程电阻箱的分压,便可以获得一个变化的电压。示波器上显示,这个电压的波动在微伏级别。下面利用这个装置来测试 MEGA16的10位ADC的量化特性。
▲ ..来自蓄电池的采集数据
通过Python编程,改变电阻箱的阻值,从 10k增加到 10.15k欧姆。由此,锂电池通过10k电阻分压的电压从 1.546V 逐步上升到 1.553V。测量单片机ADC的数值。这里绘制出测量的数据,其中,青色数据是512个ADC平均的结果,橙色的数据是单个ADC的结果。由此可以看到 MEGA16 ADC的量化对测量误差的影响。虽然使用了512个数据进行了数据的平滑,但是量化结果对于测量误差的影响也是非常巨大的。至此,可以看到,通过 RC阻容滤波可以对外部的50Hz 干扰去除干净。
▲ 图1.2.3 采集的数据
※ 总 结 ※
本文对于MEGA16单片机的ADC特性进行了测量。通过RC低通滤波器,降低了外部信号中的50Hz的干扰,测量结果显示出 10位 ADC的量化对于测量结果的影响。虽然通过 512个数据进行了平均,但是量化误差所造成的影响还是比较明显。为了提高测量精度,需要12位的ADC才行。
参考资料[1]
ATMEGA16的ADC转换速度对ENOD的影响: https://zhuoqing.blog.csdn.net/article/details/138255448