名字不是重点 发表于 2021-2-19 23:03 那还可以问一下为什么STM32不存在这个问题,stm32的板子直接照着连线写代码就能有很大声音 |
上拉电阻可能起到作用不大,可以改MOS管试一下 |
5.1_phantom 发表于 2021-2-22 10:54 stc89c52 |
一个简单问题,看到你两次发帖。 仔细体会1楼给你的解答。 或者你把输出口改为推挽输出方式。 还有一种解决办法。我猜你现在P1.5口的上拉电阻应该是用的10k吧, 把你P1.5口的上拉电阻改为4.7k或者3.3k,声音也会大一点点。 但是不建议你这样做。 |
把三极管改成PNP型就可以了,如8550,或者把口线改到P0口也行,P1,P2,P3是准双向口,灌电流大,拉电流取决于内部上拉电阻,由于内部电阻较大,导致你的8050不能全饱和导通而处于放大状态 |
增加驱动能力 |
串个10K |
你的单片机型号是多少? |
你的单片机型号是什么? |
二极管会有0.7伏的压降,如果基极的电压比集电极高,三极管就截止了,所以蜂鸣器声音小,加了二极管后,基极的电压低了,就大声了 |
IO P1.5输出具有100us高电平和100us低电平状态。 延迟可能太短,因此逻辑转换未完成 |
IO P1.5输出具有100us高电平和100us低电平状态。 延迟可能太短,因此逻辑转换未完成,因此导致IO的平均电压高于晶体管的B-E压降。 因此晶体管始终处于导通状态。 蜂鸣器应为无源式蜂鸣器。 添加二极管会导致低态电压足够低,从而切断晶体管,因此会产生交流信号以驱动蜂鸣器。 |
有源无源蜂鸣器楼主都没有说清楚。 |
IO口,加外部上拉,提高驱动能力 |
xianfajushi 发表于 2021-2-21 11:10 还不如把那个IO脚剪掉痛快。 |
这样模块应该不用再加三极管才对 |
串接4个二极管试看 |
如果用的是无源蜂鸣器,IO输出的是交流信号,交流信号的低电平会拉低三极管基极的电压,加入二极管后,二极管阻断了IO口低电平对三极管基极电压的影响,相应的提高了三极管的有效触发电平。 |
还是单片机io口高电平的驱动能力不够,如果你用的是stc单片机,可以将io口配置成推挽输出试试。 |
因IO输出直接B极,会被B-E结拉低电平,所以,IO输出接3极管,都要串一个电阻,1K-2K区间,或更大阻值。你串一个4148类似作用,但建议还是改为电阻为好。 |