请问下,各位老大,单片机用ADC去检测电压,由于精度问题,怎样做电压校准。比如,检测一个锂电池的电压满电是12V电量4个LED,11.75V点亮3个LED,11.35V点亮2个LED,10.65V点亮1个LED,9.6V判断为低电压自动关断。检测精度为+/-0.01V。怎样去校准这几个电压点,以51单片机为例。谢谢!!!
ADC都是很线性的,取两个点就可以了,两点拉一条直线,输入一个零点和一个合适的参考点,都保存起来,然后做下面的处理假设实际测量两个测量点ADC_CAL_0 = 10, //0点ADC_CAL_1 = 900, //1点理论两个点是ADC_STD_0 = 0, //0点ADC_STD_1 = 1000, //1点现在实测一个ADC是800,经过以下转换x = 800;y = (x-ADC_CAL_0)*(ADC_STD_1 /ADC_CAL_1 );这只是说明原理实际就是类似于以前运放的调零与增益调整,
测几个点,电压和ad值对应起来,用matlab做个拟合,搞出个公式来,直接用就行了
学习