Arduino Due Arbitrary Waveform Generator
コンポーネントと消耗品
> |
| × | 1 |
このプロジェクトについて
一般的な説明
これは現在、WindowsだけでなくLinuxでも動作します。
アナログ波の最大周波数:100kHz。方形波の最大周波数:42MHz。
デューティサイクルは実質的に0%から100%まで調整可能
構築は非常に簡単です。以下のインストールを参照してください。
これは2つの部分からなるプロジェクトです。ArduinoDueボード自体と、PCで使用するコントローラーGUIですが、Arduinoボードは、ポット、スイッチ、LEDを使用して単独で使用することもできます。
回路は必要ありませんが、オプションの出力保護回路が提供されており、Arduinoボードが誤って最大±30V程度の電圧に出力を接続するのを防ぎます。 (おそらくもっと)
PCのコントローラーGUIを使用すると、任意のウェーブを描画、編集、保存、開いてArduino Dueにアップロードし、USBポートを介して自動的に接続できます。包括的なヘルプファイルが含まれています。
「ステップ」ウェーブ機能により、必要に応じて、ウェーブ内の任意の数の鋭い(1サンプル)ステップを簡単に生成できます。さらに、代わりに出力を正弦波または三角波/鋸歯状に切り替えることができます。
また、同期または完全に独立した方形波も同時に生成されます。波は周波数や周期で制御できます。デューティサイクルは、実質的に0%から100%まで設定できます。または、パルス幅を一定に設定することもできます。 (もちろん、期間の範囲内で)
新しい設定は、PCのキーボードまたはプログラムのキーパッドを介して直接入力できます。または、「MODE」を押すとスライド調整が可能です。
アナログ波には正確なモードを使用できます。これにより、ダイレクトデジタルシンセシス(DDS)波形ジェネレーターに通常関連する「周波数ステップ」が回避されます。これにより、正確なモードがオンの場合、出力はArduinoクロック周波数の分周ではないため、これらの「周波数ステップ」間の周波数へのアクセスを許可することで、より正確な周波数が可能になります。
片方または両方の波の(対数)周波数掃引機能が含まれており、正または負のArduino出力を備えたタイマーもあります。
仕様
アナログウェーブ:
解像度は12ビットで、最大4096のウェイポイントがあります。
周波数範囲は0.05mHz(20,000秒)から100kHzです。
サンプルレート:(DMAを使用して1kHz以上)最大1.6MHz。
サンプルレート:(最大1kHz)400kHz。
Exactモードでのサンプルレート:(任意の周波数)400kHz。
最小パルス幅:(半波サイクル)
0%のデューティサイクルで:任意の周波数で350ナノ秒(約)。
0.01%のデューティサイクルの場合:最大2.5〜25マイクロ秒。 (約)
-周波数が1kHzを超え、正確なモードまたは同期がオンの場合、
-それ以外の場合は350ナノ秒。
方形波:
周波数範囲は0.05mHz(20,000秒)から42MHzです。
最小パルス幅:
同期:[周波数:0.05mHz(20,000秒)から100kHz]
0%のデューティサイクルで:任意の周波数で48ナノ秒。
0.01%のデューティサイクルで:2.5〜25マイクロ秒。 (約)
非同期:[0.093mHz(10,737秒)から42MHz]
1.3kHzから42MHzまで12nS。 (PWMを使用)
650Hzから1.29999kHzまでの24nS。 (PWMを使用)
325Hzから649.99999Hzまでの48nS。 (PWMを使用)
163Hzから324.99999Hzまでの96nS。 (PWMを使用)
163Hz未満:(割り込みを使用)
0%のデューティサイクルで:96ナノ秒。
0.01%のデューティサイクルで:5マイクロ秒。
インストール
GUIプログラム お使いのPCは「ポータブル」なので、インストールする必要はありません。
Windowsユーザーの場合は、.zipファイルを選択したフォルダーに抽出し、.exeファイルへのショートカットを作成するだけです。注:「DueAWGController-Win64.zip」ファイルは64ビットシステムを対象としていますが、32.zipファイルにはJavaが埋め込まれているため、いずれにせよより確実に機能することがよくあります。
Linuxユーザーの場合は、DueAWGController-LinuxXX.zipファイルをフォルダーに抽出し、DueAWGControllerLinuxファイルをダブルクリックするか、システムメニューに追加します。
Debian、UbuntuなどのOpenJDK 8(java 8)をインストールする必要がある場合があります。コマンドライン(ターミナル)で、次のように入力します。sudoapt-get install openjdk-8-jre(新しいバージョンは機能しない場合があります)
>Arduinoに接続する前に、USBにアクセスするための許可を取得する必要がある場合もあります。次のように入力します:sudo usermod -a -G dialout $ USER
Raspberry Piなどの2つの「arm」ファイルも含まれていますが、テストされていません。動作するかどうか教えてください。
Arduinoスケッチ 特別なライブラリは必要ないため、スケッチをDueにアップロードするために必要なのは、PCにインストールされている通常のArduinoIDEだけです。 PCがArduinoDueを認識している場合(スケッチがアップロードされた場合はこれを行う必要があります)、GUIプログラムは起動時にArduinoを自動的に検出して接続するため、COMポートを設定する必要はありません。ただし、自動選択が失敗した場合は、手動COMポート選択が有効になります。
Arbitrary Wavesフォルダー(楽しみのために)には、開始に役立ついくつかのサンプルWaveファイルがあります。 GUIプログラムだけでなく、Arduino波形発生器は115200ボーに設定されたArduinoのシリアルモニターによって制御することもできます。タイプ ?助けを求めて。
または、制御にポット、スイッチ、LEDを使用したい場合は、Arduinoスケッチの最初にピン接続がリストされています。
ウェーブ出力ピンの接続 そこにもリストされています。または、Arduinoのピン3と7をリンクで接続するか、非常に慎重な場合は、値の小さい抵抗(47〜100オーム)を使用してください。ピン7からの方形波出力とDAC0からのアナログ出力を取得します。
コード
重要:[zip形式でダウンロード]ボタンをクリックしないでください。
ファイルをダウンロードするには、下の[続きを読む]をクリックしてください。注:[zip形式でダウンロード]をクリックすると、readmeファイルのみがダウンロードされます。https://github.com/Bruce-Evans/ArduinoDueArbitraryWaveformGeneratorAndController 回路図
この回路は完全に省略できますが、使用する場合は、立ち上がり時間と立ち下がり時間を大幅に増やすことなく、出力を少なくともプラスマイナス25Vの電圧に誤って接続することからArduinoを保護する必要があります。 D2とD3は大電流で高速回復ダイオードである必要があります-ショットキーダイオードは遅すぎることがわかりました。ヒューズ(F1およびF2)はポリヒューズにすることができます。 製造プロセス