第一个失误的主要原因是,设计者错误估算了R1的大小。其设计的值太大,导致Ib太小。
这里把等效的模型转换成如下:
以上的模型描述了输入和输出的模型,正式计算的分成两个部分。
求解基极电流Ib
求解集电极电流Ic
求解放大比例
通过这个比例可得到三极管的状态,如果在线性区,则三极管的管压降Vce是变化的,这就导致了逻辑的问题。这种错误就是,某种状态识别不出来。
从某种角度来看,这其实是一个电平转换的问题,只不过用三极管隔离了一下而已。
反正我个人不推荐这种接法,因为限制太大会导致三极管欠饱和,进入线性区。如果限流太小,则在高频脉冲浪涌冲击下会失效。
现在越来越多的采用专用接口电路来处理这种电路,不过因为可能存在直接短路到地或者电源的错误(ISO16750-2规定的)。因此这个问题就很棘手了,输入部分其实都是大问题,因为你永远不想在信号进入的时候就是错误的。
原本设计的好好的电路,由于开关的导通电阻变化,导致电路对这个参数变化起不了调节作用,因此原本有效的信号,在MCU处理过程中完全成了无效的信号了。
开关导通电阻值主要取决于开关触头的接触电阻。接触电阻值是开关触点接触工作性能的最基本参数,接触电阻的大小直接反映开关触点接触的可靠性.
实际上接触电阻随着开关的老化和磨损,导通电阻是有变化的。国外的整车商都规定了开关的最坏的导通电阻的情况,在国内一般不会考虑这个阻值(一般也无法控制的太精确。)
需要注意的是,现在我们看到的开关里面的导通电阻参数,一般是通过测量开关导通电阻值。
而比较正规的做法是,需要通过老化实验,测量导通电阻,估计触头的磨损程度和回路的接触情况,从而预测触头的寿命。
因此设计的时候需要有足够的余量,有两条原则。
第一条,设想你可能遇到的最坏的情况,在这个条件下去设计。
第二条,努力保证模块不会进入最坏的条件模式。