私はZaberリニアアクチュエータを移動するためのLabVIEW VIを作成していますが、移動するたびに数ミリ秒ごとにデバイスの位置を記録したいと思います。移動中のZaberデバイスのトラック位置
Zaber's LabVIEW driverをインストールしてその例を使用してアクチュエーターを移動させましたが、その移動中にどのように位置を読み取ることができますか?
私はZaberリニアアクチュエータを移動するためのLabVIEW VIを作成していますが、移動するたびに数ミリ秒ごとにデバイスの位置を記録したいと思います。移動中のZaberデバイスのトラック位置
Zaber's LabVIEW driverをインストールしてその例を使用してアクチュエーターを移動させましたが、その移動中にどのように位置を読み取ることができますか?
移動中にデバイスの位置を追跡するには、開始点と終了点を補間するか、タイマーを使用して位置をポーリングするか、250 msごとに位置を報告するデバイスモードをオンにする3つのオプションがあります。 2番目と3番目のオプションを示す例は、our web siteからダウンロードできます。
最も簡単な方法は、モーションの開始位置と停止位置に基づいて位置を補間することです。あなたの加速が合理的に高い場合、これは良い最初の試みになります。エラーの原因は、モーションの開始時と終了時の加速と減速、およびシリアル通信の遅延です。
次のオプションは、タイマーを使用して数ミリ秒ごとにデバイスの位置を照会することです。利点はタイミングが柔軟であることです。あなたは何かに更新期間を設定することができます。もちろん、シリアル通信は、あなたがその位置をどのくらい速く問い合わせることができるかを制限します。理論的には、約12ミリ秒まで下げることができますが、15ミリ秒で少し呼吸ができます。
最後のオプションは、位置更新ごとに250ミリを送信するデバイスモードをオンにすることです。利点は、一方向の通信遅延しかないため、タイミングがわずかに正確であることです。最近のAシリーズデバイスでは、アップデート期間を変更できますが、Tシリーズデバイスは常に250ミリ秒を使用します。 Zaberモーターと
一つの問題は、(それはミリ秒ごとに約1バイトです)シリアルリンクのみ9.6kbit /秒で動作していることです。モーターは、モーターがある数ミリ秒ごとにあなたに伝えることはできません。
2つの解決策があります。
は(加速を含む)のモータの簡単な数学的モデルを構築し、そのモデルを校正するために、あなたが(毎秒4個のサンプル)を取得できる位置情報を使用するには。
独自のリニア直交エンコーダセンサーを追加します。
ハードウェア設計が修正されていないため、私は(2)と一緒に行きました。
http://www.posic.com/default_en.asp/2-0-119-12-6-1/4-0-120-14-2-1/
は、彼らはそれが起こるように、実際にスティクションおよびバックラッシュを見るには十分に正確である:私はPosicからこれらのエンコーダを使用しました!
の位置が頻繁にかつ一貫して要求される場合、リニアエンコーダを追加することはこの問題の大きな解決策です。最新の多くのZaber デバイスにはロータリーエンコーダが付属していますので、より速い位置サンプリングのためにシリアルボーレートを115.2 kbit/secまで変更することができますが、リニアエンコーダのようにバックラッシュとスティックを追跡することはできません。 –
私は、Zaberモーターのバイナリプロトコルが現在、ASCIIベースのプロトコルのために推奨されていないと言われています。 –
デバイスがホームに移行する前に、このようなことが可能ですか?私の理解は、デバイスがホームされるまでポジションデータが無効であることです。 – Derek
簡単な答えは、デバイスがホームされる前にこれを行うことができ、絶対位置ではなく相対位置を測定することです。長い答えは、[Zaberのサポートに連絡](http://www.zaber.com/contact/)。 –