| 17楼正解 |
kmsj 发表于 2021-5-4 22:16 版主的电路图是两种驱动蜂鸣器的标准电路。楼主的电路图虽然是非标准接法,但实践证明是可以正常驱动蜂鸣器。所以这不是其采用的无源蜂鸣器不响且晶体管发烫的主要原因。实际是楼主的程序错误导致开机即烧毁晶体管。市场常见的电磁式无源蜂鸣器的内阻几欧~几十欧,9012导通后很快过热击穿。 |
驱动蜂鸣器的电路都是错的,还有什么好讨论的?两种三极管驱动蜂鸣器的电路是这个样子,PNP三极管驱动蜂鸣器适合复位期间I/O口为高电平的单片机,复位期间I/O口为高阻的单片机,两种三极管都可以。单片机驱动蜂鸣器很简单啊,PNP三极管的是低电平蜂鸣器就响了,NPN三极管的是高电平蜂鸣器就响了,三极管就用8550(PNP)或者8050(NPN)以及其它的都行。 |
| Q1无法饱和导通,蜂鸣器压降5v,蜂鸣器移到集电极就可以了 |
| 蜂鸣器要接到驱动三极管Q1的集电极与地之间,你这种接法是错误的 |
| 把Q1和R2去掉接一个50V/1UF的电容,一端接蜂鸣器,一端接IO口 |
| 加限流电阻就好了!电阻加小一点的 |
|
5V接蜂鸣器,再三极管,直接到地了,三极管压降好像很小,查参数,蜂鸣器电阻多少,查参数, 一旦导通,查查电流是多少,你没有限流电阻,电流估计会超过三极管电大电流的,然后,估计瞬间你不听到响就已经OVer了 |
| 换个npn管试试。pnp三级管这样接是有问题的,网上常有这样接法,有些教科书也是这样接,不求甚解 |
| 三极管发烫有可能工作在放大器,而不是导通区。 |
| 根据程序和原理图分析DoorBell在main()初始化时DoorBell=0; 是错误的。会导致Q1长时间导通,导致Q1或蜂鸣器损坏。另外在中断中DoorBell=~DoorBell;看似没有问题,但中断里条件满足时,定时器TR0=0;此时必须保证DoorBell=1;,否则同样会因Q1长时间导通导致Q1或蜂鸣器损坏。 |
| 按键没反应是因为三极管可能已经挂了蜂鸣器是没法发声的 |
wc86110 发表于 2021-5-2 11:40 是复位电路的问题吗? |
欣欣 发表于 2021-5-2 10:46 我仿真的也没问题,我焊的时候也没啥问题,但是上电以后三极管发烫,而且按键也没有反应 |
| 成品中复位电路上用的是 1K 电阻 |
| 经过实验,程序没有问题,可以正常使用,估计是你引脚连接错误,例如把三极管1和3脚焊接反了等,请仔细检查。程序在我这里可以正常发音的。 |
| 复位电路那个线是连着的,我不小心删掉了 |
wulin 发表于 2021-5-5 06:44 听你这么一解释,我真是又涨知识了,我没有注意楼主用的是无源蜂鸣器,我以为是有源蜂鸣器,但是,无论如何,我的认为是设计电路必须按标准电路设计,没有必要搞些非标的出来,还有就是,电路设计不能因为程序的任何问题出现烧毁元器件的情况,否则就是电路设计不完善。
楼主可以试试这个电路,我没有驱动过无源蜂鸣器,我要是驱动无源蜂鸣器,肯定就是画成这个样子,这个电路驱动过其它元件,从来不会出现烧毁元件的情况,说白了就是多加一个电容就搞定。记得以前用单片机通过三极管驱动8Ω喇叭,三极管基级没有加电容,但是,集电极和喇叭之间加了个100μF的电解电容,也从来没有出现烧三极管和喇叭的情况。 |