编辑:[db:作者] 时间:2024-08-25 02:03:26
1. 压电式
利用压电陶瓷片作为发声器件,通过给 压电陶瓷加互换旗子暗记发声
2. 电磁式
通过线圈产生的磁场和磁铁浸染,类似于扬声器的事情事理
3. 贴片式
有贴片和直插安装办法
4. 有源蜂鸣器
加电就响,内置旗子暗记发生器驱动发声器件,一样平常的腔调都是固定的。
5. 无源蜂鸣器
加电后有咔嚓声, 要用2-5K的方波驱动。无源蜂鸣器的音调会随着外加方波的频率而改变。
二、 蜂鸣器产品参数
下面是某一蜂鸣器的详细参数:
★尺寸(size):30mm19.5mm
★电压范围(Voltage Range):3-20VDC
★额定电压(Rated Voltage):12VDC
★利用频率(frequency):3600500Hz
★声压(SPL):Min.90dB(12VDC/30cm)
★电流(Current):≤50mA
★成品重量(weight):2g
★支持定制:XXXXXX
三、 蜂鸣器的检测
1. 有源与无源的区分
(1) 形状差异
有源蜂鸣器
无源蜂鸣器
两者的高度略有差异,有源蜂鸣器a,高度为9mm,而无源蜂鸣器b的高度为8mm。如将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。
(2) 电参数的差异
把可调电源设定到蜂鸣器的额定电压,一样平常的常见蜂鸣器额定电压为1.5v、5v、10v、12v这几种,串联一个100-200欧姆的限流电阻,给蜂鸣器加电,有源蜂鸣器会连续的发出滴滴的声音,或者有规律的滴滴声音。
无源蜂鸣器只在接通或者断开电源的瞬间有咔咔声
利用万用表,丈量蜂鸣器的电阻,有源蜂鸣器电阻比较大,一样平常的都在几百欧以上,无源的蜂鸣器阻值在8、16欧姆旁边。
2. 好坏的检测
利用可调电源调至蜂鸣器的额定电压,串联100欧姆电阻,有源蜂鸣器加上额定电压和电流后如果不能产生通亮的滴滴声,如果声音不正常或者不发声,解释质量不良或者已经破坏。
无源蜂鸣器的测试,利用旗子暗记发生器调至2KHz,旗子暗记经由100欧姆限流电阻后加到蜂鸣器上,如果蜂鸣器发出通亮的滴声,解释产品是良好的,反之如果声音不正常或者干脆没有声音,解释有蜂鸣器不良或者故障。
四、 驱动电路的设计
我们为了利用更多的功能,因此利用无源蜂鸣器。
1. 为什么要用三极管?
由于单片机的IO驱动电流较小,直接驱动随意马虎破坏单片机,以是要用三极管来扩大电流
2. 用什么样的三极管?
MPSA92三极管参数:
VCEO:-300V
VCBO=-300V
IC=-500mA
PD=625mA
hFE = 最小25
三极管的选择,由于单片机上电是高电平,因此选用PNP的三极管,上电后蜂鸣器并没有电流,只有在驱动的掌握下才会导通。蜂鸣器的事情电流利常在100mA以下,此蜂鸣器事情电流设定为25mA,因此MPSA92是能够知足的,而且也是常用的型号。
3. 电阻R2的打算
设计三极管IC电流25mA,三极管的放大倍数取最小值25,以是基极电流为1mA,
R2=(5-0.7)/0.001=4.3K
功率:4.30.001=0.0043W 利用1/8W足够,其它温度系数和耐压也没有问题
五、 驱动程序
//-----------------------------------------------------------------
//名称:蜂鸣器驱动
//设计:非凡创客
//日期: 2015-05-01
//版本:V1.0
//-----------------------------------------------------------------
#include <reg51.h>
#define unc unsigned char
#define uni unsigned int
sbit BUZER = P3^0;//蜂鸣器驱动引脚的定义
//-----------------------------------------------------------------
// 毫秒延时程序
//-----------------------------------------------------------------
void DL(uni x)
{ unc t; while(x--) for(t=0;t<120;t++);
}
//-----------------------------------------------------------------
// 蜂鸣器驱动程序
//-----------------------------------------------------------------
void BUZ()
{
unc t;
for(t=0;t<50;t++)
{
DL(1);
BUZER=~BUZER;
}
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
while(1)
{
BUZ();
}
}
欢迎评论和点赞,不喜好的请拍砖!
以为不完美的请给出您的宝贵建议。
本文属于原创首发,未经授权,请勿用于商业用场!
头条号:非凡创客 QQ: 782659135
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/ktwx/73176.html
Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码
声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com