在补偿过程中,我们使用了不同的采集通道,导致很多附加的误差因素出现了。
采集本身的误差因素:
1.上拉电阻误差
初始误差1%,老化实验等累加后,厚膜贴片电阻可达+/-2.8%
2.分压电阻1误差(Rvd1)
初始误差1%,老化实验等累加后,厚膜贴片电阻可达+/-2.8%
3.分压电阻2误差(Rvd2)
初始误差1%,老化实验等累加后,厚膜贴片电阻可达+/-2.8%
4.单片机泄漏电流
一般为+/-1uA,这个电流在分压电阻较大的时候变得越来越严重。
5.AD的参考电压
一般的LDO的精度为+/-2%,采用额外的稳压管可提高电源稳定性。
6.单片机比特误差
量化误差,积分非线性,差分非线性等总和,单片机集成的AD的误差一般为+/-3bit全温度范围内。
地偏移误差:被补偿,引入新的误差。
1.分压电阻7误差(Rvd7)
初始误差1%,老化实验等累加后,厚膜贴片电阻可达+/-2.8%
2.分压电阻8误差(Rvd8)
初始误差1%,老化实验等累加后,厚膜贴片电阻可达+/-2.8%
3.单片机泄漏电流(由于通道独立,因此每个通道的参数独立)
一般为+/-1uA,这个电流在分压电阻较大的时候变得越来越严重。
4.AD的参考电压(此参数整个采集中都选取同一个)
一般的LDO的精度为+/-2%,采用额外的稳压管可提高电源稳定性。
5.单片机比特误差(由于通道独立,因此每个通道的参数独立)
量化误差,积分非线性,差分非线性等总和,单片机集成的AD的误差一般为+/-3bit全温度范围内。
电压误差:被补偿,引入新的误差。
1.分压电阻5误差(Rvd5)
初始误差1%,老化实验等累加后,厚膜贴片电阻可达+/-2.8%
2.分压电阻6误差(Rvd6)
初始误差1%,老化实验等累加后,厚膜贴片电阻可达+/-2.8%
3.单片机泄漏电流(由于通道独立,因此每个通道的参数独立)
一般为+/-1uA,这个电流在分压电阻较大的时候变得越来越严重。
4.AD的参考电压(此参数整个采集中都选取同一个)
一般的LDO的精度为+/-2%,采用额外的稳压管可提高电源稳定性。
5.单片机比特误差(由于通道独立,因此每个通道的参数独立)
量化误差,积分非线性,差分非线性等总和,单片机集成的AD的误差一般为+/-3bit全温度范围内。
因此实际上Vth的公式为:
此公式是单片机把Rout转化成ADC的式子,也可以看作ADC==>Rout的变换式子。
由此我们发现了问题和误差所在了
一部分自身通道误差,在将Rout==>ADC的时候引入了,软件在补偿Vbatt和Vgoff的时候,又把另外一部分误差因素引入进去了。
最大电压和最大低偏移如图所示:
最小电压和最小低偏移如图所示:
因此可知,如果软件不跟随Vbatt和Vgoff的变化去补偿,整个采集将变得毫无意义,误差可能达到100%甚至更多。补偿所引入的误差也是不小的,但是经过补偿,至少可以做简单的区分了,组合开关的检测一般都基于这种方法。
提高精度的几条建议:
1.采用模拟开关使用同一个通道采集,尽可能减少通道误差。
2.在系统上尽量采用同一个地,单独从模块拉线给传感器或者系统供电。
3.采用高精度稳压管供给AD的参考源。
4.EOL的时候进行校验,校验掉初始电阻误差。
5.分压电阻选取不能超过200K,防止单片机的漏电流误差过大。
附注:以上没有提及单片机的计算精度,实际上这也有一定的误差。