机器人/计算机控制/接口/计算机
个人电脑 (PC) 拥有大量的端口,您可以通过这些端口添加自己的硬件来控制您的机器人。其中一些非常易于使用,而另一些则几乎不可能在没有特殊(昂贵)IC 的情况下使用。并非所有这些接口都可以在所有计算机上使用。本节概述了 PC 上一些最知名的端口。这些端口及其用途在整个互联网上都有很好的记录。
这些都是 PC 外部可用的所有端口。大多数计算机用户都熟悉它们(或者至少知道它们的名称和外观)。
串行端口是 PC 上两个最容易使用的端口之一。该端口由两根线传输数据(每个方向一根)和一些信号线组成。该端口相当坚固,如果您了解一些数字电子技术或使用微控制器,它也相当容易使用。它在速度上有限,并且只能直接连接两个设备。通过使用特殊的 IC,您可以将串行端口连接到 RS-485 网络,并将其连接到多个设备。
- 串行编程/RS-232
- 此网站 包含大量关于串行端口(以及其他内容)的信息。
并行端口是 PC 上第二个最容易使用的端口。该端口使用 8 根线传输数据,并有几个信号线。现代并行端口可以发送和接收数据。该端口比串行端口更容易使用,但不太坚固。由于它在 TTL 电压级别 (0 和 5V) 上运行,因此可以直接连接到微控制器和 TTL 逻辑。
此页面 涵盖了并行端口及其不同的工作模式。
USB 是串行端口的继任者。它更快,允许连接设备而不关闭 PC。一些现代微控制器内置了 USB 支持。
- 所有 关于 USB 的信息。
- 串行编程:USB 技术手册
- 嵌入式系统/特定微处理器#USB 接口
IEEE 1394 也称为 FireWire、i.link 或 lynx,是一种(快得多)的端口,类似于 USB 端口。它的速度高达 400Mbit/s。
- 连接器
- 文章 关于 IEEE 1394。
- Linux FireWire 维基
键盘使用 TTL 级别信号将按键按下和释放传输到 PC。当按下按钮时,键盘会发送一个代码,当释放按钮时,会发送另一个代码。该端口可用于某些目的。
请参阅 此网站 以深入了解如何连接键盘并提供示例。(菜单:其他 -> 连接 AT 键盘)涵盖了如何替换键盘以及如何将键盘用于其他目的。
以太网可用于将其他设备连接到 PC。如今,完整的单片机网络服务器已经出现,以太网可以成为连接机器人中多个设备(甚至将其连接到互联网并让用户从世界各地控制机器人)的一种方式。
这些是 PC 内部的连接器,通常与特殊的 PCB(称为卡)一起使用。虽然更难使用,但它们提供了极快的速度。
ISA 是您在过去将视频、声音、IDE 和网络卡插入的(8 位,后来是 16 位)总线。您可以在 PC 上找到这些总线,直到(一些)早期奔腾 II(后者通常只有一个 E-ISA 插槽,如果有的话)。该总线对于您自己的项目来说非常易于使用,并且在互联网上有很好的记录。
PCI 是 ISA 总线的继任者。它是一个更快的 32 位总线。由于它支持即插即用,因此 PCI 设备需要一些寄存器来识别组件和制造商。此页面 涵盖了 PCI 总线的大部分基础知识。
加速图形端口针对 3D 显卡。它是一个高速总线,但针对图形进行了优化。
PCI Express 替换了 PCI 和 AGP。它与所有其他总线都非常不同,因为它使用串行通信,而不是并行通信。它的速度取决于使用的“通道”数量(串行连接)。PCI Express 支持 1、2、4、8 和 16 个通道。
这些也是“端口”,因为它们可以用于将其他设备连接到 PC。
IRDA 是一种红外通信端口。现代版本的速度可达 4Mbit/s。对于桌面机器人,IRDA 可能是电线的不错替代方案。由于它是一个红外端口,因此需要视线才能可靠工作,并且其范围限制在 1m 内。请注意,此端口的工作速度远高于遥控器,因此标准遥控器转发器可能无法可靠地用于 IRDA。
此 网站涵盖了 IRDA 的基础知识。
这里 是主板 IRDA 连接器的引脚分配图。
标题中的所有名称都是指同一技术的同义词。WLAN 通常用在 PC(尤其是笔记本电脑)中作为数据网络。可用的带宽大约为每秒几兆比特或更多,远超任何机器人项目通常所需的带宽。WLAN 通常可达约 100m,但使用特殊的定向天线可以实现更远的距离(特定方向)。
如果您的机器人内置了 PC 甚至 PDA 用于控制,那么 WLAN 是显而易见的选择。此外,当您的控制器具有以太网连接性时(价格合理,但除了某些套件之外,它不是标准功能),可以购买价格低廉(约 50 欧元)的 WLAN 桥接器,例如 D-Link DWL-810+ 和 DWL-G810。
如果您只有串行端口可用,则可以使用无线设备服务器。但是,其中一个的价格超过 100 欧元。
蓝牙是一种低带宽协议,最常用于手机。它越来越多地部署在笔记本电脑中,并且还提供了独立的 USB“棒”。蓝牙可用于建立无线串行连接——市面上有蓝牙串行端口,可用作转换器。系统中的总带宽约为每秒 1 兆比特,范围可达约 10 米(标准蓝牙,2.5 mW),或约 100 米(工业蓝牙,100 mW)。蓝牙在扩展方面存在限制——它主要部署在 1:1 链接中,即使标准包括最多 8 个活动节点(甚至更多被动节点)的网络。这意味着,如果您打算使用通用通信网络构建大量机器人,那么蓝牙可能不太适合。
ZigBee 是一种基于 802.15.4 无线网络通信标准的协议栈。它价格低廉、功耗低,并且总体上非常适合低带宽通信需求。带宽约为每秒几十到几百千比特,范围可达约 1 公里,具体取决于设备。
有趣的解决方案是Maxstream 的 XBee,它基本上提供了一个无线串行链接。在w:ZigBee 中还有一个其他供应商的列表。
一种可能性是使用标准蜂窝网络(手机)。由于成本、延迟和带宽限制,它只适合具有较低通信需求的大规模地球静止户外应用。
无线电调制解调器通常是用于串行端口无线链接的较旧的专有解决方案。专有解决方案可能不应考虑用于新设计。
PC 具有内存、程序空间和处理能力丰富的优势。此外,它们还提供了您可能希望的最佳调试 I/O(屏幕、键盘和鼠标)。但它们确实有一些缺陷,限制了它们在移动机器人中的用处。
- 首先是它们的尺寸。即使是最小的 PC,笔记本电脑,也相当笨重,迫使您使用相当大的框架。
- 其次,除了笔记本电脑外,功耗很大,并且在移动设备上提供交流电源很笨重,因为您需要沉重的电池和逆变器。
- 最后,PC 在获取来自外界的可靠、准确的计时方面很糟糕。
前两点基本上决定了您机器人框架的大部分形状,除了使用不同的控制器之外,您对此无能为力。选择您可以找到的最佳硬件几乎是唯一可以使这些问题不那么麻烦的方法。
最后一点很容易解决。大多数 PC 都有一个串行端口。大多数微控制器也有一个串行端口。使用电平转换器将微控制器的 TTL 电平串行端口与 RS232 电平计算机串行端口连接,并使用一个小程序在微控制器中处理精确的计时,并将这些信息通过串行连接传输到计算机。这是一个非常强大的设置,它结合了 PC 和微控制器的优势。
例如,请查看此网站,了解串行端口的接口硬件。涵盖了 I/O 模块和 RS232 到 TTL 电平转换器,可用于机器人或基于微控制器的项目。
一些微控制器提供 USB 或以太网端口,它们的使用方式几乎相同,尽管软件的实现会稍微复杂一些。