找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6776|回复: 51
收起左侧

关于单片机控制无源蜂鸣器驱动电路

  [复制链接]
ID:668004 发表于 2020-9-7 17:02 | 显示全部楼层 |阅读模式
这是一款购买的机器驱动的无源蜂鸣器测试到的波形,声音还比较大,用的是两个IO口直接连接到蜂鸣器两端。

自己设计的如果只用一个IO口用三极管驱动,蜂鸣器一端接电源3V另一端经过三极管到地反而声音更小!为了达到同样的声音大小,也想用两个IO和蜂鸣器直接连接!我要怎么跟软件工程是说?就说驱动的频率3.7K就可以?还需要告诉他哪些信息才能达到和参考产品一样的效果?比如声音大小
参考的产品两个IO口驱动.jpg
参考的产品无源蜂鸣器驱动的波形.jpg
一个IO驱动.jpg
回复

使用道具 举报

ID:332444 发表于 2020-9-7 20:18 | 显示全部楼层
这样的2个IO不会增大驱动电流,若想声音大,可能要运放。
回复

使用道具 举报

ID:692132 发表于 2020-9-7 22:09 来自手机 | 显示全部楼层
如果有更高的供电,比如5V,直接单独供电就行了,这里不值得下功夫。
回复

使用道具 举报

ID:420836 发表于 2020-9-8 01:24 | 显示全部楼层
哪种类型的无源压电蜂鸣器? 它的规格是什么? 我们需要知道蜂鸣器的额定电流和谐振频率等。
回复

使用道具 举报

ID:213173 发表于 2020-9-8 08:00 | 显示全部楼层
普通电磁式无源蜂鸣器采用图1方式驱动没有多少实际意义,常见是图3方式驱动,但要求IO口有足够的高电平驱动能力,否则晶体管不能饱和导通从而音量小。另外市售电磁式无源蜂鸣器的品质差异很大,相同电气环境音质音量天差地别。图2驱动波形可能更适合压电式无源蜂鸣器。
回复

使用道具 举报

ID:123289 发表于 2020-9-8 16:19 | 显示全部楼层
对于蜂鸣器来说,它不管是谁驱动它,只要给足电压,它就给足振动(对应音量)。
你想想看,音量大的时候它两端的电压是多少?音量小的时候它两端的电压是多少?
这个问题不难解。
回复

使用道具 举报

ID:668004 发表于 2020-9-8 18:49 | 显示全部楼层
学习单片机lq 发表于 2020-9-7 22:09
如果有更高的供电,比如5V,直接单独供电就行了,这里不值得下功夫。

电源是3V 兄弟
回复

使用道具 举报

ID:668004 发表于 2020-9-8 18:49 | 显示全部楼层
TTQ001 发表于 2020-9-8 01:24
哪种类型的无源压电蜂鸣器? 它的规格是什么? 我们需要知道蜂鸣器的额定电流和谐振频率等。

压电型的   3.7K
回复

使用道具 举报

ID:668004 发表于 2020-9-8 18:50 | 显示全部楼层
wulin 发表于 2020-9-8 08:00
普通电磁式无源蜂鸣器采用图1方式驱动没有多少实际意义,常见是图3方式驱动,但要求IO口有足够的高电平驱动 ...

到位     
回复

使用道具 举报

ID:668004 发表于 2020-9-8 18:50 | 显示全部楼层
wulin 发表于 2020-9-8 08:00
普通电磁式无源蜂鸣器采用图1方式驱动没有多少实际意义,常见是图3方式驱动,但要求IO口有足够的高电平驱动 ...

振幅是6.6V了 也就是两倍的VCC  这个怎么做到的?比如IO口B3是给高3.3V  B2给低也就是0V   交替给电平 反相 也就是0-3.3V啊    要有一个是-3.3V   3.3-(-3.3) 才能到6.6V啊!   我是这个疑问
回复

使用道具 举报

ID:213173 发表于 2020-9-8 20:46 | 显示全部楼层
QWE4562012 发表于 2020-9-8 18:50
振幅是6.6V了 也就是两倍的VCC  这个怎么做到的?比如IO口B3是给高3.3V  B2给低也就是0V   交替给电平 反 ...

你把压电式蜂鸣器看成电容就能比较容易理解为什么在蜂鸣器两端测得峰峰值电压2倍于VCC。如果示波器表笔一端接地,另一端分别接IO口,就可以看到互为反相的3.3V矩形波。至于怎么编程你只要对软件工程师(合格的)一说他就能会意,不必担忧。
回复

使用道具 举报

ID:401564 发表于 2020-9-8 22:26 | 显示全部楼层
这到底是有多难呢?
市面上的无源蜂鸣器它实际上是有两种的的:一种是常用的线圈式的,用的驱动方法就是图3的那种,不存在用两个IO来驱动声音就会大的,这种蜂鸣器是标有正负的
另一个里面是压电片,这种是要用交流电驱动的,你用的这个有可能就是这种,如果是压电片的话,不需要的两个IO的,难不成你要加四个三极管给它?
在压电片的两端并联一个电感就可以了,这种蜂鸣器虽说是有红黑线,但实际上是不分正负的
把你那个资料上传一下不行吗?
回复

使用道具 举报

ID:668004 发表于 2020-9-9 18:29 | 显示全部楼层
wulin 发表于 2020-9-8 20:46
你把压电式蜂鸣器看成电容就能比较容易理解为什么在蜂鸣器两端测得峰峰值电压2倍于VCC。如果示波器表笔一 ...

APP转岗做嵌入式的。。。
回复

使用道具 举报

ID:668004 发表于 2020-9-9 18:29 | 显示全部楼层
wulin 发表于 2020-9-8 20:46
你把压电式蜂鸣器看成电容就能比较容易理解为什么在蜂鸣器两端测得峰峰值电压2倍于VCC。如果示波器表笔一 ...

直接0 1   0  1这样吗
回复

使用道具 举报

ID:668004 发表于 2020-9-9 18:30 | 显示全部楼层
Y_G_G 发表于 2020-9-8 22:26
这到底是有多难呢?
市面上的无源蜂鸣器它实际上是有两种的的:一种是常用的线圈式的,用的驱动方法就是图3的 ...

看来你不懂无源和有源蜂鸣器
回复

使用道具 举报

ID:401564 发表于 2020-9-9 19:12 | 显示全部楼层
QWE4562012 发表于 2020-9-9 18:30
看来你不懂无源和有源蜂鸣器

不讨论个人能力问题
你图3用三极管驱动的叫线圈式(专业名词:电磁式无源蜂鸣器),驱动方法就和图3用三极管驱动那样的,方波驱动
还有另外一个是用压电片的,专业名词叫作压电无源蜂鸣器,驱动的方法是并联一个电感,电感取值要根据压电片频率来计算的,也是方波驱动
我用过的无源蜂鸣器都是这样用的,请问,哪里有不对的,你可以指正一下.
回复

使用道具 举报

ID:817485 发表于 2020-9-9 19:22 | 显示全部楼层
续流二极管与滤波电容是必须有吗
回复

使用道具 举报

ID:668004 发表于 2020-9-11 10:01 | 显示全部楼层
Y_G_G 发表于 2020-9-9 19:12
不讨论个人能力问题
你图3用三极管驱动的叫线圈式(专业名词:电磁式无源蜂鸣器),驱动方法就和图3用三极管 ...

你这么说。说明你是懂的!你知道并联电感的选取吗?只能用磁珠,空间不够。-----------如果是压电片的话,不需要的两个IO的-----------------你这句话啥意思?念起来不顺
回复

使用道具 举报

ID:668004 发表于 2020-9-11 10:05 | 显示全部楼层
wulin 发表于 2020-9-8 20:46
你把压电式蜂鸣器看成电容就能比较容易理解为什么在蜂鸣器两端测得峰峰值电压2倍于VCC。如果示波器表笔一 ...

为什么有人说对地测量是测不到反相的?我等下试试看
回复

使用道具 举报

ID:668004 发表于 2020-9-11 10:21 | 显示全部楼层
Y_G_G 发表于 2020-9-8 22:26
这到底是有多难呢?
市面上的无源蜂鸣器它实际上是有两种的的:一种是常用的线圈式的,用的驱动方法就是图3的 ...

你好玉工 这是蜂鸣器规格书
蜂鸣器规格书.jpg
回复

使用道具 举报

ID:668004 发表于 2020-9-11 10:22 | 显示全部楼层
wulin 发表于 2020-9-8 08:00
普通电磁式无源蜂鸣器采用图1方式驱动没有多少实际意义,常见是图3方式驱动,但要求IO口有足够的高电平驱动 ...

还没达到样品的频率  是不是这样?声音还没达到样品的音量
蜂鸣器.jpg
回复

使用道具 举报

ID:213173 发表于 2020-9-11 10:59 | 显示全部楼层
QWE4562012 发表于 2020-9-11 10:05
为什么有人说对地测量是测不到反相的?我等下试试看

你没有理解 “互为反相的3.3V矩形波” 的含义。如果你用双踪示波器或逻辑分析仪就能看明白。示意图如下: 无标题.jpg

回复

使用道具 举报

ID:401564 发表于 2020-9-11 11:52 | 显示全部楼层
QWE4562012 发表于 2020-9-11 10:21
你好玉工 这是蜂鸣器规格书

你这个是压电陶瓷片,是要用交流电的,简单的开关是不行的
图1可以驱动,单片机端口设定成强推挽输出,输出波形不是0101,而是:当A端口=0时,B端口=1,然后,B=0,A=1,使两个端口输出的是交流信号
图3是要把二极管换成电感的,大概是几mH左右,如果没有空间就不管了
使用图1的接法,先用示波器看效果:示波器的地线接一个端口,探头接另外一个端口,看波形就知道频率了
回复

使用道具 举报

ID:213173 发表于 2020-9-11 17:49 | 显示全部楼层
QWE4562012 发表于 2020-9-11 10:22
还没达到样品的频率  是不是这样?声音还没达到样品的音量

要想蜂鸣器声音大不但要有足够的驱动电压还要求驱动频率与蜂鸣器的谐振频率相同或相近。楼主这个驱动波形不太好,有点交越失真,是程序没有写好。
回复

使用道具 举报

ID:10947 发表于 2020-9-11 18:17 | 显示全部楼层
压电蜂鸣器,可以直接把两个引脚接到IO口,让软件工程师写程序,发出蜂鸣器谐振频率的脉冲
回复

使用道具 举报

ID:382454 发表于 2020-9-12 09:26 | 显示全部楼层
这有啥难的,驱动电路看是没问题的,三极管要用高放大倍数的为好,比如TO92封装的,放大倍数200以上。想声压大,就上+5V 或+10V
回复

使用道具 举报

ID:668004 发表于 2020-9-12 10:47 | 显示全部楼层
wulin 发表于 2020-9-11 17:49
要想蜂鸣器声音大不但要有足够的驱动电压还要求驱动频率与蜂鸣器的谐振频率相同或相近。楼主这个驱动波形 ...

这位兄弟 先说声谢谢。这是参考产品压电无源蜂鸣器的驱动波形和自己产品压电无源蜂鸣器驱动波形   这是软件的延时搞得不对吗?我要怎么跟他讲?波形都不对!阶梯状
自己机器压电无源蜂鸣器驱动波形.jpg
参考机器压电无源蜂鸣器驱动波形.jpg
压电无源蜂鸣器规格书.jpg
回复

使用道具 举报

ID:668004 发表于 2020-9-12 10:48 | 显示全部楼层
Y_G_G 发表于 2020-9-11 11:52
你这个是压电陶瓷片,是要用交流电的,简单的开关是不行的
图1可以驱动,单片机端口设定成强推挽输出,输出 ...

4K的蜂鸣器  如果用两个IO口的话 是否需要电感?这个电感的计算方法说下
回复

使用道具 举报

ID:668004 发表于 2020-9-12 10:49 | 显示全部楼层
Y_G_G 发表于 2020-9-11 11:52
你这个是压电陶瓷片,是要用交流电的,简单的开关是不行的
图1可以驱动,单片机端口设定成强推挽输出,输出 ...

是的  必须用交流电  图刚更新了 贴出来了
回复

使用道具 举报

ID:668004 发表于 2020-9-12 10:50 | 显示全部楼层
yzwzfyz 发表于 2020-9-8 16:19
对于蜂鸣器来说,它不管是谁驱动它,只要给足电压,它就给足振动(对应音量)。
你想想看,音量大的时候它 ...

电源是3.0  这个没得选  不可能升压
回复

使用道具 举报

ID:668004 发表于 2020-9-12 10:52 | 显示全部楼层
univers 发表于 2020-9-12 09:26
这有啥难的,驱动电路看是没问题的,三极管要用高放大倍数的为好,比如TO92封装的,放大倍数200以上。想声 ...

怎么就那么多人叫我提高电压。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。真是无语
回复

使用道具 举报

ID:668004 发表于 2020-9-12 11:42 | 显示全部楼层
wulin 发表于 2020-9-11 10:59
你没有理解 “互为反相的3.3V矩形波” 的含义。如果你用双踪示波器或逻辑分析仪就能看明白。示意图如下: ...

您好   按照您的指示  用逻辑分析仪也抓了下波形(因为是方波,不知道选取哪个协议,选的IIC的协议,)波形如图,请进一步指示,谢谢
参考样品 逻辑分析仪采到的两个IO的驱动波形.png
自己产品逻辑分析仪采样到的MCU两个IO口驱动压电无源蜂鸣器的波形.jpg
回复

使用道具 举报

ID:213173 发表于 2020-9-12 13:08 | 显示全部楼层
QWE4562012 发表于 2020-9-12 11:42
您好   按照您的指示  用逻辑分析仪也抓了下波形(因为是方波,不知道选取哪个协议,选的IIC的协议,)波 ...

图1的的波形非常清楚的表示两个端口电压互为反相且时序准确,难道你看不出来???只是为了看波形和时序不必纠结选取哪个协议。与任何通讯协议也没有丝毫关联。
图2波形两个端口翻转有明显时间差,还叠加了异常短脉冲。明显是软件编写有缺陷才会出现的现象。你把时间轴展开看会非常明显。
回复

使用道具 举报

ID:790738 发表于 2020-9-12 14:07 | 显示全部楼层
一个软件问题讨论了五六天也不见把程序贴上来
回复

使用道具 举报

ID:401564 发表于 2020-9-12 14:19 | 显示全部楼层
QWE4562012 发表于 2020-9-12 10:48
4K的蜂鸣器  如果用两个IO口的话 是否需要电感?这个电感的计算方法说下

你没有示波器吗?直接用示波器两个线接到两个IO看波形就知道了,A=0的时候B=1,然后A=1,B=0,频率使用蜂鸣器的频率,这真不难呀!你上传的波形已经可以了,至于波形的延时有毛刺什么的,难道不能先试一下效果吗?烧录到单片机上先试下效果,如果是声音电流都符合了,再去找一下问题不行吗?
如果是用两个IO驱动的话是不用电感的,这要的是交流电的
一个IO驱动就要电感,我说得很明白了,既然是没有空间,那就不管了,如果你要测试,可以试一下,从1mH电感慢慢的调试
回复

使用道具 举报

ID:668004 发表于 2020-9-12 14:40 | 显示全部楼层
ice615 发表于 2020-9-12 14:07
一个软件问题讨论了五六天也不见把程序贴上来

兄弟啊  我是搞硬件的  软件不是我写的  我周一让他发给我
回复

使用道具 举报

ID:668004 发表于 2020-9-12 14:43 | 显示全部楼层
学习单片机lq 发表于 2020-9-7 22:09
如果有更高的供电,比如5V,直接单独供电就行了,这里不值得下功夫。

本来你这个回复我不想理睬的  既然来了就回复下你   提高电压这种方法说都不要说出来  谁不知道?这是电池产品,容量很小,而且这是IO口反相驱动  单片机电压是3V 明白?如果空间够  直接用电磁式的就行了,或者有5V系统 直接用5V供电就行了
回复

使用道具 举报

ID:668004 发表于 2020-9-12 14:59 | 显示全部楼层
wulin 发表于 2020-9-11 10:59
你没有理解 “互为反相的3.3V矩形波” 的含义。如果你用双踪示波器或逻辑分析仪就能看明白。示意图如下: ...

就这一个帖就能看出是高手。吴工你是高手!我喜欢你的回帖!受益匪浅!
回复

使用道具 举报

ID:668004 发表于 2020-9-14 15:45 | 显示全部楼层
ice615 发表于 2020-9-12 14:07
一个软件问题讨论了五六天也不见把程序贴上来

void Beep(int iNum)
{
int i, j;

DrvGPIO_PT9_EnableOUTPUT(0x01);
DrvGPIO_PT9_EnableOUTPUT(0x02);
for(i = 0; i < iNum; i++)
{
  for(j = 0; j < 90; j++)
  {
   DrvGPIO_PT9_SetPortBits(0x01);
   DrvGPIO_PT9_ClrPortBits(0x02);
   Delay(43);//Delay(125);130
   DrvGPIO_PT9_ClrPortBits(0x01);
   DrvGPIO_PT9_SetPortBits(0x02);
   Delay(43);//Delay(125);130
  }
}
// if(iNum > 1)
//  Delay(10000);

DrvGPIO_PT9_DisableOUTPUT(0x01);
DrvGPIO_PT9_DisableOUTPUT(0x02);
}


请赐教
回复

使用道具 举报

ID:213173 发表于 2020-9-14 18:59 | 显示全部楼层
QWE4562012 发表于 2020-9-14 15:45
void Beep(int iNum)
{
int i, j;

这段代码DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);两条指令之间会有时间差,做不到2个端口同时翻转。要用总线操作方法使2个端口同时翻转。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表