CANopen 到 USB?

CANopen 到 USB?

我有其中一个数字压力变送器输出 CANopen(CAN-BUS)信号。

通过电脑上的 USB 端口获取数据的最佳方法是什么?我可以将 和 连接CAN_HCAN_L并将USB +连接USB-V+/-外部电源吗?

也许 USB 不是最佳选择。我可以将其连接到以太网端口吗?

接线完成后,在我的操作系统上解码数据的最简单方法是什么?我不会回避一点编程,但我迷失在 CAN 协议的海洋中,需要一些指导!我在这里可以使用 Linux 机箱、Mac 机箱和 PC。

答案1

我不确定你的应用程序是什么,但从这个传感器读取数据并不那么简单。正如 André 所说,这是一个 CAN 设备;具体来说,它是一个CANopen协议设备。将其连接到 USB 会给所连接的计算机造成严重破坏。

我建议对 CAN-BUS 协议进行一些研究,了解其工作原理。为了入门,我建议购买 Arduino(也许是入门套件,例如或者) 和这个CAN-BUS 屏蔽这里有一个图书馆)。然后查看传感器的数据表,了解如何与其通信。Arduino 的 USB 连接将允许您访问从 Arduino 发送到计算机的串行信息(例如压力水平)。但是,Arduino 是一个微控制器,它可能足以作为您应用程序的控制器,无需 USB。

如果以上这些都超出了你的理解范围,你可能想要选择一个更简单的压力传感器,例如这个数据表) 来自 Honeywell MLH 系列。它是一个简单的模拟传感器,使用电压(5V,非常适合 Arduino)输出压力值。

您的传感器非常耐用(金属外壳,量程约为 1200 PSI),对于大多数应用来说可能有点过头了,但我不知道您用它做什么。如果是压力没有那么大的简单应用,我建议购买另一种精度和准确度更高的传感器,以适应您测量的压力范围。

虽然你可以选择 CAN 转 USB 适配器就像这个商业的或者这个更有据可查的,我敢打赌,你会发现自己现在和/或将来的能力相当有限。话虽如此,我还是建议使用 Arduino 解决方案,而不是 USB 适配器解决方案。

答案2

我所见过的 CAN-USB 转换适配器包含专用的微处理器来处理转换细节,所以我不太确定您是否可以自己焊接一个。

亚马逊上的一个例子是 USB-CAN USB 至 CAN 总线转换器适配器,带 USB 电缆,售价 46.99 美元。我不知道这款设备在 Windows 上会是什么样子,也不知道它是否需要特殊的驱动程序。

答案3

该传感器输出数据CAN 总线这是一种主要为汽车使用而设计的网络(它被广泛用于连接ECU车辆内部并允许它们相互通信)。

CAN 与 USB 有很大不同,直接连接它们可能会损坏 USB 控制器甚至整个主板,从而造成灾难。

如果你仍然想使用这个传感器,你需要一个设备将 CAN 总线转换为你的计算机可以接受的东西,比如 USB、RS232(如果你有串行端口)甚至以太网——这里有一个例子CAN<->USB 转换器。

请注意,目前还没有软件可以从这样的传感器读取数据,因为几乎每个 CAN 接口都有自己的 API,并且每个传感器本身都有不同的数据格式和内容,因此您需要编写一个应用程序来读取传感器。

查看 CAN 接口提供的 SDK 和示例,了解如何与 CAN 总线“对话”,然后查看传感器的数据表,了解如何实际与其“对话”并获取其值。

相关内容