0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arduino YunでCNCマシンを無線化するときのメモ

Posted at

前置き

先日、待ちに待っていた家庭用卓上CNCが着弾しました。
このCNCを操作するためには、USBケーブルでPCと接続する必要がありますが、部屋の角に配置したい関係上、USBケーブルがPCまで届きません。そこで、このUSB接続を無線化できないものかと思い、実際に試してみたことのメモ書きです。

動作環境

  • 卓上CNC
    • Genmitsu Cubiko
  • ブリッジサーバー
    • Arduino Yun Mini (Linino one)
    • OpenWrt 24.10.1
    • USBホストシールド取付済み
  • クライアントマシン
    • Windows 11 24H2

システム構成

[CNC マシン] ←USB→ [Arduino Yun] ←WiFi→ [Windows PC]

動作フロー

1. CNC制御ソフト → COM31(仮想ポート)
2. hub4com → COM30(仮想ポート)
3. hub4com → TCP/IP → Arduino Yun
4. socat → /dev/ttyUSB0 → CNC

ブリッジサーバーの準備(Arduino Yun側)

1. USBシリアルドライバのインストール

まずは、CNCをArduino Yunに認識させる必要があるので、以下のモジュールをインストールします。

opkg update
opkg install kmod-usb-uhci kmod-usb-ohci kmod-usb2 kmod-usb-serial-ch341

インストール後、CNCを接続すると /dev/ttyUSB0 として認識されます。

2. シリアル通信のTCP/IP変換

socatを使用してシリアル通信をTCP/IPネットワークにブリッジします。

opkg install socat
socat -d -d TCP-LISTEN:<PORT>,reuseaddr,fork,nodelay \
      /dev/ttyUSB0,raw,b115200,echo=0 &

<PORT> に使用するTCPポート番号を入力

動作確認
Windows PCからtelnetでArduino Yunに接続して ? を送信してみると以下のように表示されます:

$ telnet <Arduino YunのIP> <PORT>
?
<Idle|MPos:10.000,30.000,0.000,0.000|Bf:35,254|FS:0,0>
ok

これでCNCのシリアル通信をTCP/IPネットワーク経由で利用できるようになりました。

クライアントマシンの準備(Windows側)

仮想COMポートの導入

TCP/IP接続を既存のCNC制御ソフトウェアで使用するため、仮想COMポートを作成してTCP接続をシリアルポートとして見せかけます。

今回は、com0comを使用します。
com0comとhub4comをダウンロードしておきます。

ドライバ署名の問題対応
Windows 11では署名なしドライバがインストールできないため、こちらの記事の「ドライバ警告回避方法 その2 → 記事の方法」に沿って署名済みドライバをインストールします。

仮想COMポートペアの作成
Setup for com0comを開いて仮想COMポートを設定します。
今回はCOM30とCOM31のペアを使用します。

仮想COMポート設定画面

TCP-COMブリッジの開始
hub4comディレクトリにある com2tcp-rfc2217.bat を実行します:

.\com2tcp-rfc2217.bat \\.\COM30 <Arduino YunのIP> <TCPポート番号>

この状態で、CNC制御ソフトウェアからCOM31に接続すると、WiFi経由でCNCを制御できます。

まとめ

かなり複雑な構成ですが、無事CNCマシンの無線化に成功しました。
USBシリアルの無線化については、TCP/IPよりもBluetooth(SPP: Serial Port Profile)を使用する方が簡単かもしれません。次回があればBluetooth経由での実装も試してみたいと思います。

それでは(´・ω・`)ノシ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?