电子说
在当今科技领域,伺服系统的应用日益广泛,对多伺服电机的管理需求也愈发迫切。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 的电源,要确保电源能在合适的电压下提供充足的电流,且不会损坏伺服电机。
访问 www.parallax.com 搜索 28823,在 28823 产品页面的下载部分找到适用于 PC 的 PSC 软件链接,下载后双击程序并按照安装说明进行操作。
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 端口是动态的,连接 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”右侧的数字表示当前帧的所有伺服命令发送完毕且所有延迟时间结束后将跳转的帧号。未使用的伺服电机不会发送命令。
软件提供了用于创建、控制和编辑动画序列的控件,将鼠标悬停在每个控制按钮上(不点击)会弹出提示,帮助理解按钮的用途。
以下是创建简单序列的步骤:
完成上述步骤后,一个简单的动画序列就创建完成了。可使用类似 CD 的控制按钮运行、停止和暂停动画序列。要保存序列,点击“Sequence” -> “Save”并指定文件名;要检索保存的序列,点击“Sequence” -> “Open”并指定文件名。
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 延迟后发送三字节的回复。
'{$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
'{$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
'{$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
'{$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
RETURNParallax Servo Controller - USB (#28823) 为电子工程师提供了一个强大而灵活的工具,可用于控制多个伺服电机,实现复杂的运动序列。通过合理使用其各种功能和命令,能够轻松开发出满足不同需求的应用程序。你在使用这款控制器的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
全部0条评论
快来发表一下你的评论吧 !