上周关于项目中一个运放输出,存在+-20mV左右的失调电压——即输出电压与输入电压可能有20mV左右的偏差,
而且不同板子还不一样。有些是在+20mV,有些是-20mV,有些就没有偏差。由于系统要求较高,对于这个偏差,从芯片本身理论上是在2mV以内。
为了找到引起这个输入失调的原因,上个周花了将近半周的时间,来测试电路。确定问题本质所在。
首先运用基本的计算运放的知识,经过KCL以及运放的虚短虚断,首先做理论上的分析。发现理论上的计算,输入与输出是一致的,没有误差的引入。当然,这时在计算过程中,很多都是理想化的。电阻没有考虑误差,没有考虑芯片本身的输入失调电压,只是理论上的计算,得除了Vo = Vda。在这个计算上,在理论上验证了电路的成立。
一开始,根据理论化的计算,测试电路时,无处下手。因为不知道,哪里会是问题的所在。不知道哪里最有可能引起误差。
在没有思路的时候,就先修改电路测试看看。
首先,将后级电路断开,以去除后级电路对于电路的影响,之后测量两个板子的输入与输出。发现和后级电路没有断开的时候一致。这样说明,问题就出在运放这一块。
然后,断开输入级电路,并将运放的输入直接接地,观察运放的输出情况。这个时候发现运放的输出不是零,而是28mV,这样可以确定问题跟运放的前级电路DA输出也没有关系,那么就将问题锁定到运放电路这一块。
之后,试着将运放本身的误差参数带入计算过程,得出了Vo= Vda+E;E是因为运放原因可能带入的误差。计算发现,根据运放的Datasheet,E是其运放本身的失调电压和虚短时的V+和V-压差的差值,这个差值最大可能是在6mV。但是,实际测试发现,这里的实际值E只有不到5mV。
那么问题的原因还是没有找到。
最后考虑到电阻的原因,将所有电阻都没有理想化直接带入计算。最终得到了一个结果
Vo = (R3/R2)*Vda + (1+R3/R2+R3/R2)*E1 - E2 + R3(R4*R2-R5*R1)*Vc/(R1*R2(R4+R5))
E1 = V+ - V-;(V+正向输入,V-反向输入)
E2 = 1mV(Typevalue);
Vc电源电压5V
根据这个结果,发现输入电阻上如果R4*R2-R1*R5的值如果不为零,可能带入一个较为糟糕的误差。
于是对调了板子上的R1和R2发现运放的输出确实和不一样了。失调变小了。
又试了几块板子,发现有些调整后失调值不到1.5mV,但是有些反而由原来的正向失调,变为了负向失调。
由于这里的修改修正了一些问题,暂时,将问题锁定到这里。
这周,再次将整个系统上的参数整体计算了一遍,发现由于在使用时会对运放的输出进行一个校准,之后会减去这个校准值,这样的话,使用时中断显示处对于运放输出的处理就变为了V =(R3/R2)*(V1 - Vo)
V1 本次运放输出;
Vo校准时运放输出;
由于后边的误差值是固定的所以就消掉了。这样,即使有失调电压,影响也不是很大。只要运放负向失调电压不为负就可以。
通过对于这次失调电压的整个测试过程有几点感想如下:
- 分析问题时,理论的计算可以再理论上验证是否可行。对于实际电路问题的分析,可以先理想化,首先在理论上验证,一般而言理论上不通过的,实际上很有可能出问题。如果没有问题,再将去理想化,进行实际分析,将所有因素(或者部分因素)考虑在内,得出结果,找到影响因素最大的一个。
- 在验证计算的分析时,要先验证前后级的影响,排除外围造成的影响。
- 分析问题时,需要从整体系统上来考虑。如果单单看运放输出这一部分,确实很糟糕。但是,由于终端的标定操作,将失调电压这一部分消掉了。反而,失调电压对于结果的影响却很小。如果一开始从整个系统的角度分析,找到对于结果影响最大的量,那么就不会在发现失调电压的时候,那么紧张。因为它对于结果的影响很小。
写在最后:
当我们解决问题时,要找到影响我们问题的关键部分,本质部分。如果找到这些,可能就不必纠结于某些细节。如果没有找到,即使做了很多努力,可能对于问题结果并没有太大帮助。
但是,对于没有看到问题本质的努力与付出,对于学习本身而言很有价值,它促进我们去思考,去反思。会促进我们本身能力的提升。很多划时代的理论与发明,是在错误中产生的。
如果只从解决问题而言,没有找到问题本质的努力或许是白费的;但是对于一个提升个人思考来说,没有发现问题本质,可能会更激发思考,创造更多。
结果重要,过程一样重要。短期看,结果更重要;长远看,过程更重要。结果决定了当前,过程决定了下一个结果。
现在没有看到本质的思考,是为了以后看到本质的锻炼。现在直接看到问题本质的思考,是以前思考的结果(但是少了创新的可能,就会出现知识越多,创新越少)。
这是一个矛盾。如何平衡?
直接解决问题,带来的是效率。
间接解决问题,带来的是思维。
犯错,给了我们学习的机会。我们学的越多,我们犯错越少。犯错越少,我们学习的机会就越少。我们学的少了,我们就会再次犯错。再次犯错,给了我们再次学习的机会……
这是一个平衡。