判断三极管是否进入饱和区的标准是 Ib×β > Ic(max),因为在上大学的时候模拟电路书上写的是 对于NPN三极管 处于饱和区的条件是Ube>0 Ubc>0,可是在单片机应用中,一般集电极通过电阻接Vcc,所以基极的电压就不可能比集电极高,所以我觉得也可以这样理解,Ib增大,Ic = Ib×β 也随着增大,如果 Ib 增大到一定的值,Ic不随着Ib一起增大时,三极管就进入了饱和区 如下图
计算R37 R38使三极管工作在饱和区。
当三极管工作在饱和区时,饱和管压降Uces很小,一般的硅三极管的Uces<0.4V,在这里我把它忽略不计,则 Ic(max) = 5V/R38 (R38=2K)=2.5mA,一般三极管的β=100,那么 Ib = 2.5mA/100 = 25uA 让基极电流Ib > 25uA 三极管就工作在饱和区.V(Trig)=3.3V Vbes = 0.7V 所以R37≤ (3.3-0.7) / 25uA ≈ 100K 取R37=1K ,当然R37也不能太小,如果太小的话导致基极电流太大,有可能烧坏单片机或者三极管。