跟踪Zaber设备移动时的位置

时间:2012-04-03 18:07:42

标签: labview motion zaber

我正在编写一个LabVIEW VI来移动Zaber线性执行器,我想在移动时每隔几毫秒记录设备的位置。

我已安装Zaber's LabVIEW driver并使用其示例让我的执行器移动,但如何在这些移动过程中读取位置?

2 个答案:

答案 0 :(得分:2)

在移动过程中,有三个选项用于跟踪我们其中一个设备的位置:从起点和终点插值,使用计时器轮询位置,或打开每250毫秒报告位置的设备模式。演示第二个和第三个选项的示例可以从our web site下载。

最简单的方法是根据动作开始和停止的位置插入位置。如果你的加速度相当高,那么这是第一次尝试。误差源是运动开始和结束时的加速和减速,以及串行通信的延迟。

下一个选项是使用计时器并每隔几毫秒查询一次设备的位置。优点是时机灵活。您可以将更新周期设置为您想要的任何内容。当然,串行通信限制了查询位置的速度。从理论上讲,你可以减少到大约12毫秒,但15毫秒会给你一点喘息的空间。

enter image description here

最后一个选项是打开每250 ms发送一次位置更新的设备模式。优点是时间稍微准确一些,因为您只在一个方向上有通信延迟。在最近的A系列设备中,您可以更改更新周期,但T系列设备始终使用250 ms。

enter image description here

答案 1 :(得分:1)

Zaber电机的一个问题是串行链路仅以9.6kbit / sec(大约每毫秒1个字节)运行。电机无法告诉您电机每隔几毫秒。

有两种解决方案:

  1. 建立一个简单的电机数学模型(包括加速度),并使用您可以获得的位置信息(每秒4个样本)来校准该模型。

  2. 添加自己的线性正交编码器传感器。

  3. 我选择(2)因为硬件设计没有修复。我使用了Posic的这些编码器:

    http://www.posic.com/default_en.asp/2-0-119-12-6-1/4-0-120-14-2-1/

    它们足够精确,可以实际看到发生的粘滞和反弹!