【问题标题】:Track position of a Zaber device as it moves移动时跟踪 Zaber 设备的位置
【发布时间】:2012-04-17 10:30:45
【问题描述】:

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

我已经安装了Zaber's LabVIEW driver 并使用它的示例来让我的执行器移动,但是我如何在这些移动期间读取位置?

【问题讨论】:

  • 在设备归位之前可以做这样的事情吗?我的理解是,在设备归位之前,位置数据是无效的。
  • 简短的回答是您可以在设备归位之前执行此操作,您将只测量相对位置而不是绝对位置。对于长答案,contact Zaber support

标签: labview motion zaber


【解决方案1】:

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

有两种解决方案:

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

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

我选择了 (2),因为硬件设计不固定。我使用了 Posic 的这些编码器:

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

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

【讨论】:

  • 如果位置需要频繁且一致,则添加线性编码器是解决此问题的好方法。许多较新的 Zaber 设备都带有旋转编码器,允许您将串行波特率更改为高达 115.2 kbit/sec 以实现更快的位置采样,但仍无法像线性编码器那样跟踪间隙和粘连。跨度>
  • 有人告诉我,Zaber 电机的二进制协议现在已被弃用,取而代之的是基于 ASCII 的协议。
【解决方案2】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多