2016年5月26日木曜日

小さいIchigoJam

小さなIchigoJam基板

USBキーボードアダプタと一緒に小さなIchigoJamの基板を作っていました。

初号機

キーボードアダプタと一緒にタブレットキーボードに組み込みました。






次は、以前無線コントロール化したR2-D2に組み込みたいです。そのためのモータードライバのパターンがいれてあります。

回路と基板レイアウト


回路図 モニタもつながります。レギュレータも搭載。

基板 オリジナルと同じ順でピンが出ています。
 



2016年5月24日火曜日

USBキーボードアダプタ V1

プリント基板が届きました。
先週末に届いて居たのですが、安定に動作させるのに少々手間取りました。

USBキーボードアダプタV1


目的

USBキーボードをPS/2信号に直してIchigoJamに接続するアダプタです。
IchigoJam以外でも使えるかもしれませんが、用途あるかな???

内容

FTDI社のVNC2チップにFirmwareを作成してプログラムしてあります。
パッケージは32ピンのQFPです。
このチップは、USBポートを2組持っていますが、1組のみを使っています。
基板にはUSB-Microコネクタのパターンが用意してありますので将来の機能追加も可能です。

回路



基板レイアウトと端子配置

プログラマコネクタの信号の並び順はプログラマのピン順と異なりますので信号名を参照して接続して下さい。

基板材料


水晶振動子           12MHZ  FA-238V 1個                              
C1            セラミックコンデンサ 1uF  1608
C2,C3,C4,C5,C8    セラミックコンデンサ 0.1uF 1608
C6,C7                          セラミックコンデンサ 20pF 1608
IC1                 VNC2-32PIN LQFP32
IC2                                XC6221B332MRなど    SOT23-5
U$3                           USB-Aコネクタ
U$4                  USB-MICRO-B 実装無し
U$5              USB-MICRO-B 実装無し
R1    チップ抵抗器 1Kオーム 1608
LED   SMT-LED 1608

(1608はチップ部品の外形寸法です。 1.6mm x 0.8mm です。)

接続

接続するために若干の追加部品が必要です。R3, R4は無しでも動いています。
+5Vは電源につないでください。左がキーボードアダプタで右側がIchigoJamです。


追加部品:2.2Kオーム抵抗 2個、10Kオーム抵抗2個、220μF10V電解コンデンサ1個、100uF 6.3V電解コンデンサ 1個   その他配線材料など
電解コンデンサの電圧は手持ちがあれば高めでも結構です。

 

現物写真

注意:USB-Aコネクタは1mmほど浮かせて取り付けてください。

完成:2.2KオームはSMT抵抗を裏側につけています。電解コンデンサは手持ちの都合で電圧が高めです。 
 
IchigoJamにつないでいます。キーボードをつなげば使えます。ハブも使えます。


タブレット用のコンパクトキーボードとバッテリーパックをつないでポータブルIchigoJamにまとめてみました。なかなか快適です。左に少し見えているのは、SMTパッケージのLPC1114で作ったIchigoJamです。IchigoJamのファームウエアはキーボードに合わせてUSA版を使っています。

ファームウエア

Firmwareは、改良中ですが現在のものはこちらからどうぞ。


2016年5月15日日曜日

IchigoJam Car/ MOV を作ってみた


NT京都で領布されていたIchigoJam Car/MOVを作ってみました。
MOVについてはこちらからどうぞ。 人気があって今は売り切れになっています。

IchigoJamにつきましては、こちらをご覧ください。

改造点

本家の説明書とすこし変えています。
  1. タイヤは大きい方で、キャスター(前輪)は低くしキャスター取り付けスペーサを18mmに高くしました。キャスターを低く作らないとラインセンサーが組み付けられないためです。
  2. モーターの配線を直付けでなく、コネクタをいれました。ピッチがあってませんが無理やり半田付けしています。
  3. 電池ボックスはお勧め品がなく手近で手に入ったものを基板に穴をあけて取り付けました。

外観写真

側面 右が前になります。 
18mmスペーサでキャスターを固定しました。
 電池ボックスが変わってます。
電線はIchigoTerm接続用です。

プログラムの方法の種類

さて、MOVのIchigoJam「mov-opt15」のプログラムには、次の方法があるようです。
  1. CN2にTVモニタとPS/2キーボードを繋ぐ。この場合接続ケーブルを別途自作する必要があります。多分既製品はないと思います。
  2. シリアル接続で(TXDとRXDを使って)PCにつなぐ。CN5を使いますが、手元になく、未実装です。USBシリアルアダプターが別途必要です。
  3. シリアル接続(TXDとRXD)で端末を繋ぐ。
2の方法というのは、PCを端末として使う方法でもあります。

今回作ってみた方法 IchigoTerm

PCを使わない方法として、Jamカーを買うような人なら既に持っているであろうIchigoJamを端末としてつないで、Jamカーのプログラムができるように考えてみました。

回路

IchigoJamのTxD, RxDとJamカーのTxD,RxDをクロス接続します。配線を延ばしたいため抵抗を追加します。難しく言えば送信端のインピーダンスマッチングと言います。


回路図

製作例

ご注意

抵抗はいれても、静電気とかで壊れる可能性があることは書いておきます。これからの梅雨の時期は大丈夫と思いますが、冬場にパチッとかをやりますと、多分壊れます。今の回路はその保護を行ってはいませんのでご承知の上でお使いください。

プログラム IchigoTerm

繋いで頂くとすぐわかりますが、このままではSyntax Errorの応酬になって使えません。そこでプログラムを用意しました。

http://pastebin.com/FAhzEbws

上のLINKに置いてあるプログラムを使います。端末側でエラー表示を無視するようになっています。

使い方

  1. 上の回路の接続ケーブルを使って端末につかうIchigoJamとJamカーを繋ぎます。まだ両方とも電源は切っておきます。
  2. IchigoJamの電源をいれてIchigoTermをRUNします。「デンゲンヲイレテクダサイ」的なメッセージが出ます。
  3. JamカーのスライドスイッチをPROG側にして電源をいれます。お馴染みのスタートメッセージとOKが出れば準備完了です。
  4. Jamカーのプログラムができる状態になっているので、プログラムしてください。
  5. 動作が確認できたら「SAVE 0」します。
  6. Jamカーの電源を一度切って、スライドスイッチをRUNにします。
  7. 電源をいれれば、プログラム通りに動くハズです。

余談 インピーダンスマッチングって何?

ケーブルに入れた抵抗器でインピーダンスマッチングと書きました。これが無いと何が起こるかを簡単に書いておきます。

配線を長くすると、信号はTxD端子を出て配線を伝わって走っていきます。RxDに到達したとき何が起こるのかというのが今回のお話です。

電線を走っていった信号はRxDにブツカル訳ですがこのときRxDが(電気的に)適度に柔らかいとそのまま入っていきますが、固かったり柔らかすぎると跳ね返ってしまうのです。この電気的柔らかさをインピーダンスと考えて頂ければよろしいかと思います。

同じ電気的柔らかさは電線にもあって抵抗値(単位はオーム)であらわされます。昔のTVのケーブルの50オームとか300オームというのがこれです。電線とTxDやRxD端子のインピーダンス(電気的柔らかさ)を近くして跳ねっ返りが起こらないようにすることをインピーダンスマッチングと言います。

マッチッグしないと何が起こるの?

 信号が跳ね返るとどうなるかというのが次の写真です。信号が跳ね上がっているのがお分かり頂けるでしょうか。この程度であれば、実害はあまりないのですが、信号が0V~VCCの範囲を超えることは信頼性の上から好ましくないですし、高速信号の場合は正常に動かなくなったりします。

インピーダンスマッチング無し(抵抗なし)の場合

抵抗をいれると信号波形が大人しくなっています。 今回は送信端でいれていますので「RxDで跳ね返った信号がTxDに戻ったところで、さらに跳ね返るのを止めている」ことになります。

インピーダンスマッチングあり(470オーム)の場合

以上



 




2016年5月11日水曜日

pomeraをヤフオクで買ってみた

ポメラ入手

ヤフオクでポメラ10をジャンクを落札しました。
キーボードを流用してIchigoJamにつなごうと思ったのです。良品を解体するのはもったい無いですからね。こういうのはジャンクに限ります。

出品者に依りますと、次のようなものでした。

ヤフオク

  1. ポメラ10のジャンク品
  2. ネトネトしてる。
  3. 一部のキーが反応しない。
  4. 前の持ち主がフタを開けていてしかもネジが紛失。
そのお蔭でとっても安く競られることもなくさい初めの値段でそのまま落札できました。
で、先日届いたのですが、まず関心したのがネトネトぶりです。接着剤の中に漬けたのではないかというネトネトぶりです。ゴム系の塗装がしてあるらしいですが、見事にゴム糊と化していました。

ネトネトをどうする?

そこで、取り出したのが  GOO GONE という洗剤です。 古くなったガムテープやステッカーの糊をきれいにしてくれるという優れものです。 これで、ふき取りゴム糊地獄を解消しました。

分解

次に分解ですが、まず誰でも考えるように、裏ブラのネジをすべて抜きます。電池ボックスの中に一個、ゴム足の下に各一個隠れていたのでこれも外しておきます。

次に次の写真の→部のピン2本を抜きます。打ち込んであるだけなので、引っこ抜きます。
するとこんな感じになります。


Uキーの下にフレキシブルケーブルが見えています。これが目的の部分です。
次に、青→のネジを2本抜きましたが、外れません。
恐る恐る、写真の位置にドライバーを差し込んでひねったら正解でパチンと何かが
外れました。写真の位置から始めて左右に浮かしていくと、折りたたみキーが外れてくれました。

修理

既に見えていたフレキの折れ目がまっすぐになるように、プラスチック板を両面テープで張り付けて元に戻しました。

つまり、ケーブルが折れるように曲がることで回路断線していたようです。まっすぐにしたので接触してつながったのですね。可動部分に印刷導体使っているようなので、まあ断線しても不思議はないよねえ。

まとめ

それはともかく、これで直ってしまったので、キーボード流用がやりにくくなってしまいました。
しばらくポメラとして使ってみたいと思います。
この修理でどれくらい使えるか楽しみでもあります。

2016年5月10日火曜日

IchigoJam用USBキーボード PS/2接続

さて、USBキーボードをこどもパソコン, IchigoJamにつなぐためのアダプタが少し進化しました。

USBキーボードをPS/2のホストにつなぐという酔狂なアダプタになっています。逆は市販品もあるのですが、こちらは売ってはいないようですね。

前回からの変更点:

  1. 汎用IOポート2本を使ってPS/2キーボードをエミュレートしました。
  2. USBキーボードからの信号(usage code)をPS/2のコード(Scan code)に変換したうえで出力します。
  3. ホスト(IchigoJam)からのコントロールコードを受け取って(Ack)を返します。受け取ったら(ACK)正常応答を返すだけで何もしません。

以上で一応動くようになりました。プラグアンドプレイ出来ていますし、ハブ経由でも認識しています。
想定ホストがIchigoJam限定なので設定は決め打ちにして手抜き制御にしています。もう少しきちんと対応してもあまり手間はかからない筈なので時間が出来たら直します。(多分)
使っているのは、FTDI社のVNC2というコントローラです。VOSという無償のRTOSを使っていますが、なかなか使いやすいです。12MHzのクロックの割には遅く感じますが、今のところ不足はありません。無駄に速いと電力消費が増えますのでこれで良いでしょう。

今後の予定:

  1. 基板を発注しました。試作用の形態ですが、ブレッドボード無しで使える筈です。うまくできたら、タブレット用バインダー型キーボード(USB)にIchigoJamとLCDモニタ、バッテリを組み合わせてみたい。
  2. Typematic(キーボードの長押しで連続入力するアレ)未対応なので直したい。
  3. ローマ字カナ入力のキーが未処理なので直したい。
  4. 余裕があれば、手抜きを修正して普通のPCでも試してみたい。(使い道ないけど)
手抜き版ではありますが、書き込み用ソフトはここからどうぞ。

IchigoJamについては、こちらをご覧ください。

2016年5月2日月曜日

IchigoJam用USBキーボードアダプタ Firmware update


みなさんGWは如何お過ごしでしょうか。
普段できないことを色々片づけていますが、今日は半日時間をとってFirmwareのUpdateを行いました。回路は同じですので先月の投稿をご覧ください。

変更点:

1.英語版のキー配列に対応。
2.FirmwareのUpdateができるようにした。

簡単な説明


1.Control-Alt-2とキーを押下することで、英語キーボートとJISキーボードの切り替えができます。本来はIchigoJamの機能なのですがRxDに接続しているためキーボードアダプタで対応する必要があります。

2.USBメモリに更新プログラムを書き込んでアダプタに差し込んで、キーボードでControl-Alt-ESCとタイプするとアダプタのFirmwareを更新できるようにしました。将来のUpdate用の機能です。

今後の予定(希望です)


PS/2コネクタへの接続を考えたいと思っています。 現在はRXDを使ってしまいますが他に使いたくなることもありそうなので、キーボードはキーボードコネクタにつなぎたいものです。

出来上がったfirmwareはこちらからどうぞ。