對(duì)于喜歡偶爾鼓搗電子產(chǎn)品的工程師來(lái)說,他們都希望能有自己的實(shí)驗(yàn)室。萬(wàn)用表、鉗形表、示波器、LCR表、函數(shù)發(fā)生器、雙模電源和自動(dòng)變壓器都是實(shí)驗(yàn)室的基本配置。雖然所有這些都可以購(gòu)買,但我們也可以輕松地自行制作,如函數(shù)發(fā)生器和雙模電源。
在本篇文章中,我們將學(xué)習(xí)如何使用Arduino開發(fā)板快速輕松地制作自己的函數(shù)生成器。該函數(shù)發(fā)生器又稱波形發(fā)生器,可產(chǎn)生頻率范圍為1Hz至2MHz的方波(5V / 0V),波形頻率可通過旋鈕控制,占空比固定為50%,但在本文中也很容易改變。除此之外,波形發(fā)生器還可以通過頻率控制產(chǎn)生正弦波。請(qǐng)注意,此波形發(fā)生器不是工業(yè)級(jí)的,不能用于嚴(yán)格的測(cè)試。但除此之外,它將為所有業(yè)余愛好項(xiàng)目派上用場(chǎng),您無(wú)需等待數(shù)周的運(yùn)輸。還有什么比使用我們自己制作的設(shè)備更有趣。
所需的材料
● Arduino Nano開發(fā)板
● 字符型圖形點(diǎn)陣液晶1602
● 旋轉(zhuǎn)編碼器
● 電阻(5.6K,10K)
● 電容(0.1uF)
● 焊接套件
電路原理圖
該Arduino函數(shù)發(fā)生器的完整電路圖如下所示。正如您所看到的,我們使用Arduino Nano開發(fā)板作為項(xiàng)目的主控,1602 LCD顯示當(dāng)前正在生成的頻率值。我們還有一個(gè)旋轉(zhuǎn)編碼器,可以幫助我們?cè)O(shè)置頻率。
整個(gè)設(shè)備由Arduino自身的USB端口供電。我之前使用過的連接由于某些原因并沒有達(dá)到要求,我們將在本文后面討論這些原因。因此,我不得不通過改變引腳順序來(lái)接線。無(wú)論如何,你不會(huì)有任何問題,因?yàn)樗空砗?,只需仔?xì)按照電路知道哪個(gè)引腳連接到什么。您還可以參考下表來(lái)驗(yàn)證您的連接。
電路非常簡(jiǎn)單;我們?cè)谝_D9上產(chǎn)生方波,可以這樣使用,該方波的頻率由旋轉(zhuǎn)編碼器控制。然后為了獲得正弦波,我們?cè)谝_D5上產(chǎn)生SPWM信號(hào),其頻率必須與PWM頻率相關(guān),因此我們將這個(gè)PWM信號(hào)提供給引腳D2作為中斷,然后使用ISR來(lái)控制正弦波的頻率。
您可以在面包板上構(gòu)建電路,也可以制作一個(gè)PCB。但我決定將它焊接在Perf板上以快速完成工作并使其長(zhǎng)期可靠使用。所有連接完成后,我的電路板看起來(lái)像這樣。
如果您想了解更多關(guān)于如何使用Arduino生成PWM和正弦波的信息,請(qǐng)閱讀以下段落,或者您可以直接向下滾動(dòng)到編程Arduino部分。
產(chǎn)生變頻方波
使用Arduino的人可能很熟悉Arduino只需使用模擬寫入函數(shù)即可生成PWM信號(hào)。但是這個(gè)函數(shù)僅限于控制PWM信號(hào)的占空比而不是信號(hào)的頻率。但是對(duì)于波形發(fā)生器,我們需要一個(gè)可以控制頻率的PWM信號(hào)。這可以通過直接控制Arduino的定時(shí)器并根據(jù)它切換GPIO引腳來(lái)完成。但是有一些預(yù)先構(gòu)建的庫(kù)可以完全相同并且可以這樣使用。我們使用的庫(kù)是Arduino PWM頻率庫(kù)。我們將在代碼部分討論有關(guān)此庫(kù)的更多信息。
這個(gè)庫(kù)也有一些缺點(diǎn),因?yàn)閹?kù)改變了Arduino中默認(rèn)的Timer 1和Timer 2設(shè)置。因此,您將無(wú)法在Arduino上再使用伺服庫(kù)或任何其他與計(jì)時(shí)器相關(guān)的庫(kù)。引腳9、10、11和13上的模擬寫入函數(shù)也使用定時(shí)器1和定時(shí)器2,因此您將無(wú)法在這些引腳上產(chǎn)生SPWM。
這個(gè)庫(kù)的優(yōu)點(diǎn)是它不會(huì)干擾Arduino的定時(shí)器0,其比定時(shí)器1和定時(shí)器2更重要。因此你可以自由地使用延遲函數(shù)和millis()函數(shù)而沒有任何問題。引腳5和6也由定時(shí)器0控制,因此我們?cè)谶@些引腳上使用模擬寫或伺服控制操作時(shí)不會(huì)遇到問題。最初花了一些時(shí)間才弄清楚這一點(diǎn),這就是為什么接線搞砸了。
使用Arduino生成正弦波
我們知道微控制器是數(shù)字設(shè)備,它們不能僅僅通過編碼產(chǎn)生正弦波。但是,在從微控制器獲得正弦波的兩種流行方法中,一種是使用DAC,另一種是通過創(chuàng)建SPWM。不幸的是,Arduino開發(fā)板(除了Due)沒有內(nèi)置DAC來(lái)產(chǎn)生正弦波,但你總是可以使用簡(jiǎn)單的R2R方法構(gòu)建自己的DAC,然后用它來(lái)產(chǎn)生正常的正弦波。但是為了減少硬件工作,我決定使用后面的方法,創(chuàng)建SPWM信號(hào)然后將其轉(zhuǎn)換為正弦波。
什么是SPWM信號(hào)?
術(shù)語(yǔ)SPWM代表正弦脈沖寬度調(diào)制。該信號(hào)與PWM非常相似,但對(duì)于SPWM信號(hào),以這樣的方式控制占空比,以獲得與正弦波相似的平均電壓。例如,在100%占空比時(shí),平均輸出電壓為5V,在25%時(shí)我們將為1.25V,從而控制占空比,我們可以獲得預(yù)定義的可變平均電壓,這只是一個(gè)正弦波。這種技術(shù)通常用于逆變器。
在上圖中,藍(lán)色信號(hào)是SPWM信號(hào)。請(qǐng)注意,波形的占空比在0%到100%之間變化,然后再回到0%。該曲線圖繪制為-1.0至+ 1.0V,但在我們的情況下,由于我們使用的是Arduino,因此刻度將為0V至5V。我們將在下面的編程部分學(xué)習(xí)如何使用Arduino生成SPWM。
將SPWM轉(zhuǎn)換為正弦波
將SPWM單個(gè)轉(zhuǎn)換為正弦波需要H橋電路,該電路由最少4個(gè)電源開關(guān)組成。我們不會(huì)深入研究它,因?yàn)槲覀儾辉谶@里使用它。這些H橋電路通常用于逆變器。它利用兩個(gè)SPWM信號(hào),其中一個(gè)信號(hào)與另一個(gè)相移,并且兩個(gè)信號(hào)都被施加到H橋中的電源開關(guān),以使對(duì)角線相對(duì)的開關(guān)同時(shí)打開和關(guān)閉。通過這種方式,我們可以獲得看起來(lái)類似于正弦波的波形,但實(shí)際上不會(huì)更接近上圖中顯示的任何波形(綠波)。為了獲得純波形輸出,我們必須使用像低通濾波器這樣的濾波器,它包括一個(gè)電感和電容。
但是在電路中,我們不會(huì)使用正弦波來(lái)為任何東西供電。我只是想從生成的SPWM信號(hào)創(chuàng)建該波形,所以我選擇了一個(gè)簡(jiǎn)單的RC-Filter。您也可以嘗試使用LC濾波器以獲得更好的結(jié)果,但為了簡(jiǎn)單起見,我選擇了RC。我的電阻值為620歐姆,電容為10uF。上圖顯示了引腳5的SPWM信號(hào)(黃色)和通過RC濾波器后獲得的正弦波(藍(lán)色)。
添加Arduino PWM頻率庫(kù)
● Arduino PWM頻率庫(kù)
在撰寫本文時(shí),Arduino PWM頻率庫(kù)V_05是最新版本,它將以ZIP文件形式供下載。 解壓ZIP文件,然后您將得到一個(gè)名為PWM的文件夾。 然后導(dǎo)航到Arduino IDE的Libraries文件夾,對(duì)于Windows用戶,它將位于路徑C:\Users\User\Documents\Arduino\libraries中。 將PWM文件夾粘貼到libraries文件夾中。 有時(shí)你可能已經(jīng)有一個(gè)PWM文件夾,這時(shí),請(qǐng)確保用這個(gè)新文件夾替換舊文件夾。
編輯:hfy
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5137瀏覽量
98359 -
波形發(fā)生器
+關(guān)注
關(guān)注
3文章
294瀏覽量
31446 -
生成器
+關(guān)注
關(guān)注
7文章
320瀏覽量
21161 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187985
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
是德33220A 函數(shù)任意波形發(fā)生器
1653系列函數(shù)任意波形發(fā)生器
什么是任意波形發(fā)生器
任意波形發(fā)生器中波形生成方法
什么是任意波形發(fā)生器?任意波形發(fā)生器是干什么用的?
函數(shù)信號(hào)發(fā)生器怎么調(diào)頻率
函數(shù)波形發(fā)生器的特點(diǎn)和應(yīng)用場(chǎng)景
任意波形發(fā)生器的主要原理和關(guān)鍵技術(shù)
函數(shù)發(fā)生器、信號(hào)發(fā)生器和波形發(fā)生器的區(qū)別
函數(shù)發(fā)生器的頻率調(diào)整和波形選擇方法
![](https://file1.elecfans.com/web2/M00/C6/E0/wKgZomYNCkmAGJf2AAKIIXI8xYA361.png)
評(píng)論