パソコンとのUSB接続

KINGROON KP3Sの左側面には、USB Type-B端子が付いている。

image alt

付属品にUSB Type-Bオス to USB Type-Aオスケーブルが付属しているので、それを使ってパソコンとUSB接続可能だ。

予め書いておくが、本項にはファームウェアがMarlinベースの3Dプリンターに当たり前のことが延々書いてあるだけだ。

それがKINGROON KP3Sでも当たり前にできるという念押しの意味で書いている。

image alt

USB接続にもいろいろあるが、KINGROON KP3Sとパソコンとはシリアル通信という種類の接続方法でつながる。

KINGROON KP3Sの中にはそのためのUSBシリアル変換チップが入っており、一般に使われるものにはCP2102、FT232RLがあるが、KINGROON KP3SにはCH340という中国製のUSBシリアル変換チップが使われている。

macOSには標準でドライバが入っているので、追加でドライバを入れずともシリアルポートとして見える。例えば、以下のようなパスになる。

1
/dev/cu.usbserial-1410

Windowsの場合はドライバは入っていまいと思ったら、最近のWindows 10にはドライバが入っているようで、筆者の環境では、接続したらしばらくのドライバインストール処理の後に認識した。ドライバーのダウンロード場所は念のため示しておく。

WindowsパソコンにUSB接続したKINGROON KP3Sは、シリアルポートのCOMxxとして見える。

image alt

LinuxではRaspberry Piとの接続例が多いと思うが、よく使われるディストリビューションであろうOctoPiではそのままで認識する。

1
2
3
4
5
6
$ lsusb
QinHeng Electronics HL-340 USB-Serial adapter

$ lsmod
ch341                  16384  1
usbserial              36864  3 ch341

パスとしては以下のような感じだ。

1
/dev/ttyUSB0

記事執筆時点では0.18.0がOctoPiの最新版だが、その前の0.17.0ではKINGROON KP3SのCH340の認識に問題があったので、0.18.0を使うことをお勧めしたい。

問題とは、よく認識しなくなり、認識のために再起動を必要とするというものだった。

0.17.0でもapt upgradeすれば問題がなくなりはするが、つまりsshでログインして……といった操作が前提になる。

KINGROON KP3Sとのシリアルポートの接続条件は以下の通りだ。

ボーレートさえ115,200bpsに設定すれば大概は大丈夫だろう。

  • ボーレート: 115,200bps
  • データ長: 8bit
  • ストップbit: 1bit
  • パリティ: なし

基本的にはMicro SDカードスロット経由のやりとりだけで使っていくことが可能なKINGROON KP3Sだが、パソコンとUSB接続することで便利に使えることもある。

どんなことができるのか?

パソコンからの直接プリント

Micro SDカードを使わず、USB接続をしたパソコンからG-codeを順次送ってプリントすることができる。

image alt

ちなみに、写真のパソコンにはUSB Type-C端子しか付いていないので、アダプタを介して接続している。

ちょうど2Dプリンターを使っているようなイメージだ。

この場合はパソコン側ではUltimaker Curaなどのスライサーを使う。

スライサーには、USB接続経由で3Dプリンターをコントロールする機能が付いていることが多い。

image alt

その他、XYZ軸の移動や、ヒーターの操作もパソコンからできる。

Micro SDによるデータ移動をしなくてよくなり、人によってはパソコンから操作する2Dプリンターライクな操作の方が便利と感じるかもしれない。

一方で、パソコンからプリント中にパソコン側にトラブルが起きると、KINGROON KP3Sも巻き添えを食らうことになる。

Ultimaker Curaでも赤線で囲んだ部分からKINGROON KP3SにG-codeによるコマンドを送ることができるが、Ultimaker CuraではKINGROON KP3S側からの応答を見ることはできない。

対話的な操作

USB接続経由でKINGROON KP3Sにコマンドを送ってその応答を見たり、コマンドを送ることで何かをさせたり、設定を変更したりできる。

ちょうど、パソコンでコマンドシェル、ターミナルを使っている感じだ。

image alt

KINGROON KP3SはMarlin系のファームウェアを搭載しているので、Marlin系のG-codeを送るとそれが解釈されて、様々な影響を与えることができる。

KINGROON KP3Sの中には、液晶画面からでは確認できない設定や状態がある。

それらを確認できるのもUSB接続あってのことだ。

KINGROON KP3Sが発するメッセージの確認

KINGROON KP3Sの本体には液晶が付いているが、ここに表示される以外にもメッセージが発されていることがある。

これもUSB接続経由で見ることができる。

シリアル通信中であれば、特にこちらからG-codeを実行せずとも勝手に表示される。

特に、エラーメッセージが見えるようになることは大変重要で、何かトラブルがあったときに解決の糸口になることもある。

トラブルに遭遇したときこれを確認せずに解決しようとすることは、目をつぶって自転車に乗るようなものだ。

3Dプリンター突然止まったりするときには、大体ここに何か表示されている。

Raspberry Piとの組み合わせによるプリンターサーバの構築


KINGROON KP3SとRaspberry PiをUSB接続し、Raspberry PiではOctoPrintというソフトウェアを動作させておくことで、KINGROON KP3SをWiFi経由、つまり無線接続して使える。

操作はWebブラウザ経由となるが、同時にWeb APIもあるので、スライサーと連携させることも可能だ。

image alt

しかも、パソコンと直接USB接続する場合と異なり、プリント中の処理はRaspberry Piが面倒を見てくれるので、パソコンからG-code形式のファイルを送り、プリントを開始した後はパソコン側は電源を切ってしまってもよく、手離れがよくなる。

筆者はスマートプラグと連携させ、OctoPrintのWeb画面表示とKINGROON KP3Sの自動電源オン、プリント完了後の電源自動オフを実現させている。

Raspberry PiとOctoPrint、そしてKINGROON KP3Sを組み合わせると、もはや後戻りできないほど便利な環境になる。それについては以下のページに書いた。

具体的なUSB接続での操作の方法

KINGROON KP3Sとのシリアル通信に使うソフトウェアは、Arduino IDEがよいのではないかと筆者は考える。

macOSとWindowsで共通して使えるソフトウェアで、シリアル通信周りがシンプルで説明が省けるという記事執筆上の都合からだ。😗

Arduino IDEのインストール

Arduino IDEは以下からダウンロードできる。

シリアルポートの選択

KINGROON KP3Sとのシリアル通信方法は簡単だ。

USB接続する前にArduino IDEのメニュー「ツール>シリアルポート」を確認し、スクリーンショットを撮影するなどで状況を記録したら、KINGROON KP3Sを接続。

再度Arduino IDEのメニュー「ツール>シリアルポート」を確認し、新たに現れたポートがあれば、それがKINGROON KP3Sのシリアルポートだ。

image alt

シリアルモニタの利用

KINGROON KP3Sのシリアルポートを選択。

続いて、「ツール>シリアルモニタ」を選択して、シリアルモニタを表示。

シリアルモニタの画面下からボーレートを選択するが、KINGROON KP3Sの場合は115,200bpsだ。

画面上のコマンドラインからはG-codeを送信できる。

その下の領域には、KINGROON KP3S側からの応答が表示される。

image alt

例えば、コマンドラインでM503と打ち込み、Enterキーか送信ボタンを押すと、KINGROON KP3Sからの応答がズラっと表示される。

これは、KINGROON KP3Sの本体のEEPROMという不揮発メモリに保存された設定を読み出して表示するという意味のG-codeだ。

G-codeのリファレンスを引く

G-codeのリファレンスはMarlinのサイトにある。

M503で表示した応答の中にもG-codeがある。これも、それぞれMarlinのG-codeリファレンスを調べると意味が分かる。

この内容は3D Touch対応か否かで変わってくる。3D Touchを有効にしたらM851のお世話になることも多いだろう。

どんなG-codeがあり、何ができるかを漠然と把握していると、一段と深みのあるKINGROON KP3S活用ができるようになる。

漠然と把握しておいて、詳細はリファレンスを引いて確認するわけだ。

Repetier-Hostの利用

Windowsの場合は、Repetier-Hostを利用すると便利だ。

「Printer Setings>Connection」でシリアルポートとボーレートを設定し、画面左上の「Connect」ボタンを押すと接続できる。

image alt

見ての通り、各種コントロール、そしてG-codeの送信、それに対するKINGROON KP3Sからの応答を見るコンソールも画面下にあり、便利だ。

image alt

macOS用のRepetier-Hostもあるが、開発が中止されていて機能が足りない。特にこの応答を見る画面下のコンソールがないのが痛い。

macOSの場合は、Ultimaker CuraとArduino IDEの組み合わせでよいと思う。

前出のOctoPrintは、Arduino IDE、Repetier-Hostの機能を概ねカバーしているので、筆者個人はRaspberry PiにインストールしたOctoPrintだけを使っている。