问题一:
通过万用表测量发现,电压跟随器输出的电压和电阻分压点的电压对应不上,但是电压跟随器输出的电压和理论计算值基本对应
得
上。
问题二:
单片机采集回来的电压比电压跟随器输出的电压要高一些,且不同板子读回来的数据也不一样。
电路图如下,是
电阻分压网络,然后接电压跟随器然后过RC滤波后给单片机ADC采集
:
问题一:
电池电压为15.36V,由两颗1%精度的电阻分压后理论计算电压值为1.28V(忽略电阻精度误差),
万用表之所以测试电压为1.25V是因为这个R5和R8组成的电阻分压网络的输出阻抗太大了(根据戴维南定理可知,其输出阻抗为200k//2.2M≈183.3k)
,戴维南定理见下图,摘选自《运算放大器权威指南》第三版第9页:
根据上图,
可知这个R5和R8构成的电阻分压网络等效为一个串联了183.3k电阻的,电压值为1.28V的电压源。虽然我们理想中的电压档输入阻抗为无穷大(可以分得更多的电压),然而一般
手持式万用表的输入阻抗为10MΩ左右
,所以这实际上是仪器误差导致的测试电压值偏小。
仿真如下图:
有其他的群友也提到了问题一是不是运放的参数导致的,不过运放的参数并不是问题一的根本原因,从LM321R的数据手册可以看出,
其输入偏置和失调电流带来的影响微乎其微(乘183.3kΩ后为uV级),输入失调电压最大也就3mV。所以运放参数带来的误差不大。
问题二:
初步考虑是基准源Vref导致的ADC计算偏差,于是问了一下群友的芯片基准源是谁提供的,群友说是3.3V电源LDO直接提供的,万用表测量有3.33V。由于ADC公式为:Vref*ADCx/4096。所以说
如果提供的Vref偏大比如3.35V,而代码中的Vref写的是3.3V,那势必会造成ADC转化后的数据偏小。不过这个又和问题二的结果不相符(问题二是ADC的测试结果偏大)
。不过后来群友自己解决了这个问题,他说是由于软件里没有执行ADC校准函数导致的。
1.
示波器的输入阻抗一般为1MΩ,或者50Ω,有的也有10MΩ。
2.手持式万用表电压档输入阻抗一般为10MΩ,
台式万用表例如安捷伦34401A输入阻抗为10MΩ默认,可调为10GΩ,下电不保存(其他型号可见其说明书)。
例如下图,摘取自34401A说明书:
3.就算是台式万用表也不止精度之分,在一些功能上更会有所不同,就例如安捷伦34401A的四线法测电阻,就没有电阻偏移补偿。而安捷伦34410A的四线法测电阻就有电阻偏移补偿。这在测量一些具有热电势的电阻场合就会有差别(还有其他的差别,不一一列举)。
文章来源于24c01硬件电子,作者24c01
投稿/推广/合作/加群 请扫码添加微信(请备注来意,加群请备注城市-称呼-行业岗位信息)
推荐阅读