当前位置:首页 > 空调维修 > 文章正文

高级单片机实战开拓-蜂鸣器

编辑:[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

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com