web-dev-qa-db-ja.com

USBにCANopen?

私はこれらの1つを持っています デジタル圧力送信機 CANopen(CAN-BUS)信号を出力します。

コンピューターのUSBポートを介してデータを取得するための最良の方法は何ですか? CAN_HCAN_LUSB +USB-に、そしてV+/-を外部電源に配線するだけでいいですか?

たぶん、USBは行く方法ではありません。これをイーサネットポートに配線できますか?

配線が完了したら、OSでデータをデコードする最も簡単な方法は何ですか?私は少しのプログラミングを恥ずかしがりませんが、CANプロトコルの海に迷い、何らかの方向性が必要です!ここからLinuxボックス、Macボックス、およびPCにアクセスできます。

1
vimes1984

アプリケーションが何であるかはわかりませんが、このセンサーからのデータの読み取りはそれほど簡単ではありません。アンドレが言ったように、これはCANデバイスです。具体的には、 CANopen プロトコルデバイスです。 USBに配線すると、接続先の貧弱なコンピューターに大混乱をもたらします。

CAN-BUSプロトコルを調べて、どのように機能するかを確認することをお勧めします。始めるには、Arduino(おそらく this または this のようなスターターキット)とこれ CAN-BUS Shield (- ここにライブラリがあります )。次に、センサーのデータシートを見て、センサーとの通信方法を確認します。 ArduinoとのUSB接続により、Arduinoからコンピューターに送信されたシリアル情報(圧力レベルなど)にアクセスできます。ただし、Arduinoはマイクロコントローラーであり、アプリケーションのコントローラーとしては十分であり、USBは不要です。

これらすべてが頭に浮かぶようであれば、Honeywell MLHシリーズの this onedatasheet )のような単純な圧力センサーを選択することをお勧めします。電圧(5V、Arduinoに最適)を使用して圧力値を出力するシンプルなアナログセンサーです。

お持ちのセンサーは非常に頑丈で(範囲が約1200 PSIの金属ケース)、ほとんどのアプリケーションではおそらくやり過ぎですが、何に使用しているのかわかりません。圧力がそれほど高くない単純なものである場合は、測定している圧力範囲に対してより高い精度と精度を備えた別のセンサーを購入することをお勧めします。

CAN-USBアダプター この商用のもののように または このより文書化されたもの を選ぶことはできますが、すぐに機能がかなり制限されることに気付くでしょう、および/または将来的に。そうは言っても、USBアダプターよりもArduinoソリューションをお勧めします。

1
evan.bovie

私が見たCAN-USB変換アダプターには、変換の詳細を処理するための専用のマイクロプロセッサーが組み込まれているため、自分ではんだ付けする可能性についてはよくわかりません。

Amazonの例は SB-USBケーブル付きCAN USB-CANバスコンバーターアダプター 、価格は$ 46.99です。このデバイスがWindowsでどのように表示されるか、および特別なドライバーが必要かどうかはわかりません。

2
harrymc

そのセンサーは、主に自動車用に設計されたネットワークである CANバス にデータを出力します(相互接続に広く使用されています ECU は車内にあり、それらが一緒に通信できるようにします)。

CANはUSBとは大きく異なり、直接接続すると、USBコントローラーと、場合によってはマザーボード全体が損傷する可能性があります。

それでもこのセンサーを使用したい場合は、CANバスをUSB、RS232(シリアルポートがある場合)、さらにはイーサネットなど、コンピューターが受け入れることができるものに変換するデバイスが必要です-ここに example CAN <-> USBコンバーター。

ほとんどすべてのCANインターフェースには独自のAPIがあり、各センサー自体には異なるデータ形式などがあるため、このようなセンサーからデータを読み取るためのソフトウェアはまだ作成されていないことに注意してください。センサーを読み取るようにアプリケーションをプログラムする必要があります。 。

CANバスと「通信」する方法についてはSDKとCANインターフェースで提供される例を確認し、次に実際に「通信」してその値を取得する方法についてセンサーのデータシートを確認してください。

1
user256743