探索 Parallax Servo Controller - USB (#28823):十六通道伺服控制的利器

电子说

1.4w人已加入

描述

探索 Parallax Servo Controller - USB (#28823):十六通道伺服控制的利器

在当今科技领域,伺服系统的应用日益广泛,对多伺服电机的管理需求也愈发迫切。Parallax 推出的 Servo Controller - USB (#28823) 为解决这一问题提供了出色的方案。本文将深入探讨该控制器的特点、使用方法以及相关技术细节。

文件下载:28823.pdf

产品概述

Parallax Servo Controller - USB (#28823) 是一款具备 USB 接口的 16 通道伺服控制器。其前身 PSC 成功减轻了控制器驱动伺服脉冲的负担,而这款新控制器在此基础上更进一步,通过引入 USB 端口和免费的图形用户界面,将主要接口从键盘(基于文本的代码)转变为鼠标(基于可视化的程序),使开发控制复杂伺服序列的程序变得轻松有趣。

产品特性

独立控制

每个伺服电机都可独立控制其位置、速率、偏移量和延迟。速率控制方面,每个伺服电机有 63 种可在运行时更改的速率。

帧与序列管理

引入帧的概念来组织和管理运动及序列。一个帧由 16 个伺服位置和时间延迟组成,两个或更多帧构成一个序列。序列可存储在 PC 硬盘上,方便后续使用,并且可以像播放电影一样进行播放、暂停、停止或编辑。当前的 PSCI 软件支持最多 128 帧,不过大多数动物行走序列所需的帧数少于 8 帧。

使用前的准备

电源供应

PSC - USB 上的处理器需要 5 VDC 电源,由 USB 端口提供。但伺服电机所需的功率远超 USB 端口的供电能力,因此必须为伺服电机使用单独的电源,一般伺服电机需要 4 - 7.5 VDC 的电源,要确保电源能在合适的电压下提供充足的电流,且不会损坏伺服电机。

硬件安装

  1. 从防静电袋中取出 PSC - USB,其外观应与说明书中的图片相似。
  2. 使用 4 - 40 螺丝(或等效物)安装 PSC - USB,确保 PCB 底部的连接不会意外短路。
  3. 确保 Parallax Servo Controller 上的伺服电源开关处于关闭状态,然后将伺服电机的电源连接到螺丝端子,注意极性。
  4. 为伺服电机连接单独的电源。

软件安装与使用

软件安装

访问 www.parallax.com 搜索 28823,在 28823 产品页面的下载部分找到适用于 PC 的 PSC 软件链接,下载后双击程序并按照安装说明进行操作。

USB 驱动安装

PSC - USB 使用的 FTDI 芯片需要在 PC 上安装 USB 驱动。大多数 Windows 操作系统的 FTDI 驱动包含在 BASIC Stamp Editor 和 Propeller Tool 软件安装程序中,也可从 www.parallax.com 主页的链接下载,或访问 www.ftdichip.com 检查特定操作系统的更新驱动。下载完成后,关闭浏览器,双击下载的驱动文件开始安装,按照提示操作。若遇到困难,可拨打 Parallax 技术支持电话 (888) 99 - STAMP [888 - 997 - 8267]。

选择 USB 端口

USB 端口是动态的,连接 PSC - USB 时显示,断开时消失。可通过打开“我的电脑”属性,点击“硬件”选项卡,再点击“设备管理器”按钮,观察端口列表的变化。在启动 PSCI 软件之前,将 PSC - USB 连接到 PC 的 USB 端口。选择 COM 端口时,点击“文件”选项卡,将鼠标悬停在“选择通信端口”条目上,选择所需的通信端口。若一切正常,会显示通信端口成功打开的消息。若要确认 PSC - USB 的存在,可点击“文件” -> “获取 PSC 版本”,若找到 PSC - USB,版本号将显示在 PSCI 屏幕左侧的消息窗口中。

控制说明

实时控制

将伺服电机连接到 PSC - USB,将 PSC - USB 上的电源开关滑到“ON”位置,在 PSCI 软件中移动相应的伺服位置滑动条即可控制伺服电机的位置。

偏移控制

由于并非所有伺服电机都相同,偏移控制可用于调整每个伺服电机的中心点,这对于控制可旋转 360 度的伺服电机非常有帮助。

位置设置

可使用滑动控制、上下箭头或直接输入数值来设置伺服电机的位置。点击数字 2500、1500 或 750 可将伺服位置设置为相应的值,这些数字对应伺服命令脉冲的宽度(以微秒为单位)。

速率设置

每个伺服电机可设置旋转速率,且每个帧的速率可以不同。速率为 0 时,伺服电机将以最快速度移动;速率为 63 时,伺服电机将以最慢速度移动,完成 180 度运动约需 45 秒。

延迟设置

在动画模式下执行帧时,按顺序向 PSC - USB 发送每个伺服电机的命令,每个命令发送后会观察延迟时间再发送下一个命令。即使伺服电机未到达目标位置,新命令发送后也会立即执行。延迟参数应足够长,以确保伺服电机能够到达目标位置。在实时模式下,延迟参数无效。

帧与跳转设置

“Frame”右侧的数字表示当前帧,“Go to”右侧的数字表示当前帧的所有伺服命令发送完毕且所有延迟时间结束后将跳转的帧号。未使用的伺服电机不会发送命令。

动画控制

软件提供了用于创建、控制和编辑动画序列的控件,将鼠标悬停在每个控制按钮上(不点击)会弹出提示,帮助理解按钮的用途。

创建序列示例

以下是创建简单序列的步骤:

  1. 点击伺服通道 0 的 500 位置,并将该通道的延迟编辑为 500 ms。
  2. 点击红色圆圈(记录)记录帧。若在序列的最后一帧点击记录按钮,当前帧将被复制到下一帧;若在编辑现有帧后点击记录按钮,当前帧将被更新,下一帧不受影响。
  3. 点击通道 0 的数字 2500,再次点击记录按钮。
  4. 点击通道 0 的数字 500,再次点击记录按钮。
  5. 点击通道 0 的数字 1500,将“Go to”数字增加到 0,然后点击记录按钮。

完成上述步骤后,一个简单的动画序列就创建完成了。可使用类似 CD 的控制按钮运行、停止和暂停动画序列。要保存序列,点击“Sequence” -> “Save”并指定文件名;要检索保存的序列,点击“Sequence” -> “Open”并指定文件名。

与微控制器的连接

教育板 Rev C

  1. 伺服电机的电源必须与教育板的电源分开。
  2. 将 PSC - USB 的三针电缆连接到 X4 插槽 15。
  3. 确保 Vservo 跳线选择器(在 X4 和 X5 之间)设置为 Vdd 位置,将伺服电机连接到提供的三针端子。
  4. 要为 PSC - USB 供电,电源开关必须置于“2”位置。

    其他情况

  5. 伺服电机的电源必须与用于为板载逻辑供电的 5 VDC 电源分开。
  6. 将 PSC - USB 的三针电缆连接到:VDD(红色)、VSS(黑色),白色线连接到所选的 I/O 引脚,VDD 必须为 5 VDC。注意,串行线的空闲状态为 5 VDC。

硬件复位按钮

PSC - USB 上的按钮连接到板载微控制器的复位电路,按下该按钮可将微控制器复位,所有参数将恢复为默认值。

硬件/固件版本列表

硬件 固件 说明
Rev A 1.4 内部原型,未发布。此版本固件无已知问题,PSC - Serial 曾发布过早期版本的固件,但 PSC - USB 仅发布了 v1.4 固件。
Rev B 1.4 初始版本。此版本固件无已知问题,PSC - Serial 曾发布过早期版本的固件,但 PSC - USB 仅发布了 v1.4 固件。

串行命令格式

PSC 支持通过 RS - 232 串行协议发送的多个命令,串行线的电压摆幅为 0 - 5 VDC(TTL 电平)。每个串行命令必须以感叹号“!”和字母对“SC”开头,形成前导码“!SC”,用于区分 PSC 的命令和串行 I/O 线上的其他消息。前导码发送后,发送命令和相关参数,最后一个字符是 $0D(CR),用于终止字符串。若命令使 PSC 回复,将在 1.5 ms 延迟后发送三字节的回复。

具体命令介绍

VER? 命令 - 识别固件版本号

  • 语法:“!SCVER?” $0D
  • 回复:“1.3”(示例版本号) 该命令使 PSC 回复其固件版本号,每个命令后必须跟字符串终止符 $0D。可使用以下代码片段查找和识别 PSC:
    '{$PBASIC 2.5} 
    ' Serial Data I/O pin 
    Sdat PIN 15
    ' Constant for 2400 baud 
    Baud CON 396
    buff VAR Byte(3)
    ' temporary variable 
    FindPSC: ' Find and get the version 
    DEBUG "Finding PSC", CR ' number of the PSC. 
    SEROUT Sdat, Baud+$8000, ["!SCVER?",CR] 
    SERIN Sdat, Baud, 500, FindPSC, [STR buff3] 
    DEBUG "PSC ver: ", buff(0), buff(1), buff(2), CR 
    STOP

    SBR 命令 - 设置波特率(2400 或 38K4 波特)

  • 语法:“!SCSBR” x $0D
  • 回复:“BR” x(x 为 0 表示 2400 波特,1 表示 38K4 波特) 建立与 PSC 的通信后,可将波特率提高到 38K4 波特,示例代码如下:
    '{$PBASIC 2.5} 
    ' Serial Data I/O pin 
    Sdat PIN 15
    Baud CON 396
    ' Constant for 2400 baud 
    buff VAR Byte(3)
    ' temporary variable 
    SetBaud: 
    DEBUG "Setting Baudrate", CR 
    SEROUT Sdat, Baud+$8000, ["!SCSBR",1,CR] 
    SERIN Sdat, 6,500, SetBaud, [STR buff3] 
    DEBUG "Baud reply: ", buff(0), buff(1), DEC1 buff(2), CR 
    STOP

    位置命令 - 设置伺服通道的位置

  • 语法:“!SC” C R pw.LOWBYTE, pw.HIGHBYTE, $0D
  • 回复:无 控制伺服电机时,需向 PSC 写入位置命令,该命令由头部“!SC”、三个参数 C、R 和 PW 以及命令终止符 $0D 组成。C 参数是 0 - 31 的二进制数,对应伺服通道号;R 参数是 0 - 63 的二进制数,控制每个通道的斜坡函数;P 参数是 16 位字,对应所需的伺服位置。以下代码示例展示了如何以斜坡速率 7 将伺服通道 11 从 0 移动到 255:
    '{$PBASIC 2.5} 
    ch VAR Byte 
    pw VAR Word 
    ra VAR Byte 
    Sdat CON 15 
    baud CON 396 
    ra = 7 
    ch = 15 
    DO 
    pw = 1250 
    SEROUT Sdat, Baud+$8000,["!SC", ch, ra, pw.LOWBYTE, pw.HIGHBYTE, CR] 
    PAUSE 1000 
    pw = 250 
    SEROUT Sdat, Baud+$8000,["!SC", ch, ra, pw.LOWBYTE, pw.HIGHBYTE, CR] 
    PAUSE 1000 
    LOOP

    RSP 命令 - 报告伺服通道的位置

  • 语法:“!SCRSP” x $0D
  • 回复:x y z(x 是通道号,z:y 是报告的值) 有时需要了解当前伺服电机的位置,RSP 命令可返回指定伺服通道的值。以下代码示例展示了如何使用该命令:
    '{$PBASIC 2.5} 
    ch VAR Byte 
    pw VAR Word 
    ra VAR Byte 
    x VAR Byte 
    Buff VAR Byte(3) 
    Sdat CON 15 
    baud CON 396 
    Init: 
    ra = 15: ch = 12 
    DO 
    pw = 1240: GOSUB WRservo 
    pw = 240: GOSUB WRservo 
    LOOP 
    WRservo: 
    SEROUT Sdat, Baud+$8000,["!SC", ch, ra, pw.LOWBYTE, pw.HIGHBYTE, CR] 
    FOR x = 0 TO 4 
    PAUSE 1000 
    SEROUT Sdat, Baud+$8000, ["!SCRSP", ch, CR] 
    SERIN Sdat, Baud, 1000, Init,[STR Buff3] 
    DEBUG "Servo ", DEC buff(0), " ", HEX2 buff(1), " :", HEX2 buff(2), CR 
    NEXT 
    RETURN

Parallax Servo Controller - USB (#28823) 为电子工程师提供了一个强大而灵活的工具,可用于控制多个伺服电机,实现复杂的运动序列。通过合理使用其各种功能和命令,能够轻松开发出满足不同需求的应用程序。你在使用这款控制器的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分