|

楼主 |
发表于 2019-9-9 11:36:14
|
显示全部楼层
不知道你说的误差大是有多大? 我之前测试,可以做到0.05~3.2v量程只和万用表差正负2mV以内。 小于0.05v以后ADC线性变得极差,我就舍弃了这段量程。
程序是随手测试的,发给你也要把你搞晕。我给你大概讲一下我的修正方法。
如下图:
ADC实际的测量结果和理想结果并不是平行的,更不是在0点相交的。直接做偏移或是调整比例(斜率)不可能把它修正回来。
对于“实际情况1”,在量程范围内,你可以找到一点实测线与理想线的交点(因为线性的问题,也可能有多个交点,那么用最大的交点和最小交点之间的中点也可以),基于这一点来调整测量结果的斜率,一般会得到比较好的结果。
如果是对于“实际情况2”这种,你可以计算出量程外的交点,然后修正。或者平移测量结果,使它们相交再修正。
但如果ADC本身测量的结果不够直,是个比较弯的曲线。那么你可以分段修正,也可以拟合出一个修正曲线做逐点修正(当然,要求不高也可以简单粗暴的取sin/cos随便什么曲线的一段来做修正曲线)。
至少我的程序只修正了中点和斜率,没有做特别复杂的处理。 |
|