工大创客馆欢迎您

banner

PROTEUS仿真,单片机连接蜂鸣器为什么不响的进一步分析

/
0 、问题提出
 
阅读关键词:蜂鸣器  PROTEUS  单片机  电子小制作
 
上一章,我们从机理上系统讲解在进行PROTEUS仿真时,蜂鸣器就是不响的原因,其根本原因就是参数设计不对,达不到蜂鸣器的所需功率要求。从而说明不存在蜂鸣器电压设定必须在2v这个界限的说法,而是其电压的幅度范围也很大的。
 
在文章里谈到单片机与蜂鸣器相连的情况,比较简单的论述了蜂鸣器的电压设定问题,当然也不是2V这个界限问题,之所以讲解比较简单,是考虑蜂鸣器与单片机相连,只是一个具体应用而已,完全符合机理的解释的情况。文章撰写后,得到很多人的兴趣,发信进行交流,对所有关注我们文章及焊接科技网的读者,表示十分感谢,同时也希望大家进一步交流与探讨、分享。
 

 

考虑到蜂鸣器是一种一体化结构的电子讯响器,已广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。尤其是,在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。因此,对于单片机与蜂鸣器相连的情况,进一步讨论一些。
 
1、蜂鸣器与单片机相连
 
单纯把蜂鸣器连接在单片机上进行仿真,只有把蜂鸣器电压设定小一些(小于3V吧),蜂鸣器还是能够蜂鸣的,但实现电路设计时,
由于蜂鸣器的功率比较大,所以需要通过三极管来驱动来完成对蜂鸣器的连接。
 
蜂鸣器的参数设定如图1 所示,主要是电压与电阻两个参数。
这里由于是单片机产生震荡脉冲,所以需要编写一个C语言程序,来完成对蜂鸣器的操作。单片机程序很简单,编写如下;
 
#include<reg51.h>
sbit BUZ= P1 ^ 0;
void delay (int i)
{
while(i--);
 } 
void main()
{
BUZ=0;
 delay(12500);
BUZ=1;
 delay (12500);
while (0);
 } 
 
 
 
 
 
 
 
 
 
 
 
 
 
仿真结果如图2-4所示。对比可以明显看到,蜂鸣器发出蜂鸣的各种情况:
当蜂鸣器连在发射极侧,蜂鸣器设定电压为2V(只有2V,也就是大家认为设定为2V的情况),电阻12欧姆,有蜂鸣,图2 ;
 
但当蜂鸣器连在集电极侧,蜂鸣器设定电压为5V(由于外加电压为5v,如果外加电压超过5V,蜂鸣器同样可以设定超过5v),电阻12欧姆,有蜂鸣,图3 ;
 
为什么会出现这情况呢?通过安上电压表就可以发现连在发射极和集电极时,蜂鸣器电压情况,就可以解释上面情况(图4和图5)。
如图5,三极管基极为低电平时,三极管断开,蜂鸣器的等于几为0V,蜂鸣器当然无法发声。 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
那么它的机理是什么呢?原因解释如下:
 
一般而言,不管什么型号的三极管,加负载的时候一定要加在集电极上,这是也是接口设计中的一个基本原则。因为,主要从半导体结构上看,晶体管的C极面积最大,适合加载较大电流;而发射极回路中有电流负反馈作用,实际上加于发射结上的电压和电流都比较小,三极管是工作于放大区而不是期望的饱和区,这样在CE之间会产生较大管压,能量较多地损耗在三极管上,而负载实际上得不到足够的电压。
 
敬告:本内容为制作人独立制作,非经制作人书面授权,请不要转载发布!