無源蜂鳴器顫音的原因分析及解決辦法

2021-06-26 09:50:12 字數 508 閱讀 8560

做乙個專案,用stm8s003,其中用到無源蜂鳴器,就用stm8內帶的蜂鳴器模組來驅動,但蜂鳴器驅動模組功能有限,只能選擇1k,2k,4k 共3種頻率,我用2k的頻率驅動一款蜂鳴器,顫音很嚴重,無論修改限流電阻,還是加續流二極體,還是加電容,均無法有效改善。

查資料,說是頻率偏小,尤其是在蜂鳴器固有頻率下面的10%附近,非常容易產生顫音(破音),於是我就用定時器2重寫蜂鳴器的驅動程式,把頻率調為 2732hz ,發現顫音消失了,看起來,頻率不對,是有可能產生顫音的。

以上內容寫於以前,最近又發現,僅僅頻率匹配,依然無法杜絕蜂鳴器的顫音。因為顫音,還可能是因為蜂鳴器兩端的尖峰脈衝導致的,加個續流二極體消除尖峰脈衝即可。但試驗中發現,不是所有的蜂鳴器加續流二極體,都會改善音質,其中有乙個蜂鳴器,額定電壓5v,用9v的方波驅動,音質還是不錯的,結果加了續流二極體,音質反而變差了,波形顯示,雖然消除了尖峰脈衝,但得到的波形並不是標準的方波,而是變形較為嚴重的方波,不加續流二極體時,雖然有反向的尖峰脈衝,但整體來看,波形還是比較接近方波的。所以波形對音質的影響是很大的。

Oracle包被鎖定的原因分析及解決方案

oracle 包被鎖定的原因分析及解決方案 在資料庫的開發過程中,經常碰到包 儲存過程 函式無法編譯或編譯時會導致pl sql 無法響應的問題。碰到這種問題,基本上都要重啟資料庫解決,嚴重浪費開發時間。本文將就產生這種現象的原因和解決方案做基本的介紹。從事資料庫開發的都知道鎖的概念,如 執行 upd...

「藍屏」的硬體原因及解決

在計算機的使用過程中,經常會遇到藍屏的情況。對於初學者來講,好象就 是一場電腦災難一樣,不知所措。其實只要了解了原因之後就不用怕了。造 成計算機藍屏的原因有很多種,硬體方面的原因總體可以概括為以下幾種 一 螢幕顯示系統忙,請按任意鍵繼續 1 虛擬記憶體不足造成系統多工運算錯誤 虛擬記憶體是windo...

PHP浮點運算結果出現誤差原因分析及解決方案

如下 float a 0.65f float b 0.6f float c a b 此時c為多少?0.05?錯誤!此時c為0.0499999523!為什麼?其根本原因是計算機所使用二進位制01 無法準確表示某些帶小數字的十進位制資料。下面我們來分析下 我們知道將乙個十進位制數值轉換為二進位制數值,需...