图1(A)所示电路用的是NPN型三极管,蜂鸣器接在三极管的集电极上,驱动信号可以是3.3V或者5V TTL电平,高电平导通。假设导通时高电平电压是5V,那么基极电流 Ib = (5V-0.7V)÷4.7 KΩ = 0.91 mA,它可以使三极管完全饱和。
(B)所示电路用的是PNP型三极管,同样把蜂鸣器接在集电极上,与(A)不同的是驱动信号只能是5V的TTL电平。这两个电路都可以正常工作。
图2电路与图1最大的区别在于所驱动器件接在发射极上。同样看图2(A)所示电路,三极管导通时高电平电压是5V,基极电流 Ib = (5V-0.7V-UL)÷4.7 KΩ,其中UL为被驱动器件上的压降。可以看到,同样取基极电阻为4.7KΩ,流过基极的电流比图1(A)所示电路小的多。如果UL比较大,那么相应的Ib就小,很有可能导致三极管无法在饱和状态下工作。不建议选用图2这两个电路。
图3所示两个电路驱动信号为3.3V TTL电平,假设被驱动器件所需电压为5V。在3.3V的单片机电路中,若不小心会很容易设计这两种电路出来,而这两种电路都是错误的。分析图3(A)所示电路,这是典型的“发射极正偏,集电极反偏”的放大电路,或者叫做射极输出器。当PWM信号为3.3V时,三极管发射极电压为3.3V-0.7V=2.6V,无法达到期望的5V。
图3(B)是一个失败的电路,因为当PWM信号为3.3V时,
Ueb=5V-3.3V=1.7V>0.7V,仍然可以使三极管导通,电路无法关断。
综上,得到下图个人认为最优的驱动电路。与图1相比,在基极和发射极之间多了个电阻,这个电阻的作用是让三极管有一个已知的默认状态,让电路更稳定。