juncedz 发表于 2020-9-17 23:09 无源的就是这样驱动的 推挽 最大的功率 |
QWE4562012 发表于 2020-9-16 18:14 是轰鸣片, 基本上报警声音响的都是用这样的,并且拆开看了好多。 如果没有空间,也没办法, 单片机直接二口能够驱动轰鸣片发声音没有看过, 不过那些音乐片 是直接有 io口 驱动 小喇叭的。声音也可以的, |
交流、频率 |
wulin 发表于 2020-9-15 19:29 谢谢大神 不甚感激 |
juncedz 发表于 2020-9-14 19:41 你好 用了三端电感?产品空间很小 不可能放这么大插件电感的。。。还有你这种是有源蜂鸣器吧 |
juncedz 发表于 2020-9-14 19:24 空间和成本 所以用的是压电的无源 因为体积比较小 你那种应该是大才产品 直接用的喇叭吧?或者是电磁式的 |
wulin 发表于 2020-9-14 18:59 要用总线操作方法使2个端口同时翻转。--------------------具体如何做?方法说下 |
QWE4562012 发表于 2020-9-15 18:32 由于你发的代码不全,控制蜂鸣器端口翻转的核心部分看不到,只能猜想是用的Px的Px.0和Px.1。所以很难用简单几句话表述清楚,直接给你写个示例程序,稍有点C言语基础就能看明白,既可以用仿真软件仿真运行,也可以搭建实际电路测试。至于使用的端口不同,略改一下即可。有详细注释,别说还是看不懂。
|
ice615 发表于 2020-9-12 14:07 兄弟 程序它来了 有空看下 |
wulin 发表于 2020-9-14 18:59 总线操作方法?我怎么跟他说呢?他这里是直接操作的库函数是吗 |
以前的硬件方式: 用1个直径10*高度15mm三脚的绕线电感,103电容,几个三极管与电阻电容, 就用单片机开关一下三极管也声音响的车喇叭一样,可能达到80--90db。 有电容,开关一下,有延时,就不停的响。 软件不懂,以前就这样硬件用过。里面需要一定空间, 现在的报警器可能还是用这样的硬件的才声音好响。 |
QWE4562012 发表于 2020-9-14 15:45 这段代码DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);两条指令之间会有时间差,做不到2个端口同时翻转。要用总线操作方法使2个端口同时翻转。 |
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); } 请赐教 |
wulin 发表于 2020-9-11 10:59 就这一个帖就能看出是高手。吴工你是高手!我喜欢你的回帖!受益匪浅! |
学习单片机lq 发表于 2020-9-7 22:09 本来你这个回复我不想理睬的 既然来了就回复下你 提高电压这种方法说都不要说出来 谁不知道?这是电池产品,容量很小,而且这是IO口反相驱动 单片机电压是3V 明白?如果空间够 直接用电磁式的就行了,或者有5V系统 直接用5V供电就行了 |
ice615 发表于 2020-9-12 14:07 兄弟啊 我是搞硬件的 软件不是我写的 我周一让他发给我 |
QWE4562012 发表于 2020-9-12 10:48 你没有示波器吗?直接用示波器两个线接到两个IO看波形就知道了,A=0的时候B=1,然后A=1,B=0,频率使用蜂鸣器的频率,这真不难呀!你上传的波形已经可以了,至于波形的延时有毛刺什么的,难道不能先试一下效果吗?烧录到单片机上先试下效果,如果是声音电流都符合了,再去找一下问题不行吗? 如果是用两个IO驱动的话是不用电感的,这要的是交流电的 一个IO驱动就要电感,我说得很明白了,既然是没有空间,那就不管了,如果你要测试,可以试一下,从1mH电感慢慢的调试 |
一个软件问题讨论了五六天也不见把程序贴上来 |
QWE4562012 发表于 2020-9-12 11:42 图1的的波形非常清楚的表示两个端口电压互为反相且时序准确,难道你看不出来???只是为了看波形和时序不必纠结选取哪个协议。与任何通讯协议也没有丝毫关联。 图2波形两个端口翻转有明显时间差,还叠加了异常短脉冲。明显是软件编写有缺陷才会出现的现象。你把时间轴展开看会非常明显。 |
univers 发表于 2020-9-12 09:26 怎么就那么多人叫我提高电压。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。真是无语 |
yzwzfyz 发表于 2020-9-8 16:19 电源是3.0 这个没得选 不可能升压 |
Y_G_G 发表于 2020-9-11 11:52 是的 必须用交流电 图刚更新了 贴出来了 |
Y_G_G 发表于 2020-9-11 11:52 4K的蜂鸣器 如果用两个IO口的话 是否需要电感?这个电感的计算方法说下 |
这有啥难的,驱动电路看是没问题的,三极管要用高放大倍数的为好,比如TO92封装的,放大倍数200以上。想声压大,就上+5V 或+10V |
压电蜂鸣器,可以直接把两个引脚接到IO口,让软件工程师写程序,发出蜂鸣器谐振频率的脉冲 |
QWE4562012 发表于 2020-9-11 10:22 要想蜂鸣器声音大不但要有足够的驱动电压还要求驱动频率与蜂鸣器的谐振频率相同或相近。楼主这个驱动波形不太好,有点交越失真,是程序没有写好。 |
QWE4562012 发表于 2020-9-11 10:21 你这个是压电陶瓷片,是要用交流电的,简单的开关是不行的 图1可以驱动,单片机端口设定成强推挽输出,输出波形不是0101,而是:当A端口=0时,B端口=1,然后,B=0,A=1,使两个端口输出的是交流信号 图3是要把二极管换成电感的,大概是几mH左右,如果没有空间就不管了 使用图1的接法,先用示波器看效果:示波器的地线接一个端口,探头接另外一个端口,看波形就知道频率了 |
QWE4562012 发表于 2020-9-11 10:05 你没有理解 “互为反相的3.3V矩形波” 的含义。如果你用双踪示波器或逻辑分析仪就能看明白。示意图如下: ![]() |
wulin 发表于 2020-9-8 20:46 为什么有人说对地测量是测不到反相的?我等下试试看 |
Y_G_G 发表于 2020-9-9 19:12 你这么说。说明你是懂的!你知道并联电感的选取吗?只能用磁珠,空间不够。-----------如果是压电片的话,不需要的两个IO的-----------------你这句话啥意思?念起来不顺 |
续流二极管与滤波电容是必须有吗 |
QWE4562012 发表于 2020-9-9 18:30 不讨论个人能力问题 你图3用三极管驱动的叫线圈式(专业名词:电磁式无源蜂鸣器),驱动方法就和图3用三极管驱动那样的,方波驱动 还有另外一个是用压电片的,专业名词叫作压电无源蜂鸣器,驱动的方法是并联一个电感,电感取值要根据压电片频率来计算的,也是方波驱动 我用过的无源蜂鸣器都是这样用的,请问,哪里有不对的,你可以指正一下. |
Y_G_G 发表于 2020-9-8 22:26 看来你不懂无源和有源蜂鸣器 |
wulin 发表于 2020-9-8 20:46 直接0 1 0 1这样吗 |
wulin 发表于 2020-9-8 20:46 APP转岗做嵌入式的。。。 |