使用以太网远程控制机器人手臂
硬件:
Arduino UNO和Genuino UNO
WIZnet WIZ750SR-TTL-EVB套件
通用机器人手臂
项目简介:
如果您想与串行设备通信,那么可能最大电缆长度是主要障碍。标准波特率的最大电缆长度可以是50英尺。您可以通过牺牲数据速率来进一步增加电缆长度。而且现在大多数PC都没有串口。以太网到串行转换器可能是上述问题的理想解决方案。您可以通过以太网端口高速传输数据到串行设备。电缆长度可达100米或更长。
在这个项目中,我使用WIZnet的串行到以太网(S2E)设备(WIZ750SR)来控制3D打印的机械臂。这是一个概念项目,手臂的容量非常有限。我使用开源处理环境开发了一个Windows应用程序,用于从我的台式PC控制手臂。
首先,我使用WIZnet的S2E配置工具配置WIZnet设备,如下所示(注意IP地址和端口号)。WIZnet设备配置为TCP服务器。串行通信的波特率应为115200(忽略图像上的速率)。
然后我将3.3V USB FTDI转换器连接到WIZ750SR以检查串行通信。我用PuTTY来测试通信。
我打开两个PuTTY窗口,一个作为Telnet客户端,另一个作为串行客户端。
串行通信检查成功后,通过TX和RX引脚将Arduino板连接到WIZ750SR。
为了将WIZ750SR与Arduino板连接,可以安全地使用电平转换器,因为WIZ750SR工作在3.3V,Arduino工作在5V。在这里,我连接了WIZ750SR和Arduino板之间的电平转换器。电平转换器的高压侧必须与Arduino连接,并且电平转换器的低压侧必须与WIZ750SR连接。
我用Arduino NANO和Arduino UNO测试了WIZ750SR器件。
为了通过以太网从我的PC控制机器人手臂,我使用Processing开发了一个桌面应用程序。处理是使用虚拟COM端口向Arduino发送数据。
虚拟COM端口或虚拟串行端口是传统软件应用程序期望连接到串行设备端口(COM端口)但由于物理上缺少可用串行端口而无法连接时的理想解决方案。相反,我们重新配置计算机以通过局域网或Internet发送串行端口数据,就像通过真正的串行端口一样。当遗留应用程序将数据发送到串行COM端口时,它实际上是通过TCP / IP网络传输的,然后从网络传输到您的遗留应用程序 – 并且是presto! – 我们有一个虚拟串口或虚拟COM端口。
要了解有关虚拟COM端口的详细信息(它们如何工作以及如何配置),请查看链接:https://www.netburner.com/learn/how-to-create-a-virtual-serial-port/
要为PC设置虚拟COM端口,您将需要第三方工具。您可以将WIZ VSP用于此目的。我使用了NetBurner的另一个工具。我从这里下载了NetBurner虚拟COM端口工具,并按如下方式配置它:
在将虚拟COM端口配置为COM20之后,我开发了一个Processing程序,使用WIZ750SR以图形方式与Arduino机械臂进行交互。要运行处理代码,您需要为Processing添加ControlP5 GUI库。从这里下载库:
http ://www.sojamo.de/libraries/controlP5/
请注意COM端口号,它必须是您使用NetBurner创c建的虚拟COM端口号。
Processing程序的图形输出如下:
从五个滑块我可以非常平稳地控制机器人手臂的五个伺服电机的旋转。
应用程序的完整源代码附加到代码部分。
下图显示了PC,WIZ750SR和Arduino之间的连接。
这款微型机器人手臂采用3D打印,设计文件可在Thingiverse中使用。我用五个伺服电机来控制手臂。伺服电机连接到Arduino数字引脚。
使用以太网可以远距离控制手臂。无需在PC中安装串口。