CANopen to USB?
У меня есть один из этих цифровых датчиков давления, который выводит сигнал CANopen (CAN-BUS).
Каков наилучший способ получить данные через порт USB на моем компьютере? Могу ли я просто подключить CAN_H
а также CAN_L
к USB +
а также USB-
и V+/-
к внешнему источнику питания?
Может быть, USB не лучший способ. Могу ли я подключить это к порту Ethernet?
Как только проводка будет завершена, какой самый простой способ декодировать данные в моей ОС? Я не буду уклоняться от программирования, но я потерялся в море CAN-протоколов и мне нужно какое-то направление! У меня есть доступ к коробке с Linux, Mac и ПК.
3 ответа
Я не уверен, что ваше приложение, но чтение данных с этого датчика не так просто. Как сказал Андре, это устройство CAN; в частности, это устройство протокола CANopen. Подключение к USB приведет к разрушению плохого компьютера, к которому вы его подключите.
Я бы порекомендовал немного изучить протокол CAN-BUS, чтобы увидеть, как он работает. Для начала я бы порекомендовал приобрести Arduino (возможно, стартовый комплект, подобный этому или этому) и этот щит CAN-BUS ( вот библиотека). Затем посмотрите на таблицу для вашего датчика, чтобы увидеть, как с ним связаться. USB-соединение с Arduino позволит вам получить доступ к последовательной информации, отправленной с Arduino на ваш компьютер (например, уровень давления). Тем не менее, Arduino является микроконтроллером, и он может быть удовлетворительным в качестве одного контроллера для вашего приложения, что устраняет необходимость в USB.
Если все это кажется у вас над головой, вы можете выбрать более простой датчик давления, такой как этот ( таблица данных) из серии Honeywell MLH. Это простой аналоговый датчик, который использует напряжение (5 В, идеально подходит для Arduino) для вывода значения давления.
Датчик, который у вас есть, очень тяжелый (металлический корпус с диапазоном около 1200 фунтов на квадратный дюйм), и он, вероятно, излишним для большинства приложений, но я не знаю, для чего вы его используете. Если это что-то простое с не таким большим давлением, я бы порекомендовал приобрести другой датчик, который обладает большей точностью и точностью для диапазона давления, который вы измеряете.
Хотя вы можете выбрать адаптер CAN-USB, например, этот коммерческий или более документированный, я бы поспорил, что вы обнаружите, что его возможности ограничены сразу и / или в будущем. При этом я бы порекомендовал решение Arduino, а не USB-адаптер.
Адаптеры преобразования CAN-USB, которые я видел, содержат специальный микропроцессор для обработки деталей преобразования, поэтому я не слишком уверен в возможности пайки одного для себя.
Примером на Amazon является USB-CAN Адаптер конвертера USB-CAN Bus с кабелем USB, стоимостью $46,99. Я не знаю, как это устройство будет выглядеть для Windows и требует ли оно специального драйвера.
Этот датчик выводит данные на шину CAN, которая представляет собой сеть, предназначенную главным образом для использования в автомобилях (он широко используется для соединения ЭБУ внутри транспортных средств и позволяет им взаимодействовать друг с другом).
CAN сильно отличается от USB, и их прямое подключение может привести к аварии, повредив USB-контроллер и, возможно, всю материнскую плату.
Если вы все еще хотите использовать этот датчик, вам понадобится устройство для преобразования шины CAN в то, что ваш компьютер может принять, например USB, RS232 (если у вас есть последовательный порт) или даже Ethernet - вот пример CAN<->USB конвертер.
Обратите внимание, что программное обеспечение для чтения данных с датчика, подобного этому, уже не создано, поскольку почти каждый интерфейс CAN имеет свои собственные API-интерфейсы, а каждый датчик имеет свои форматы данных и разные данные, поэтому вам необходимо запрограммировать приложение для чтения датчика.,
Посмотрите на SDK и примеры, предоставляемые вашим интерфейсом CAN, чтобы узнать, как "общаться" с шиной CAN, а затем посмотрите на таблицу данных вашего датчика, чтобы узнать, как на самом деле "поговорить" с ним и получить его значения.