最終更新 2015.12.1
28 pin のマイコンである。 親機と子機の間で双方向通信を行う。 > 使い方 子機は 1 --- Gnd 28 --- Vcc (2.3 V -- 3.6 V) の接続をするだけで動作する。 5 V には対応しない。3.3 V で動作させるため、 AC アダプタを使う場合は 3.3 V の三端子レギュレータが必要。 親機は上記に加えて 13 --- Gnd > 親機と子機の関係 親機が送信した信号は、全ての子機が受け取る。 子機(複数 OK)が送信した信号は、親機が受け取る。 > 端子配置 analog in 22 23 24 25 (a.ch.1-4) digital in 15 16 17 18 (d.ch.1-4) PWM out 4 6 7 11 (a.ch.1-4) digital out 5 8 9 12 (d.ch.1-4) UART out 10 UART in 3 UART speed 20 Open(115.2k) Gnd(38.4k) mode set M1(13) M2(26) M3(27) モード設定用端子は open/Gnd のどちらかにする 子機は 4 つのモードがある M3 M2 M1 O O O 連続送受信 O G G 連続受信 0.03 秒ごとに送信 G O O 間欠 1 秒 G G G 間欠 10 秒 PWM の周波数はオシロで見ると 1 kHz
COM ポートとして認識される。 親機としてふるまう < teraterm の設定 > 速度 115.2 k 改行コード 送信は cr + lf 受信は cr / cr+lf のどちらでも良い 子機が連続モードのとき、入力が変化したときと、 1 秒に1 回くらいの割合でデータを受信する 例 :7881150163810040FA781AC3000A531E0001FFFFFFFFFF07 : 先頭を表す 78 送信元デバイス id 78 は子機 連続モード 81 コマンド番号 81 は受信 15 パケット識別子 01 プロトコルバージョン 01 固定 63 受信電波品質 810040FA 相手の個体識別番号 TWE-Lite 製造時に設定される 変更不可 78 受信端末の論理デバイスID 78は子機連続モード 書籍では親機(00) となっているが、なぜか私が購入したものは 親機として動作しているにも拘らず 78 となる。 1AC3 タイムスタンプ 00 中継フラグ 01 : 中継 00 : 中継でない 0A53 送信機の電源電圧 1E 未使用 00 デジタル入力 順番は - - - - D4 D3 D2 D1 (0:5V 1:0V) 01 その状態変更 同上 変更があったなら 1 になる バグ? のためか、1 回でも変更したら、その bit は永遠に 1 になる FFFFFFFF アナログ入力 順番は A1 A2 A3 A4 FF その補正値 (2 bit × 4) 順番は ef4 ef3 ef2 ef1 電圧は ch.1 なら ( (A1 × 4 ) + ef1 ) × 4 [mV] 07 チェックサム < 設定変更 > +++ を入力すると設定モードに移行 親機 device id = 121 79h 子機 devide id = 120 78h S で再起動
https://mono-wireless.com/jp/products/TWE-APPS/LiteProg/index.html に接続して書き込み用アプリをダウンロードする。 TWE-Programmer.exe を実行する。 書き込むプログラムは以下にある。 https://mono-wireless.com/jp/products/TWE-APPS/App_Twelite/download.html ・UART 専用にする (1) 内蔵プログラムの書き換え TWE-Programmer.exe を起動する。 「接続再チェック」を押して、PC が TWE-Lite を 認識しているか否かを確認する。 背景色が薄赤色になっている場合は、 接続先を正しいポートに設定する。 認識できたら、薄青色になる。 App_Uart_Master_JN5164L1-0-6S_1_2_15.bin を書き込む。 (2) TeraTerm で接続して設定する ・通信の設定 接続してから以下のように設定する 設定 --- 端末 改行(送信) CR+LF 設定 -- シリアルポート ボーレート 115200 画面クリアしてから、TWE-Lite の RST ボタンを押す。 !INF TOCOS ..... という応答が返ってくる。 ・設定の変更 +++ と打つ。0.2 秒間隔くらいで打つ。 速すぎてもゆっくり過ぎてもいけない。 間隔が不適切だとインタラクティブモードに 入らない。極めて微妙。 Device ID --> 121 (0 を押す) 親機 1-100 子機 UART baud --> 9600 or 38400 (デフォルト) UART mode --> T に設定し直す。 S を押してセーブする。 (3) 動作チェック 私の場合は Raspberry Pi のシリアル出力に接続してチェックする。 9600 bps の場合、4 byte 送信すると、 受信波形は 1 バイト目とそれ以降が離れている。 38400 bps の場合、送信波形と受信波形は 4 バイト分くらいずれる。 オシロで観測する場合、時間のレンジによっては 受信波形を見落とす可能性があるのに注意。 (注意1) 上記の設定は TWE-Lite プログラマで、プログラムを再度書き込んでも、 デフォルトには戻らない。 一旦、透過モードに設定すると、こちらから何を打っても透過する。 +++ と打ってインタラクティブモードに入らない限り、全く反応がない ように見える。再度接続した場合の操作法は注意3を見ること (注意2) UART baud の設定は、20 番ピンを Gnd にした場合のみ 有効になる。デフォルトは 115200 になる。 また、USB から TeraTerm で接続するときも常に 115200 である。 (注意3) 一旦 UART 用プログラムを書き込んで、設定した TWE-Lite を 再設定する方法 1. TWE-Lite 用ソケットに TWE-Lite を差す 2. USB ケーブルをソケットに接続する。 3. TWE-Lite プログラマを起動する 4. TWE-Lite プログラマの「接続再チェック」をクリック 5.「TWE-Lite のリセット」をクリック(不要かも) 6. TeraTerm で接続し、以下のように操作 コントロール --- 端末リセット 編集 --- 画面クリア 設定 --- 端末 送信を CR + CF 設定 --- シリアルポート ボーレート 115200 8. TWE-Lite を差しているソケットのリセットスイッチを押す 9. TeraTerm +++ を押す(トントントンという感じで 0.2 秒間隔程度。かなり速く) かなりしつこく何回も試す
UART 通信ができないという現象に悩まされた。 原因は TWE-Lite の故障であった。 故障しているか否かのチェックは以下のように行う。 TWE-Lite プログラマを起動し、接続に成功してシリアル番号を 取得できるかチェックする。