2017-12-27 247 views
-2

我希望生成一個頻率,分辨率爲0.1Hz,範圍爲0.0至1000.0 Hz(例如23.1 Hz,100.5 Hz和999.7 Hz)I發現使用AD9833我們可以生成我所需要的信號,但是筆記對我來說有點混亂。使用AD9833通過Arduino Uno生成具有0.1Hz分辨率的信號

該規範可以得到HERE

如果我們可以製作Arduino代碼,需要您的協助。可以說,通過Arduino的串行監視器生成123.4 Hz的信號,並將其顯示在示波器中?

謝謝。

回答

1

看看筆記,似乎編程這個芯片將是不平凡的。如果您不需要一直到0Hz的頻率,使用標準的Windows聲卡可以更輕鬆地完成。 (聲卡是交流耦合的,因此不會低於幾赫茲。)例如,我的Daqarta軟件可以以高於0.001 Hz的分辨率生成頻率(使用您需要的任何波形)。最大頻率將略低於聲卡採樣率的一半...通常爲默認48000 Hz採樣率時的20 kHz。

您不必購買Daqarta即可獲得此功能;發電機功能將在試用期後繼續工作...自由,永遠。

更新:你沒有提到你需要的波形類型,但是請注意,如果你可以使用方波,你可以單獨完成Arduino的整個工作。這個想法是設置一個定時器來產生一些想要的採樣率的中斷。在每次中斷時向累加器添加一個步進值,並將累加器的MSB發送到輸出引腳。您可以通過更改步進值來控制輸出頻率。這實質上是AD9833(和Daqarta Generator)使用的相位累加器方法的1位版本。頻率分辨率由採樣率和累加器的大小來控制。您可以輕鬆獲得比0.1 Hz分辨率更好的效果。

此致敬禮,