ハードウェアに関する考慮事項
PWM生成とパルスカウントの実装は、使用しているハードウェアによって異なります。 PWM出力を生成するには、カウンタが適しています。ハードウェアのデータシートを参照して、そのデバイスで使用可能なカウンターの数と、PWMをサポートできるかどうかを確認してください。
モジュール/カード:
シャーシ/コントローラー:
- cDAQ –ユーザーマニュアルでシャーシのカウンターの数を確認します。この機能は、シャーシのオンボードカウンターへのアクセスを提供するモジュールでのみ使用できます。
LabVIEWでNI-DAQmxを使用したPWM
NI-DAQmxにPWMを実装するには、ハードウェアとその機能を調査したことを確認してください。その後、アプリケーションに最適なソリューションを決定できます。ソフトウェアタイムまたはハードウェアタイムPWMです。
ソフトウェアタイミングパルス幅変調アプリケーションに速度と精度に関して厳しい要件がない場合は、デジタル出力をパルス列またはPWM生成のソフトウェアタイミング制御とともに使用できます。
ソフトウェアタイミングデジタルI / Oを使用してPWMを実装するためのコミュニティのサンプルが公開されています 。
ハードウェアタイミングパルス幅変調
- サンプルプログラムから始める(推奨)
- LabVIEWを起動します
- [ヘルプ] >> [サンプルの検索...]に移動すると、 NIサンプルファインダが起動します
- [参照]タブにいることを確認し、[ハードウェア入力と出力] >> DAQmx >> [カウンタ出力]フォルダにナビゲートします。
- 使用するサンプルをダブルクリックします
- このサンプルは編集しないでください。変更を加えると、元のサンプルが上書きされます。
- [ファイル] >> [名前を付けて保存]をクリックします
- ニーズに合ったオプションを選択してください。「VI階層の複製を別の場所に保存」を選択することをお勧めします
- 場所を選択して[保存]をクリックします
- サンプルを閉じて、新しい場所に保存したサンプルを開きます
- サンプルのローカルコピーを開いたら、サンプルで使用されている構成とチャネルを変更できます。
- 新規VIから開始する
- DAQmxチャンネルを作成 VIを使用して、カウンタ出力チャネルを作成および初期化します。アプリケーションのニーズに基づいてNI-DAQmxでカウンタ出力タスクを定義する方法は3つあります。
- COパルス周波数
- COパルス時間
- COパルスティック-注-ハードウェアが異なればタイムベースも異なり、同じコードを異なるハードウェアで実行するとパルス幅が変わる可能性があります。
デューティサイクル、周波数、カウンタ、待機状態、および初期遅延に適切な入力を選択します。
- DAQmxタイミングVIを使用して、パルス生成の期間を構成します。
注: 指定なしインスタンスは、パルス列生成などのカウンタータスクなど、サンプルのタイミングが不要な場合に使用する必要があります。さらに、サンプルモードとして[連続サンプル]を選択します。
- DAQmxタスクを開始VIを呼び出します。このVIはパルス列の生成を開始します。
- ユーザーが停止ボタンを押すまで継続的に実行するには、 Whileループを配置します。
- Whileループの内部:
- デューティサイクルのローカル変数を作成します。これは元のデューティサイクル変数と比較され、比較結果はケースストラクチャに繋がります。
- ケースストラクチャを配置します。
- Trueの場合: DAQmx書き込みVIを呼び出します。デューティサイクルが変更された場合、新しいデューティサイクルはDAQmx書き込みVIを使用して設定されます。
- Falseの場合:すべての入力を出力に直接配線します。デューティサイクルが変更されていない場合、ケースストラクチャのFalseケースが実行され、何も更新されません。
- DAQmxタスク完了確認VIを使用してエラーを確認します。
- ループに短い時間遅延を導入するには、次のミリ秒の倍数まで待機関数を追加します。これにより、ループが可能な限り高速に実行されなくなり、不要なプロセッサリソースが消費されることを防ぎます。
- DAQmxタスクをクリアVIを呼び出して、タスクをクリアします。
- シンプルエラー処理VIを使用して、エラーをチェックして表示します。
注:このイメージはLabVIEWスニペットであり、プロジェクトで再利用できるLabVIEWコードが含まれています。スニペットを使用するには、画像を右クリックしてコンピュータに保存し、ファイルをLabVIEWダイアグラムにドラッグします。