久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于單片機控制無源蜂鳴器驅動電路

查看數: 10351 | 評論數: 51 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-9-7 17:02

正文摘要:

這是一款購買的機器驅動的無源蜂鳴器測試到的波形,聲音還比較大,用的是兩個IO口直接連接到蜂鳴器兩端。 自己設計的如果只用一個IO口用三極管驅動,蜂鳴器一端接電源3V另一端經過三極管到地反而聲音更小!為了達 ...

回復

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

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

無源的就是這樣驅動的  推挽  最大的功率
ID:595237 發表于 2020-9-17 23:09
QWE4562012 發表于 2020-9-16 18:14
你好   用了三端電感?產品空間很小  不可能放這么大插件電感的。。。還有你這種是有源蜂鳴器吧

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

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

不過那些音樂片  是直接有 io口 驅動 小喇叭的。聲音也可以的,
ID:582903 發表于 2020-9-17 11:37
交流、頻率
ID:668004 發表于 2020-9-16 18:15
wulin 發表于 2020-9-15 19:29
由于你發的代碼不全,控制蜂鳴器端口翻轉的核心部分看不到,只能猜想是用的Px的Px.0和Px.1。所以很難用簡 ...

謝謝大神  不甚感激  
ID:668004 發表于 2020-9-16 18:14
juncedz 發表于 2020-9-14 19:41
一個IO驅動.jpg    這個電路是驅動轟鳴器的,不是轟鳴片
這樣的:

你好   用了三端電感?產品空間很小  不可能放這么大插件電感的。。。還有你這種是有源蜂鳴器吧
ID:668004 發表于 2020-9-16 18:12
juncedz 發表于 2020-9-14 19:24
以前的硬件方式:
用1個直徑10*高度15mm三腳的繞線電感,103電容,幾個三極管與電阻電容,
就用單片機開 ...

空間和成本      所以用的是壓電的無源  因為體積比較小      你那種應該是大才產品   直接用的喇叭吧?或者是電磁式的   
ID:668004 發表于 2020-9-16 18:09
wulin 發表于 2020-9-14 18:59
這段代碼DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);兩條指令之間會有時間差,做不 ...

要用總線操作方法使2個端口同時翻轉。--------------------具體如何做?方法說下
ID:213173 發表于 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. }
復制代碼
ID:668004 發表于 2020-9-15 18:33
ice615 發表于 2020-9-12 14:07
一個軟件問題討論了五六天也不見把程序貼上來

兄弟  程序它來了  有空看下   
ID:668004 發表于 2020-9-15 18:32
wulin 發表于 2020-9-14 18:59
這段代碼DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);兩條指令之間會有時間差,做不 ...

總線操作方法?我怎么跟他說呢?他這里是直接操作的庫函數是嗎
ID:595237 發表于 2020-9-14 19:41
一個IO驅動.jpg    這個電路是驅動轟鳴器的,不是轟鳴片
這樣的:

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

蜂鳴片8.jpg

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

蜂鳴片4.jpg
ID:595237 發表于 2020-9-14 19:24
以前的硬件方式:
用1個直徑10*高度15mm三腳的繞線電感,103電容,幾個三極管與電阻電容,
就用單片機開關一下三極管也聲音響的車喇叭一樣,可能達到80--90db。
有電容,開關一下,有延時,就不停的響。
軟件不懂,以前就這樣硬件用過。里面需要一定空間,
現在的報警器可能還是用這樣的硬件的才聲音好響。
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個端口同時翻轉。
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:668004 發表于 2020-9-12 14:59
wulin 發表于 2020-9-11 10:59
你沒有理解 “互為反相的3.3V矩形波” 的含義。如果你用雙蹤示波器或邏輯分析儀就能看明白。示意圖如下: ...

就這一個帖就能看出是高手。吳工你是高手!我喜歡你的回帖!受益匪淺!
ID:668004 發表于 2020-9-12 14:43
學習單片機lq 發表于 2020-9-7 22:09
如果有更高的供電,比如5V,直接單獨供電就行了,這里不值得下功夫。

本來你這個回復我不想理睬的  既然來了就回復下你   提高電壓這種方法說都不要說出來  誰不知道?這是電池產品,容量很小,而且這是IO口反相驅動  單片機電壓是3V 明白?如果空間夠  直接用電磁式的就行了,或者有5V系統 直接用5V供電就行了
ID:668004 發表于 2020-9-12 14:40
ice615 發表于 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:790738 發表于 2020-9-12 14:07
一個軟件問題討論了五六天也不見把程序貼上來
ID:213173 發表于 2020-9-12 13:08
QWE4562012 發表于 2020-9-12 11:42
您好   按照您的指示  用邏輯分析儀也抓了下波形(因為是方波,不知道選取哪個協議,選的IIC的協議,)波 ...

圖1的的波形非常清楚的表示兩個端口電壓互為反相且時序準確,難道你看不出來???只是為了看波形和時序不必糾結選取哪個協議。與任何通訊協議也沒有絲毫關聯。
圖2波形兩個端口翻轉有明顯時間差,還疊加了異常短脈沖。明顯是軟件編寫有缺陷才會出現的現象。你把時間軸展開看會非常明顯。
ID:668004 發表于 2020-9-12 10:52
univers 發表于 2020-9-12 09:26
這有啥難的,驅動電路看是沒問題的,三極管要用高放大倍數的為好,比如TO92封裝的,放大倍數200以上。想聲 ...

怎么就那么多人叫我提高電壓。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。真是無語
ID:668004 發表于 2020-9-12 10:50
yzwzfyz 發表于 2020-9-8 16:19
對于蜂鳴器來說,它不管是誰驅動它,只要給足電壓,它就給足振動(對應音量)。
你想想看,音量大的時候它 ...

電源是3.0  這個沒得選  不可能升壓
ID:668004 發表于 2020-9-12 10:49
Y_G_G 發表于 2020-9-11 11:52
你這個是壓電陶瓷片,是要用交流電的,簡單的開關是不行的
圖1可以驅動,單片機端口設定成強推挽輸出,輸出 ...

是的  必須用交流電  圖剛更新了 貼出來了
ID:668004 發表于 2020-9-12 10:48
Y_G_G 發表于 2020-9-11 11:52
你這個是壓電陶瓷片,是要用交流電的,簡單的開關是不行的
圖1可以驅動,單片機端口設定成強推挽輸出,輸出 ...

4K的蜂鳴器  如果用兩個IO口的話 是否需要電感?這個電感的計算方法說下
ID:382454 發表于 2020-9-12 09:26
這有啥難的,驅動電路看是沒問題的,三極管要用高放大倍數的為好,比如TO92封裝的,放大倍數200以上。想聲壓大,就上+5V 或+10V
ID:10947 發表于 2020-9-11 18:17
壓電蜂鳴器,可以直接把兩個引腳接到IO口,讓軟件工程師寫程序,發出蜂鳴器諧振頻率的脈沖
ID:213173 發表于 2020-9-11 17:49
QWE4562012 發表于 2020-9-11 10:22
還沒達到樣品的頻率  是不是這樣?聲音還沒達到樣品的音量

要想蜂鳴器聲音大不但要有足夠的驅動電壓還要求驅動頻率與蜂鳴器的諧振頻率相同或相近。樓主這個驅動波形不太好,有點交越失真,是程序沒有寫好。
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 10:59
QWE4562012 發表于 2020-9-11 10:05
為什么有人說對地測量是測不到反相的?我等下試試看

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

ID:668004 發表于 2020-9-11 10:05
wulin 發表于 2020-9-8 20:46
你把壓電式蜂鳴器看成電容就能比較容易理解為什么在蜂鳴器兩端測得峰峰值電壓2倍于VCC。如果示波器表筆一 ...

為什么有人說對地測量是測不到反相的?我等下試試看
ID:668004 發表于 2020-9-11 10:01
Y_G_G 發表于 2020-9-9 19:12
不討論個人能力問題
你圖3用三極管驅動的叫線圈式(專業名詞:電磁式無源蜂鳴器),驅動方法就和圖3用三極管 ...

你這么說。說明你是懂的!你知道并聯電感的選取嗎?只能用磁珠,空間不夠。-----------如果是壓電片的話,不需要的兩個IO的-----------------你這句話啥意思?念起來不順
ID:817485 發表于 2020-9-9 19:22
續流二極管與濾波電容是必須有嗎
ID:401564 發表于 2020-9-9 19:12
QWE4562012 發表于 2020-9-9 18:30
看來你不懂無源和有源蜂鳴器

不討論個人能力問題
你圖3用三極管驅動的叫線圈式(專業名詞:電磁式無源蜂鳴器),驅動方法就和圖3用三極管驅動那樣的,方波驅動
還有另外一個是用壓電片的,專業名詞叫作壓電無源蜂鳴器,驅動的方法是并聯一個電感,電感取值要根據壓電片頻率來計算的,也是方波驅動
我用過的無源蜂鳴器都是這樣用的,請問,哪里有不對的,你可以指正一下.
ID:668004 發表于 2020-9-9 18:30
Y_G_G 發表于 2020-9-8 22:26
這到底是有多難呢?
市面上的無源蜂鳴器它實際上是有兩種的的:一種是常用的線圈式的,用的驅動方法就是圖3的 ...

看來你不懂無源和有源蜂鳴器
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:29
wulin 發表于 2020-9-8 20:46
你把壓電式蜂鳴器看成電容就能比較容易理解為什么在蜂鳴器兩端測得峰峰值電壓2倍于VCC。如果示波器表筆一 ...

APP轉崗做嵌入式的。。。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产九九精品 | 日韩欧美精品在线播放 | 婷婷免费视频 | 亚洲91视频 | 欧美日韩精品久久久免费观看 | 欧美成人自拍 | 成人国产精品免费观看视频 | 久久久区 | 日本一区二区三区视频在线 | 欧美亚洲国语精品一区二区 | 欧美在线综合 | 中文字幕日韩av | 国产成人网 | 在线一级片 | 国产精品人人做人人爽 | 免费在线观看成人av | 美女视频一区 | 网址黄 | 超碰地址 | 久产久精国产品 | 99热精品6 | 日韩在线高清 | 欧美一区二区三区一在线观看 | 日韩免费一区 | 五月综合激情在线 | 欧美精品一区二区三区在线播放 | 午夜综合 | 久久综合一区二区 | 亚洲一区二区视频在线播放 | 一区中文字幕 | 久久er99热精品一区二区 | 蜜桃精品噜噜噜成人av | 国产精品av久久久久久久久久 | 在线一区二区三区 | 国产伦精品一区二区 | 久久久久一区 | 亚洲视频二区 | 福利成人| 高清18麻豆 | 久久亚洲一区二区三区四区 | 精品国产一区二区三区性色av |