关于单片机IO口接开关三极管,当限流电阻较小(是负载电阻几十倍)时,负载无无法被驱动的问题。自己动手焊了个测试电路。
第一种情况,先不考虑单片机,原理图如下图所示。初始状态:两节干电池做Vcc,负载电阻R1=10欧(固定),限流电阻R2=5k欧(可变,0~5K欧),PNP三极管型号s8550。
在R2从5k欧调小的过程中(一直到10欧),测量R1两端的电压U1,得到U1随R2减小而增大。理论上来说,Vcc-Ie*R1-Ueb-Ib*R2=0,其中Vcc,Ueb,R1是固定的,若放大系数为s,则Ie=(s+1)*Ib。可以得出Vcc-Ueb=Ib*(R2+(s+1)R1),也就是随着R2减小Ib增大,从而U2=Ie*R1增大。理论与实验一致。

第二种情况,把限流电阻直接接单片机IO口(P1.0),原理如下图所示。初始状态:Vcc和地直接与单片机相应口相连,P1.0通过程序设为0,其他与第一种情况一样。
在R2从5k欧调小的过程中,测量R1两端的电压U1,一开始U1随R2减小而增大,但当R2降到2.5k欧左右时,U1突然降到接近0,Uec与Ubc接近5v,再降低R2,U1已基本不变。也就是三极管相当于开路了。在以前的应用中,都没怎么仔细考虑这个限流电阻大小的问题。这种情况与第一种明显不一样,也让我很不明白,是单片机IO口的属性引起的吗?为什么会这样?希望各位不吝赐教!

------解决思路----------------------
电路不合理,R1是发射极反馈电阻

或
