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