本ページでは、Tera Term(テラターム)をUSBシリアル通信で連携させ、KeiganMotorを制御する方法を解説します。
以下設定の一部はKeiganMotor以外でも流用できますので是非参考にして下さい。

《自社製品KeiganMotorに関する情報》

【製品サイト】
 ・KeiganMotor KM-1U
 ・KeiganMotor KM-1S

【購入サイト】
 ・弊社販売サイト
 ・i-maker様
 ・スイッチサイエンス様
 ・TechShare(Physical Computing Lab)様

◆Tera Term(テラターム)のダウンロード

公式ページ(Tera Term Home Page)にアクセスし[ダウンロード]をクリックします。

OSDNのページへ飛んだ後、以下を参考にし最新バージョンをダウンロードします。

ダウンロード後、アプリケーションを起動し以下の環境設定へお進みください。

◆Tera Term の環境設定

アプリケーション起動後、まず最初にTera Termの環境設定を行います。
以降はKeiganMotorとの接続を前提とした設定となりますので、目的に応じ以下設定は自由に変更ください。

1.シリアルポート設定

まずはシリアル送信・シリアル受信前のシリアルポート設定を行います。
対象と接続しているUSBポートを選択してください。
※以下図ではポート(P) COM6を選択しています

KeiganMotor と接続している場合、その接続している USBポートを選択して下さい。
続いて、ボー・レート(B)とフロー制御(F)を以下のように設定します。

《ボー・レートとフロー制御の設定》

ボー・レート(B):115200
フロー制御 (F):hardware

2.バイナリの送信設定・受信設定

バイナリを送信するためには、以下のフローで設定をしてください。

《バイナリの送信》

上部メニューの[設定] から [端末] を選択
[漢字-送信] のプルダウンメニューを[SJIS]に設定

《バイナリの受信》

上部メニューの[設定] から [端末] を選択
[漢字-送信] のプルダウンメニューを[SJIS]に設定

 

◆KeiganMotorとTera Termの前準備

ご利用のWindows PC と KeiganMotor を接続します。
詳しい接続方法はこちらを参照下さい。

※正常に接続できない場合

【1】ファームウェアアップデートを行う。
KeiganMotorのファームウェアを最新版へアップロードして下さい。
更新方法はこちらに詳細を記載しています。

【2】Windows 7 や Windows 10 でUSB接続ができない場合
別記事に対処方法をまとめています。
こちらの手順をお試し下さい。

【3】上記問題で解決できない場合
FAQサイトまたはお問合せフォームをご活用ください。
 ※ページ右下の「サポート」タブからも解決方法を検索できます。

◆マクロによる動作確認

Tera Term へバイナリ(バイト列)を送信する場合、手動では手間が掛かり大変なのでマクロ機能を使います。
マクロ機能は、上部メニューの[コントロール] > [マクロ] で読込み実行が可能です。

 

サンプルダウンロード

KeiganMotorで動作を行う場合に便利なサンプルをご用意しています。
以下をダウンロードして動作確認下さい。

 ■km-1_teraterm_demo_1.zip

モーターの速さ:1radian/second
モーターの動作:10秒正回転→10秒逆回転→停止

マクロの詳細は以下をご確認下さい。( ; 行はコメント文)

; KeiganMotor KM-1 Teraterm Macro Demo
; 速さを 1 radian/second に設定し、10秒正回転後、10秒逆回転し、停止します
send $51$00$00$00$00 ;enable()
send $58$00$01$3F$80$00$00$00$00 ;speed(1) //[rad/sec]
send $60$00$02$00$00 ;runForward()
send $92$00$03$00$00$27$10$00$00 ;wait(10000) //[msec]
send $61$00$04$00$00 ;runReverse()
send $92$00$05$00$00$27$10$00$00 ;wait(10000) //[msec]
send $6D$00$06$00$00 ;stop()

正常に動作しない場合は、シリアルポート設定、[漢字-送信] の設定を見直して下さい。
また、以下の16進数表示機能によりバイナリが正常に送信されているか確認が可能です。

◆Tera Term で16進数を表示する

KeiganMotor は、受信したバイナリ(バイト列)をそのまま送信します(エコー機能)。
※この機能は将来的により可読性の高いログ等に変更され廃止される可能性もありますが、参考になれば幸いです。

Tera Termは初期設定の場合、16進数をそのまま表示することができません。
そのため、以下の設定を行います。

1.TERATERM.INIを編集する

Tera Term をインストールしたフォルダのTERATERM.INI を編集します。
インストール時、デフォルトのCドライブを設定していた場合は以下に存在しますので、ご確認下さい。

>>C:\Program Files (x86)\teraterm

《変更前》

; Display all characters (debug mode)
Debug=off
; Debug mode type which can be selected by user.
; on|all = All types
; off|none = Disabled debug mode
; normal = usual teraterm debug mode
; hex = hex output
; noout = disable output completely
DebugModes=all
Debug    off → on
DebugModes all → hex

《変更後》

; Display all characters (debug mode)
Debug=on
; Debug mode type which can be selected by user.
; on|all = All types
; off|none = Disabled debug mode
; normal = usual teraterm debug mode
; hex = hex output
; noout = disable output completely
DebugModes=hex

変更後はTera Termを再起動してください。

 

2.Tera Termを再起動する

Tera Term を再起動した後、画面上でShift+Esc(シフトキーとエスケープキー)を同時押しすることによりHEX表示をONにします。
これによりTera Term に 16進数がログとして表示されます。

上記の demo_1 を実行した場合、ログは以下のようになることを確認して下さい。

◆最後に

今回サンプルコードで動作したKeiganMotorの詳細はyoutubeでも拝見いただけます。
こちらも是非ご覧ください。