Zaberリニアアクチュエータを動かすLabVIEWVIを書いていますが、デバイスが動くときに数ミリ秒ごとにデバイスの位置を記録したいと思います。
ZaberのLabVIEWドライバをインストールし、その例を使用してアクチュエータを移動させましたが、これらの移動中に位置を読み取るにはどうすればよいですか?
Zaberリニアアクチュエータを動かすLabVIEWVIを書いていますが、デバイスが動くときに数ミリ秒ごとにデバイスの位置を記録したいと思います。
ZaberのLabVIEWドライバをインストールし、その例を使用してアクチュエータを移動させましたが、これらの移動中に位置を読み取るにはどうすればよいですか?
移動中にデバイスの1つの位置を追跡するには、3つのオプションがあります。開始点と終了点から補間する、タイマーを使用して位置をポーリングする、または250ミリ秒ごとに位置を報告するデバイスモードをオンにする。2番目と3番目のオプションを示す例は、当社のWebサイトからダウンロードできます。
最も簡単な方法は、モーションの開始位置と停止位置に基づいて位置を補間することです。あなたの加速が適度に高い場合、これは良い最初の試みになります。エラーの原因は、モーションの開始時と終了時の加速と減速、およびシリアル通信の遅延です。
次のオプションは、タイマーを使用して、数ミリ秒ごとにデバイスの位置を照会することです。利点は、タイミングが柔軟であることです。更新期間は任意に設定できます。もちろん、シリアル通信は、位置を照会できる速度を制限します。理論的には、約12ミリ秒まで下げることができますが、15ミリ秒で少し余裕ができます。
最後のオプションは、250ミリ秒ごとに位置の更新を送信するデバイスモードをオンにすることです。利点は、一方向の通信遅延しかないため、タイミングがわずかに正確になることです。最近のAシリーズデバイスでは、更新期間を変更できますが、Tシリーズデバイスは常に250ミリ秒を使用します。
Zaber モーターの問題の 1 つは、シリアル リンクが 9.6kbit/秒 (1 ミリ秒あたり約 1 バイト) でしか実行されないことです。モーターは、モーターがどこにあるかを数ミリ秒ごとに伝えることはできません。
次の 2 つの解決策があります。
モーター (加速度を含む) の単純な数学的モデルを作成し、取得できる位置情報 (1 秒あたり 4 サンプル) を使用してそのモデルを調整します。
独自のリニア直交エンコーダ センサーを追加します。
ハードウェア設計が固定されていなかったので、(2) にしました。Posic のこれらのエンコーダを使用しました。
http://www.posic.com/default_en.asp/2-0-119-12-6-1/4-0-120-14-2-1/
それらは、実際に発生したスティックションとバックラッシュを実際に見るのに十分正確です!