欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于單片機控制無源蜂鳴器驅動電路 [打印本頁]

作者: QWE4562012    時間: 2020-9-7 17:02
標題: 關于單片機控制無源蜂鳴器驅動電路
這是一款購買的機器驅動的無源蜂鳴器測試到的波形,聲音還比較大,用的是兩個IO口直接連接到蜂鳴器兩端。

自己設計的如果只用一個IO口用三極管驅動,蜂鳴器一端接電源3V另一端經過三極管到地反而聲音更小!為了達到同樣的聲音大小,也想用兩個IO和蜂鳴器直接連接!我要怎么跟軟件工程是說?就說驅動的頻率3.7K就可以?還需要告訴他哪些信息才能達到和參考產品一樣的效果?比如聲音大小

參考的產品兩個IO口驅動.jpg (74.13 KB, 下載次數: 111)

參考的產品兩個IO口驅動.jpg

參考的產品無源蜂鳴器驅動的波形.jpg (107.42 KB, 下載次數: 114)

參考的產品無源蜂鳴器驅動的波形.jpg

一個IO驅動.jpg (7.73 KB, 下載次數: 131)

一個IO驅動.jpg

作者: xianfajushi    時間: 2020-9-7 20:18
這樣的2個IO不會增大驅動電流,若想聲音大,可能要運放。
作者: 學習單片機lq    時間: 2020-9-7 22:09
如果有更高的供電,比如5V,直接單獨供電就行了,這里不值得下功夫。
作者: TTQ001    時間: 2020-9-8 01:24
哪種類型的無源壓電蜂鳴器? 它的規格是什么? 我們需要知道蜂鳴器的額定電流和諧振頻率等。
作者: wulin    時間: 2020-9-8 08:00
普通電磁式無源蜂鳴器采用圖1方式驅動沒有多少實際意義,常見是圖3方式驅動,但要求IO口有足夠的高電平驅動能力,否則晶體管不能飽和導通從而音量小。另外市售電磁式無源蜂鳴器的品質差異很大,相同電氣環境音質音量天差地別。圖2驅動波形可能更適合壓電式無源蜂鳴器。
作者: yzwzfyz    時間: 2020-9-8 16:19
對于蜂鳴器來說,它不管是誰驅動它,只要給足電壓,它就給足振動(對應音量)。
你想想看,音量大的時候它兩端的電壓是多少?音量小的時候它兩端的電壓是多少?
這個問題不難解。
作者: QWE4562012    時間: 2020-9-8 18:49
學習單片機lq 發表于 2020-9-7 22:09
如果有更高的供電,比如5V,直接單獨供電就行了,這里不值得下功夫。

電源是3V 兄弟
作者: QWE4562012    時間: 2020-9-8 18:49
TTQ001 發表于 2020-9-8 01:24
哪種類型的無源壓電蜂鳴器? 它的規格是什么? 我們需要知道蜂鳴器的額定電流和諧振頻率等。

壓電型的   3.7K
作者: QWE4562012    時間: 2020-9-8 18:50
wulin 發表于 2020-9-8 08:00
普通電磁式無源蜂鳴器采用圖1方式驅動沒有多少實際意義,常見是圖3方式驅動,但要求IO口有足夠的高電平驅動 ...

到位     
作者: QWE4562012    時間: 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啊!   我是這個疑問
作者: wulin    時間: 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矩形波。至于怎么編程你只要對軟件工程師(合格的)一說他就能會意,不必擔憂。
作者: Y_G_G    時間: 2020-9-8 22:26
這到底是有多難呢?
市面上的無源蜂鳴器它實際上是有兩種的的:一種是常用的線圈式的,用的驅動方法就是圖3的那種,不存在用兩個IO來驅動聲音就會大的,這種蜂鳴器是標有正負的
另一個里面是壓電片,這種是要用交流電驅動的,你用的這個有可能就是這種,如果是壓電片的話,不需要的兩個IO的,難不成你要加四個三極管給它?
在壓電片的兩端并聯一個電感就可以了,這種蜂鳴器雖說是有紅黑線,但實際上是不分正負的
把你那個資料上傳一下不行嗎?
作者: QWE4562012    時間: 2020-9-9 18:29
wulin 發表于 2020-9-8 20:46
你把壓電式蜂鳴器看成電容就能比較容易理解為什么在蜂鳴器兩端測得峰峰值電壓2倍于VCC。如果示波器表筆一 ...

APP轉崗做嵌入式的。。。
作者: QWE4562012    時間: 2020-9-9 18:29
wulin 發表于 2020-9-8 20:46
你把壓電式蜂鳴器看成電容就能比較容易理解為什么在蜂鳴器兩端測得峰峰值電壓2倍于VCC。如果示波器表筆一 ...

直接0 1   0  1這樣嗎
作者: QWE4562012    時間: 2020-9-9 18:30
Y_G_G 發表于 2020-9-8 22:26
這到底是有多難呢?
市面上的無源蜂鳴器它實際上是有兩種的的:一種是常用的線圈式的,用的驅動方法就是圖3的 ...

看來你不懂無源和有源蜂鳴器
作者: Y_G_G    時間: 2020-9-9 19:12
QWE4562012 發表于 2020-9-9 18:30
看來你不懂無源和有源蜂鳴器

不討論個人能力問題
你圖3用三極管驅動的叫線圈式(專業名詞:電磁式無源蜂鳴器),驅動方法就和圖3用三極管驅動那樣的,方波驅動
還有另外一個是用壓電片的,專業名詞叫作壓電無源蜂鳴器,驅動的方法是并聯一個電感,電感取值要根據壓電片頻率來計算的,也是方波驅動
我用過的無源蜂鳴器都是這樣用的,請問,哪里有不對的,你可以指正一下.

作者: 845    時間: 2020-9-9 19:22
續流二極管與濾波電容是必須有嗎
作者: QWE4562012    時間: 2020-9-11 10:01
Y_G_G 發表于 2020-9-9 19:12
不討論個人能力問題
你圖3用三極管驅動的叫線圈式(專業名詞:電磁式無源蜂鳴器),驅動方法就和圖3用三極管 ...

你這么說。說明你是懂的!你知道并聯電感的選取嗎?只能用磁珠,空間不夠。-----------如果是壓電片的話,不需要的兩個IO的-----------------你這句話啥意思?念起來不順
作者: QWE4562012    時間: 2020-9-11 10:05
wulin 發表于 2020-9-8 20:46
你把壓電式蜂鳴器看成電容就能比較容易理解為什么在蜂鳴器兩端測得峰峰值電壓2倍于VCC。如果示波器表筆一 ...

為什么有人說對地測量是測不到反相的?我等下試試看
作者: QWE4562012    時間: 2020-9-11 10:21
Y_G_G 發表于 2020-9-8 22:26
這到底是有多難呢?
市面上的無源蜂鳴器它實際上是有兩種的的:一種是常用的線圈式的,用的驅動方法就是圖3的 ...

你好玉工 這是蜂鳴器規格書

蜂鳴器規格書.jpg (90.36 KB, 下載次數: 72)

蜂鳴器規格書.jpg

作者: QWE4562012    時間: 2020-9-11 10:22
wulin 發表于 2020-9-8 08:00
普通電磁式無源蜂鳴器采用圖1方式驅動沒有多少實際意義,常見是圖3方式驅動,但要求IO口有足夠的高電平驅動 ...

還沒達到樣品的頻率  是不是這樣?聲音還沒達到樣品的音量

蜂鳴器.jpg (89.71 KB, 下載次數: 83)

蜂鳴器.jpg

作者: wulin    時間: 2020-9-11 10:59
QWE4562012 發表于 2020-9-11 10:05
為什么有人說對地測量是測不到反相的?我等下試試看

你沒有理解 “互為反相的3.3V矩形波” 的含義。如果你用雙蹤示波器或邏輯分析儀就能看明白。示意圖如下:


作者: Y_G_G    時間: 2020-9-11 11:52
QWE4562012 發表于 2020-9-11 10:21
你好玉工 這是蜂鳴器規格書

你這個是壓電陶瓷片,是要用交流電的,簡單的開關是不行的
圖1可以驅動,單片機端口設定成強推挽輸出,輸出波形不是0101,而是:當A端口=0時,B端口=1,然后,B=0,A=1,使兩個端口輸出的是交流信號
圖3是要把二極管換成電感的,大概是幾mH左右,如果沒有空間就不管了
使用圖1的接法,先用示波器看效果:示波器的地線接一個端口,探頭接另外一個端口,看波形就知道頻率了

作者: wulin    時間: 2020-9-11 17:49
QWE4562012 發表于 2020-9-11 10:22
還沒達到樣品的頻率  是不是這樣?聲音還沒達到樣品的音量

要想蜂鳴器聲音大不但要有足夠的驅動電壓還要求驅動頻率與蜂鳴器的諧振頻率相同或相近。樓主這個驅動波形不太好,有點交越失真,是程序沒有寫好。

作者: lfc315    時間: 2020-9-11 18:17
壓電蜂鳴器,可以直接把兩個引腳接到IO口,讓軟件工程師寫程序,發出蜂鳴器諧振頻率的脈沖
作者: univers    時間: 2020-9-12 09:26
這有啥難的,驅動電路看是沒問題的,三極管要用高放大倍數的為好,比如TO92封裝的,放大倍數200以上。想聲壓大,就上+5V 或+10V

作者: QWE4562012    時間: 2020-9-12 10:47
wulin 發表于 2020-9-11 17:49
要想蜂鳴器聲音大不但要有足夠的驅動電壓還要求驅動頻率與蜂鳴器的諧振頻率相同或相近。樓主這個驅動波形 ...

這位兄弟 先說聲謝謝。這是參考產品壓電無源蜂鳴器的驅動波形和自己產品壓電無源蜂鳴器驅動波形   這是軟件的延時搞得不對嗎?我要怎么跟他講?波形都不對!階梯狀

自己機器壓電無源蜂鳴器驅動波形.jpg (202.15 KB, 下載次數: 78)

自己機器壓電無源蜂鳴器驅動波形.jpg

參考機器壓電無源蜂鳴器驅動波形.jpg (206.23 KB, 下載次數: 79)

參考機器壓電無源蜂鳴器驅動波形.jpg

壓電無源蜂鳴器規格書.jpg (107.17 KB, 下載次數: 80)

壓電無源蜂鳴器規格書.jpg

作者: QWE4562012    時間: 2020-9-12 10:48
Y_G_G 發表于 2020-9-11 11:52
你這個是壓電陶瓷片,是要用交流電的,簡單的開關是不行的
圖1可以驅動,單片機端口設定成強推挽輸出,輸出 ...

4K的蜂鳴器  如果用兩個IO口的話 是否需要電感?這個電感的計算方法說下
作者: QWE4562012    時間: 2020-9-12 10:49
Y_G_G 發表于 2020-9-11 11:52
你這個是壓電陶瓷片,是要用交流電的,簡單的開關是不行的
圖1可以驅動,單片機端口設定成強推挽輸出,輸出 ...

是的  必須用交流電  圖剛更新了 貼出來了
作者: QWE4562012    時間: 2020-9-12 10:50
yzwzfyz 發表于 2020-9-8 16:19
對于蜂鳴器來說,它不管是誰驅動它,只要給足電壓,它就給足振動(對應音量)。
你想想看,音量大的時候它 ...

電源是3.0  這個沒得選  不可能升壓
作者: QWE4562012    時間: 2020-9-12 10:52
univers 發表于 2020-9-12 09:26
這有啥難的,驅動電路看是沒問題的,三極管要用高放大倍數的為好,比如TO92封裝的,放大倍數200以上。想聲 ...

怎么就那么多人叫我提高電壓。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。真是無語
作者: QWE4562012    時間: 2020-9-12 11:42
wulin 發表于 2020-9-11 10:59
你沒有理解 “互為反相的3.3V矩形波” 的含義。如果你用雙蹤示波器或邏輯分析儀就能看明白。示意圖如下: ...

您好   按照您的指示  用邏輯分析儀也抓了下波形(因為是方波,不知道選取哪個協議,選的IIC的協議,)波形如圖,請進一步指示,謝謝

參考樣品 邏輯分析儀采到的兩個IO的驅動波形.png (70.94 KB, 下載次數: 83)

參考樣品 邏輯分析儀采到的兩個IO的驅動波形.png

自己產品邏輯分析儀采樣到的MCU兩個IO口驅動壓電無源蜂鳴器的波形.jpg (155.34 KB, 下載次數: 93)

自己產品邏輯分析儀采樣到的MCU兩個IO口驅動壓電無源蜂鳴器的波形.jpg

作者: wulin    時間: 2020-9-12 13:08
QWE4562012 發表于 2020-9-12 11:42
您好   按照您的指示  用邏輯分析儀也抓了下波形(因為是方波,不知道選取哪個協議,選的IIC的協議,)波 ...

圖1的的波形非常清楚的表示兩個端口電壓互為反相且時序準確,難道你看不出來???只是為了看波形和時序不必糾結選取哪個協議。與任何通訊協議也沒有絲毫關聯。
圖2波形兩個端口翻轉有明顯時間差,還疊加了異常短脈沖。明顯是軟件編寫有缺陷才會出現的現象。你把時間軸展開看會非常明顯。
作者: ice615    時間: 2020-9-12 14:07
一個軟件問題討論了五六天也不見把程序貼上來
作者: Y_G_G    時間: 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電感慢慢的調試
作者: QWE4562012    時間: 2020-9-12 14:40
ice615 發表于 2020-9-12 14:07
一個軟件問題討論了五六天也不見把程序貼上來

兄弟啊  我是搞硬件的  軟件不是我寫的  我周一讓他發給我
作者: QWE4562012    時間: 2020-9-12 14:43
學習單片機lq 發表于 2020-9-7 22:09
如果有更高的供電,比如5V,直接單獨供電就行了,這里不值得下功夫。

本來你這個回復我不想理睬的  既然來了就回復下你   提高電壓這種方法說都不要說出來  誰不知道?這是電池產品,容量很小,而且這是IO口反相驅動  單片機電壓是3V 明白?如果空間夠  直接用電磁式的就行了,或者有5V系統 直接用5V供電就行了
作者: QWE4562012    時間: 2020-9-12 14:59
wulin 發表于 2020-9-11 10:59
你沒有理解 “互為反相的3.3V矩形波” 的含義。如果你用雙蹤示波器或邏輯分析儀就能看明白。示意圖如下: ...

就這一個帖就能看出是高手。吳工你是高手!我喜歡你的回帖!受益匪淺!
作者: QWE4562012    時間: 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);
}


請賜教
作者: wulin    時間: 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個端口同時翻轉。
作者: juncedz    時間: 2020-9-14 19:24
以前的硬件方式:
用1個直徑10*高度15mm三腳的繞線電感,103電容,幾個三極管與電阻電容,
就用單片機開關一下三極管也聲音響的車喇叭一樣,可能達到80--90db。
有電容,開關一下,有延時,就不停的響。
軟件不懂,以前就這樣硬件用過。里面需要一定空間,
現在的報警器可能還是用這樣的硬件的才聲音好響。
作者: juncedz    時間: 2020-9-14 19:41
一個IO驅動.jpg    這個電路是驅動轟鳴器的,不是轟鳴片
這樣的:

蜂鳴片8.jpg (21.13 KB, 下載次數: 124)

蜂鳴片8.jpg

蜂鳴片4.jpg (1.96 KB, 下載次數: 104)

蜂鳴片4.jpg

作者: QWE4562012    時間: 2020-9-15 18:32
wulin 發表于 2020-9-14 18:59
這段代碼DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);兩條指令之間會有時間差,做不 ...

總線操作方法?我怎么跟他說呢?他這里是直接操作的庫函數是嗎
作者: QWE4562012    時間: 2020-9-15 18:33
ice615 發表于 2020-9-12 14:07
一個軟件問題討論了五六天也不見把程序貼上來

兄弟  程序它來了  有空看下   
作者: wulin    時間: 2020-9-15 19:29
QWE4562012 發表于 2020-9-15 18:32
總線操作方法?我怎么跟他說呢?他這里是直接操作的庫函數是嗎

由于你發的代碼不全,控制蜂鳴器端口翻轉的核心部分看不到,只能猜想是用的Px的Px.0和Px.1。所以很難用簡單幾句話表述清楚,直接給你寫個示例程序,稍有點C言語基礎就能看明白,既可以用仿真軟件仿真運行,也可以搭建實際電路測試。至于使用的端口不同,略改一下即可。有詳細注釋,別說還是看不懂。
  1. //以51系列單片機,晶振12MHz為基礎編寫的測試程序
  2. //蜂鳴器驅動端口P2.0、P2.1,可以根據實際管腳修改
  3. //按鍵程序作為測試蜂鳴器使用,每按一次響鈴1/4秒
  4. #include <reg52.h>
  5. #include <intrins.h>
  6. #define uint unsigned int
  7. #define uchar unsigned char

  8. sbit key=P2^2;

  9. bit flag=0;

  10. void Delay115us()                //@12.000MHz
  11. {
  12.         uchar i;
  13.         i=55;
  14.         while(--i);
  15. }

  16. void key_scan()
  17. {
  18.         static uchar temp=0; //消抖計數
  19.         static bit sign=0;        //按鍵狀態記憶
  20.         if(!key)
  21.         {
  22.                 if(++temp==100 && sign==0)
  23.                 {
  24.                         sign=1;
  25.                         flag=1;//開啟蜂鳴器
  26.                 }
  27.         }
  28.         else
  29.         {
  30.                 temp=0;
  31.                 sign=0;
  32.         }
  33. }

  34. void Beep()//頻率4KHz/周期250us
  35. {
  36.         uint i;
  37.         if(flag)
  38.         {
  39.                 P2|=0x01;//蜂鳴器端口置位,P2.0=1、P2.1=0,不影響P2其它端口狀態
  40.                 for(i=0;i<2000;i++)//響鈴1/4秒
  41.                 {
  42.                         if(i%2==0)
  43.                                 P2+=0x01;//P2.0、P2.1同步翻轉,不影響P2其它端口狀態
  44.                         else
  45.                         {
  46.                                 P2-=0x01;//P2.0、P2.1同步翻轉,不影響P2其它端口狀態
  47.                                 _nop_(); //補償2us,正負半周脈沖等寬
  48.                                 _nop_();
  49.                         }
  50.                         Delay115us();
  51.                 }
  52.                 P2&=0xfc;//蜂鳴器端口復位清0,不影響P2其它端口狀態
  53.                 flag=0;        //關閉蜂鳴器
  54.         }
  55. }

  56. void main()
  57. {
  58.         P2&=0xfc;//初始化蜂鳴器端口P2.0、P2.1清0。
  59.         while(1)
  60.         {
  61.                 key_scan();
  62.                 Beep();
  63.         }        
  64. }
復制代碼

作者: QWE4562012    時間: 2020-9-16 18:09
wulin 發表于 2020-9-14 18:59
這段代碼DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);兩條指令之間會有時間差,做不 ...

要用總線操作方法使2個端口同時翻轉。--------------------具體如何做?方法說下
作者: QWE4562012    時間: 2020-9-16 18:12
juncedz 發表于 2020-9-14 19:24
以前的硬件方式:
用1個直徑10*高度15mm三腳的繞線電感,103電容,幾個三極管與電阻電容,
就用單片機開 ...

空間和成本      所以用的是壓電的無源  因為體積比較小      你那種應該是大才產品   直接用的喇叭吧?或者是電磁式的   
作者: QWE4562012    時間: 2020-9-16 18:14
juncedz 發表于 2020-9-14 19:41
一個IO驅動.jpg    這個電路是驅動轟鳴器的,不是轟鳴片
這樣的:

你好   用了三端電感?產品空間很小  不可能放這么大插件電感的。。。還有你這種是有源蜂鳴器吧
作者: QWE4562012    時間: 2020-9-16 18:15
wulin 發表于 2020-9-15 19:29
由于你發的代碼不全,控制蜂鳴器端口翻轉的核心部分看不到,只能猜想是用的Px的Px.0和Px.1。所以很難用簡 ...

謝謝大神  不甚感激  
作者: gf.shao    時間: 2020-9-17 11:37
交流、頻率
作者: juncedz    時間: 2020-9-17 23:09
QWE4562012 發表于 2020-9-16 18:14
你好   用了三端電感?產品空間很小  不可能放這么大插件電感的。。。還有你這種是有源蜂鳴器吧

是轟鳴片,         基本上報警聲音響的都是用這樣的,并且拆開看了好多。

如果沒有空間,也沒辦法,  單片機直接二口能夠驅動轟鳴片發聲音沒有看過,

不過那些音樂片  是直接有 io口 驅動 小喇叭的。聲音也可以的,

作者: QWE4562012    時間: 2020-9-22 18:25
juncedz 發表于 2020-9-17 23:09
是轟鳴片,         基本上報警聲音響的都是用這樣的,并且拆開看了好多。

如果沒有空間,也沒辦法,  ...

無源的就是這樣驅動的  推挽  最大的功率




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1