步驟1:最簡(jiǎn)單的信號(hào)發(fā)生器
對(duì)于最簡(jiǎn)單的信號(hào)發(fā)生器,只需將AD9833模塊焊接到Arduino Nano的背面。不需要PCB。
我選擇的AD9833模塊與此類似。我并不是說(shuō)這是最好或最便宜的供應(yīng)商,但您應(yīng)該購(gòu)買一張看上去像該照片(或照片令人贊嘆)的照片。
模塊之間的連接是:
接地在一起
D2 = FSync
D3 = Clk
D4 =數(shù)據(jù)
D6 = AD9833的Vcc
》
AD9833由Arduino的數(shù)據(jù)引腳D6供電-Arduino可以提供足夠的電流。我添加了一個(gè)100n的去耦電容,因?yàn)槲艺J(rèn)為應(yīng)該這樣做,但看不到任何區(qū)別-AD9833模塊板上已經(jīng)有一個(gè)去耦電容。
如果您很喜歡,您可能會(huì)擔(dān)心“模擬地面”與“數(shù)字地面”,但是如果您花哨的話,則要花費(fèi)超過(guò)4英鎊。
最簡(jiǎn)單的信號(hào)發(fā)生器是通過(guò)USB電纜控制和供電的一臺(tái)電腦。 USB仿真運(yùn)行在115200bps(8位,無(wú)奇偶校驗(yàn))的串行端口。命令為:
‘0’。.‘9’:將數(shù)字移到“最小”頻率陣列中
‘S’:設(shè)置AD9833頻率并產(chǎn)生正弦波
‘T’:設(shè)置頻率并產(chǎn)生三角波
‘Q’:設(shè)置頻率并產(chǎn)生方波
‘R’:重置AD9833
‘M’:將“最小”頻率陣列復(fù)制到“最大”陣列中
‘G’:在1秒鐘內(nèi)從“最小”掃描到“最大”
‘ H’:在5秒內(nèi)從“最小”掃描到“最大”
‘I’:在20秒內(nèi)從“ min”掃描到“最大”
Arduino程序包含兩個(gè)6個(gè)字符的數(shù)組“ min”和“ max”。如果您傳輸一個(gè)數(shù)字,則將其移入“ min”數(shù)組。如果發(fā)送“ S”,則“ min”數(shù)組字符將轉(zhuǎn)換為longint頻率并發(fā)送到AD9833。因此,發(fā)送字符串
002500S
會(huì)將AD9833輸出設(shè)置為2500Hz正弦波,您必須始終發(fā)送所有6位數(shù)字,最低頻率為000001。并且最大頻率為999999。
如果您發(fā)送“ M”,則“最小”數(shù)組為復(fù)制到“最大”數(shù)組中。如果發(fā)送“ H”,則AD9833會(huì)在5秒內(nèi)重復(fù)輸出逐漸增加的頻率。它以“最小”頻率開(kāi)始,5秒鐘后以“最大”頻率開(kāi)始。因此
020000M000100SH
從100Hz掃描到20kHz。頻率變化是對(duì)數(shù)的,因此1秒鐘后頻率將為288Hz,2秒后為833Hz,然后為2402、6931和20000。頻率每毫秒變化一次。
您可以下載Windows EXE程序,在該程序下發(fā)送所需的命令,或者您可以編寫(xiě)自己的命令。 Arduino INO文件也在此處。
步驟2:添加OLED
如果添加OLED和兩個(gè)按鈕,則信號(hào)發(fā)生器可以在沒(méi)有PC的情況下單獨(dú)工作。
讀過(guò)Instructurable Oscillable示波器的您將認(rèn)識(shí)到相似之處。可以將AD9833模塊添加到我的示波器中,以產(chǎn)生“火柴盒中的示波器和信號(hào)發(fā)生器”。
顯示器是運(yùn)行在3.3V電壓下的1.3英寸OLED,由SH1106芯片通過(guò)I2C控制
在eBay上搜索1.3英寸的OLED。我不想推薦特定的賣家,因?yàn)殒溄雍芸炀蜁?huì)過(guò)時(shí)。選擇一個(gè)看起來(lái)像這張照片,說(shuō)“ I2C”或“ IIC”,并且有四個(gè)標(biāo)記為VDD GND SCL SDA的引腳。 (某些顯示器的插針順序似乎不同。請(qǐng)檢查它們。I2C時(shí)鐘的正確名稱是“ SCL”,但在eBay上,這些板可以像照片中的一樣貼上“ SCK”的標(biāo)簽。)
在我的示波器中,可以在步驟8中對(duì)OLED庫(kù)進(jìn)行更全面的介紹。您應(yīng)該下載并安裝步驟8中的驅(qū)動(dòng)程序庫(kù)SimpleSH1106.zip。(我不想在此處上傳另一個(gè)副本,并且需要維護(hù)兩個(gè)副本。)
可以從下面下載INO文件。用于OLED的引腳號(hào)在第70行左右聲明。如果您已在“火柴盒中構(gòu)建了示波器和信號(hào)發(fā)生器”,并希望使用它測(cè)試此INO文件,則可以通過(guò)#define啟用備用引腳號(hào)。
我已經(jīng)顯示了該電路的配電盤布局。有兩個(gè)配電盤-一個(gè)用于Nano和AD9833,另一個(gè)用于顯示器。他們應(yīng)該形成一個(gè)三明治。這些板是從組件側(cè)顯示的。細(xì)軟線將兩塊板連接在一起。將板與焊接的支架固定在一起。在我的圖表中,銅板的銅線顯示為青色。紅線是電子白板上的電線鏈接或?qū)⒛景暹B接在一起的柔性電線。我沒(méi)有顯示電源和“信號(hào)”引線。
AD9833模塊焊接在配電盤的銅側(cè)-與Nano相對(duì)的一側(cè)。將引腳焊接到銅條上,然后將AD9833固定在其上并焊接。
顯示屏顯示單個(gè)頻率或“最小”和“最大”頻率。
有有兩個(gè)按鈕:“水平”按鈕選擇一個(gè)頻率位數(shù),一個(gè)“垂直”按鈕更改該位數(shù)。
我從正在開(kāi)發(fā)的電路中為信號(hào)發(fā)生器供電-我一直我的工作站上有5V電壓。
第3步:未來(lái)發(fā)展
可以用電池供電嗎?是的,只需添加連接到Nano的RAW引腳的9V PP3。它通常使用20mA電流。
是否可以由單個(gè)鋰電池供電?我不明白為什么不這樣。您應(yīng)該將OLED Vdd及其上拉電阻連接到3.7V電池(我懷疑Arduino的3.3V輸出是否可以正常工作)。
在測(cè)試頻率時(shí),掃描發(fā)生器更有用濾波器的響應(yīng)(如果可以繪制幅度與頻率的關(guān)系圖)。測(cè)量信號(hào)的幅度非常棘手-對(duì)于低頻,您必須權(quán)衡包絡(luò)檢波器的衰減與紋波之間的關(guān)系,而對(duì)于高頻,則必須權(quán)衡響應(yīng)時(shí)間。構(gòu)建了振幅檢測(cè)器之后,您可以將其輸出饋送到“最簡(jiǎn)單信號(hào)發(fā)生器”的Arduino ADC中,然后將結(jié)果以及當(dāng)前頻率發(fā)送到PC。
此頁(yè)面非常有用起點(diǎn)或在Google上搜索“信封檢測(cè)器”或“峰值檢測(cè)器”。在上面的建議電路中,您將設(shè)置信號(hào)頻率,等待它穩(wěn)定下來(lái),將Arduino A0引腳設(shè)置為輸出數(shù)字低電平,等待放電C,將A0設(shè)置為輸入,等待,然后使用ADC測(cè)量。讓我知道你的生活。
-
信號(hào)發(fā)生器
+關(guān)注
關(guān)注
28文章
1480瀏覽量
109029
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論