3

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

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

4

2 回答 2

2

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

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

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

在此处输入图像描述

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

在此处输入图像描述

于 2012-04-03T18:08:47.400 回答
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/

它们足够准确,可以实际看到粘连和反弹!

于 2015-02-23T12:35:28.613 回答