跳至内容

使用 Leaf 编程 AI/Leaf 附加组件:SD84 伺服控制器

来自 Wikibooks,开放世界中的开放书籍

从 Leaf 添加和运行 SD84 伺服控制器

[编辑 | 编辑源代码]

目前,Leaf 只能控制两个 Phidget USB 伺服电机。这些通常用于倾斜和旋转 Leaf 的摄像头。在为 SD84 控制器添加代码之前,没有简单的方法为 Leaf 机器人添加更多伺服电机。如果您想尝试为您的 Leaf 机器人添加关节式手臂或腿,这将是一个很大的问题。

SD84 是一个 84 通道伺服控制器,可以驱动多达 84 个 RC 伺服电机。它可以保持 20 毫秒的刷新率。它允许分别控制每个伺服电机的速度和位置。它拥有 USB 接口,使其连接起来相当容易。

Devantech,这款伺服控制器的制造商表示,“...这是一款出色的动画机器人控制器。”

在 Windows xP 计算机上运行

[编辑 | 编辑源代码]

本文档仅介绍 Windows xP 计算机的安装。

与大多数硬件设备一样,在安装软件之前,请勿连接硬件!

安装驱动程序

[编辑 | 编辑源代码]

SD84 模块使用 FTDI FT232R USB 芯片处理所有 USB 协议。必须下载并安装驱动程序。

  1. 从此处下载 FTDI (CDM20814_WHQL_Certified 32 bit) USB 驱动程序
     http://www.ftdichip.com/Drivers/CDM/CDM20814_WHQL_Certified.zip
  1. 解压缩并安装。

配置 SD84 USB 驱动程序软件

[编辑 | 编辑源代码]
  1. 将 SD84 模块插入备用 USB 端口。(一个黄色 LED 将亮起。)
  2. 通过右键单击“我的电脑”桌面图标并选择“设备管理器”选项卡,找到分配给它的 COM 端口。选择“端口(COM & LPT)”选项卡。“您应该看到列出的 USB 串行端口。要更改 COM 端口号,右键单击它,选择属性,选择高级,然后从可用列表中选择 COM 端口号。在 Windows XP 中,选择“开始”,然后右键单击“我的电脑”,然后选择“属性”,然后选择“设备管理器”选项卡。”
  3. 写下端口号!
  4. 编辑 COM 端口参数,使其设置为 115200 波特率、8 个数据位、无奇偶校验和两个停止位。
  5. 根据需要选择“确定”关闭所有打开的窗口。
  6. 关闭设备管理器窗口。

使用示例程序测试 SD84

[编辑 | 编辑源代码]
  1. 此时,您应该已将 SD84 板连接到计算机上的备用 USB 端口。(一个黄色 LED 将亮起,表示它已通电。)
  2. 将一个 RC 伺服电机插入伺服电机端口 1(USB 连接器左侧第一个)。
  3. 将 5 到 6 VDC 连接到 USB 连接器左侧第一个接线端子。这将是您的伺服电机的电源。SD84 仅接收来自 PC 的信号。每组 4 个伺服电机的电源必须分别连接到 SD84 板。
  4. 从以下地址下载 SD84 演示程序:
     http://www.robot-electronics.co.uk/files/sd84.exe
  1. 启动它。
  2. 将其设置为之前写下的 COM 端口号。
  3. 将“当前活动通道”设置为“1”。
  4. 左右移动伺服电机位置小部件。当您移动位置小部件时,伺服电机轴应转动。

下载并安装 Leaf 接口代码

[编辑 | 编辑源代码]
  1. 从 Leaf 网站下载 Alex 的最新 SD84 zip 文件并解压缩。
   http://www.leafproject.org/software/Utilities/SD84%20release%20%2010-30-10%20ver%201011.zip

安装剩余的软件

[编辑 | 编辑源代码]
  1. 将 SD84.dll 和 SD84Monitor.exe 的单个副本分别放在 System32 文件夹(通常为 c:\Windows\System32)中(适用于 XP、Vista 或 Windows 7 的 32 位版本),以及 SysWOW64 文件夹中(适用于 64 位版本)。
  2. 在桌面上放置一个指向 SD84Monitor.exe 的 Windows 快捷方式。您需要运行 SD84Monitor.exe 才能使用 SD84 板。
  3. 将 SD84.ini 的单个副本放在 Windows 文件夹(通常为 c:\Windows)中。提供的示例 .ini 文件适用于以下测试程序,但必须修改以匹配您自己的硬件接口集。
  4. 将 SD84.ini 文件中的 comport 编号更改为与计算机中的端口分配匹配。您可以在设备管理器中找到它。如果 comport 是一个数字,您可以按示例 SD84.ini 文件中所示的指定它,例如“ComPort = COM5”。但是,如果端口是两位数,请指定为“ComPort = \\.\COM15”。
  5. 如果 LispWorks 尚未运行,请启动它并打开 Leaf Interfaces.lisp。
  6. 将 LispPatch.txt 中的所有文本复制到 Leaf Interfaces.lisp 文件。一个合适的位置是 Phidget 伺服电机接口代码之后。
  7. 保存文件。
  8. 像往常一样编译和加载 Leaf Interfaces.lisp 文件。
  9. 安装“Microsoft Visual C++ 2010 Redistributable Package (x86)”。
    http://www.microsoft.com/download/en/details.aspx?id=5555
  1. 通过启动 SD84test.exe(位于您从 Leaf 网站下载的 .zip 文件中)来测试您是否可以运行 SD84 监视器软件。(注意:监视器程序 SD84Monitor.exe 应该位于 System32 文件夹中,并且必须运行才能使用 SD84 板。)
  1. 在 Leaf.lisp 文件的 InitializeSystems() 函数末尾插入 SD84Initialize,如下所示。请记住将闭合的右括号从当前文本中移动,并将其放在添加内容之后。

;; 已安装 SD84 I/O 板
   (SD84Initialize "" 1))

从 Leaf 测试 SD84

[编辑 | 编辑源代码]
  1. 将以下代码粘贴到 Leaf.lisp 文件中的“打印 Hello”下方
打印 Hello
  (format t (concatenate 'string "Hello!  My name is " robot " ~% ~% ~%"))
  (SD84SetRCPosn 1 1000)
  (sleep 2)
  (SD84SetRCPosn 1 2000)
  (sleep 2)
  (SD84SetRCPosn 1 1000)
  (sleep 2)
  (SD84SetRCPosn 1 2000)
  (sleep 2)


  1. 编译并加载 Leaf.lisp。
  2. 如果监控程序 SD84Monitor.exe 未运行,请启动它。
  3. 在 Listener 窗口中启动 Leaf "(leaf)"。
  1. 然后,你的伺服器应该来回旋转两次。
华夏公益教科书