ポケコン(PC-G850)用小型シリアルケーブルの作成(その4)ケースの検討2 [ポケコン]
前回の記事の末尾の結論で書いたように今回作成した PC-G850(以降、ポケコンと記す)用の USB シリアル変換のケースを透明の PETG フィラメントを使って FDM 方式の3Dプリンタで出力してみました。
前回の記事では側面に小さな文字を刻印していましたが、FDM 方式では流石にあの大きさの文字は出力できないので側面の刻印は消して表面にロゴを入れてみました。CAD での設計画面が下図で、USB メモリのような形状でポケコンのケースを本体の背面に付けた状態でも装着できるように考慮した形状にしています。
出力したケースにプリント基板を入れた状態が下の写真です。3Dプリンタで出力後、透明塗料塗布等の後処理はしていませんがそれなりに透明感はありますね。左側に付いているのが USB コネクタ(Mini-B)です。ピンヘッダのガイドはグレーの PETG フィラメントを使って出力しました。
USB コネクタの反対側は下図のように平らになっています。
ピンヘッダと反対側の表面が下の写真です。表面に付けたロゴは写真では良く見えませんが目視では光の当て方によっては良く見えます。
記録として USB コネクタと逆側の面の写真も付けておきます。右端に USB コネクタの金属部分が見えますね。
下図は白い紙をバックにして撮った写真で、ロゴはこっちの方が見え易いですね。
通信時の Tx/Rx 信号のモニタ用の LED の点灯具合が判るように動画撮影したものを Twitter に投稿しましたので貼っておきます。
★追記 2024/01/16
BOOTH でポケコン(PC-G850)用USBシリアル変換器の名称で配布することにしました。
★追記 2024/02/06
部品実装済みの基板の写真を貼っておきます。
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
前回の記事では側面に小さな文字を刻印していましたが、FDM 方式では流石にあの大きさの文字は出力できないので側面の刻印は消して表面にロゴを入れてみました。CAD での設計画面が下図で、USB メモリのような形状でポケコンのケースを本体の背面に付けた状態でも装着できるように考慮した形状にしています。
ポケコン用 USB シリアル変換のケース(CAD画面) |
|
出力したケースにプリント基板を入れた状態が下の写真です。3Dプリンタで出力後、透明塗料塗布等の後処理はしていませんがそれなりに透明感はありますね。左側に付いているのが USB コネクタ(Mini-B)です。ピンヘッダのガイドはグレーの PETG フィラメントを使って出力しました。
ポケコン用 USB シリアル変換(その1) |
|
USB コネクタの反対側は下図のように平らになっています。
ポケコン用 USB シリアル変換(その2) |
|
ピンヘッダと反対側の表面が下の写真です。表面に付けたロゴは写真では良く見えませんが目視では光の当て方によっては良く見えます。
ポケコン用 USB シリアル変換(その3) |
|
記録として USB コネクタと逆側の面の写真も付けておきます。右端に USB コネクタの金属部分が見えますね。
ポケコン用 USB シリアル変換(その4) |
|
下図は白い紙をバックにして撮った写真で、ロゴはこっちの方が見え易いですね。
ポケコン用 USB シリアル変換(その5) |
|
通信時の Tx/Rx 信号のモニタ用の LED の点灯具合が判るように動画撮影したものを Twitter に投稿しましたので貼っておきます。
ポケコン(PC-G850)用シリアルI/Fの修正基板が届いたので部品実装し正常動作を確認完了
— skyriver (@wcinp) December 26, 2023
ケースを透明のPETGフィラメントを使って作成
少し暗めに設計したRx/Tx信号モニタ用のLEDの点灯状態もケース越しに見えました^^
詳細は下記URL参照https://t.co/cC6knjJ4Zp#ポケコン #PCG850 #シリアルケーブル pic.twitter.com/QEKMQ1Tlf2
★追記 2024/01/16
BOOTH でポケコン(PC-G850)用USBシリアル変換器の名称で配布することにしました。
★追記 2024/02/06
部品実装済みの基板の写真を貼っておきます。
USBシリアル基板(部品面) |
|
USBシリアル基板(コネクタ面) |
|
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
ポケコン(PC-G850)用小型シリアルケーブルの作成(その3)ケースの検討 [ポケコン]
前回の記事に追記したように届いたプリント基板は今回新規作成したフットプリントのピン番号のアサインに誤りがあったことから修正版を製造依頼中です。修正したプリント基板が届くまで時間が掛かることから前回の基板を使ってケースを検討してみました。
折角プリント基板にして小型化したのでなるべく小さくまとめたいところですが、今回はPC-G850(以降、ポケコンと記す)の下側にカバーを付けた状態でも接続できるように考慮します。
プリント基板の3Dデータを DesignSparkPCB から取り込み、更に初回の記事で書いたピンヘッダガイドの STL ファイルも取り込んでサイズ合せしながら設計したものが下図になります。ポケコンに接続した際に上側になる部分にはロゴマークと文字を入れてみました。
下図は USB ピンヘッダ側のキャップを外した状態でキャップです。
キャップの固定はネジは使わずはめ込み式で下図のように上下の爪で固定するようにしています。
ケース上面に付けた文字のサイズが小さいので 0.4mm のノズルの FDM 方式の3Dプリンタでは出力が難しいと思います。また、FDM 方式のプリンタで出力すると外観が如何にも試作風なので今回は久々に SLA 方式の3Dプリンタでケース作成にチャレンジしてみたいと思います。
始めに PETG フィラメントを使って FDM 方式の3Dプリンタで試し印刷をしてみました。下図は側面の写真です。形状が単純なので FDM 方式でも結構綺麗に仕上がっていますね。PETG フィラメントを使用したので強度的にも問題無さそうです。
下図はピンヘッダ面になります。USB コネクタ及びピンガイド部分も問題無いですね。
下図は SLA 方式でのスライシングソフトである CHITUBOX でスライスする際の画面です。 SLA 方式のスライスではこのような形状のものは斜めにしてスライスするのが一般的ですが、今回はケース面を直接プラットフォーム面においてサポート無しの状態で造形しました。
基板にはシリアルデータ送受信状態のモニタ用の LED も実装しているので透明のレジンを使用しました。下図が出力結果です。通常の透明レジンを使用しているので白く濁っている感じですね。
下図はピンヘッダ面です。透明度はそれほど高くなく、プリント基板のシルク印刷文字が読めない状態です。
クレオの Mr.COLOR UV Cut 光沢(GX112) をエアブラシで吹き付けた後の写真が下図です。若干透明度は高くなっていますがあまり変化ないですね^^;
何度か重ね塗りすればもっと透明度が上がると思います。文字の刻印を入れているのでコンパウンド等では磨き辛いです。
下図がピンヘッダ面です。プリント基板上の文字も相変わらず読めない状態です。
気になる刻印部分の写真が下図です。写真では文字が読みづらいですが、目視ではちゃんと読めます。流石 SLA 方式ですね。
試しに JLCPCB さんの 3D Printing サービスで本ケースの STL ファイル(キャップと本体)で価格を確認したところ送料を含めない価格が
【結論】
SLA 方式の3Dプリンタで透明レジンを使ったケースの作成について検討してきましたが、手間が掛かった割には思ったようにきれいに仕上がらず、透明度も低い状態でした。またレジンではケースとしての強度も物足りない様に感じます。もっと高価な透明度の高いレジンや ABS ライクなレジンを使えば違う結果が得られる可能性はありますが、なるべく安く仕上げたいのです。
これらのことから今回開発中の USB シリアル変換のケースは透明のフィラメントを使って FDM 方式の3Dプリンタで作りたいと思います。今回のような「プリント基板上の LED の状態が見えるようにする」という条件が無ければ異なる結論になるかもしれません。
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
折角プリント基板にして小型化したのでなるべく小さくまとめたいところですが、今回はPC-G850(以降、ポケコンと記す)の下側にカバーを付けた状態でも接続できるように考慮します。
プリント基板の3Dデータを DesignSparkPCB から取り込み、更に初回の記事で書いたピンヘッダガイドの STL ファイルも取り込んでサイズ合せしながら設計したものが下図になります。ポケコンに接続した際に上側になる部分にはロゴマークと文字を入れてみました。
USBシリアル変換ケース1(CAD画面) |
|
下図は USB ピンヘッダ側のキャップを外した状態でキャップです。
USBシリアル変換ケース2(CAD画面) |
|
キャップの固定はネジは使わずはめ込み式で下図のように上下の爪で固定するようにしています。
USBシリアル変換ケース3(CAD画面) |
|
ケース上面に付けた文字のサイズが小さいので 0.4mm のノズルの FDM 方式の3Dプリンタでは出力が難しいと思います。また、FDM 方式のプリンタで出力すると外観が如何にも試作風なので今回は久々に SLA 方式の3Dプリンタでケース作成にチャレンジしてみたいと思います。
始めに PETG フィラメントを使って FDM 方式の3Dプリンタで試し印刷をしてみました。下図は側面の写真です。形状が単純なので FDM 方式でも結構綺麗に仕上がっていますね。PETG フィラメントを使用したので強度的にも問題無さそうです。
FDM 方式での試し印刷(側面) |
|
下図はピンヘッダ面になります。USB コネクタ及びピンガイド部分も問題無いですね。
FDM 方式での試し印刷(ピンヘッダ面) |
|
下図は SLA 方式でのスライシングソフトである CHITUBOX でスライスする際の画面です。 SLA 方式のスライスではこのような形状のものは斜めにしてスライスするのが一般的ですが、今回はケース面を直接プラットフォーム面においてサポート無しの状態で造形しました。
SLA 方式でのスライシング |
|
基板にはシリアルデータ送受信状態のモニタ用の LED も実装しているので透明のレジンを使用しました。下図が出力結果です。通常の透明レジンを使用しているので白く濁っている感じですね。
SLA 方式での試し印刷(側面) |
|
下図はピンヘッダ面です。透明度はそれほど高くなく、プリント基板のシルク印刷文字が読めない状態です。
SLA 方式での試し印刷(ピンヘッダ面) |
|
クレオの Mr.COLOR UV Cut 光沢(GX112) をエアブラシで吹き付けた後の写真が下図です。若干透明度は高くなっていますがあまり変化ないですね^^;
何度か重ね塗りすればもっと透明度が上がると思います。文字の刻印を入れているのでコンパウンド等では磨き辛いです。
UV コーティング後 SLA 方式での出力(側面) |
|
下図がピンヘッダ面です。プリント基板上の文字も相変わらず読めない状態です。
UV コーティング後 SLA 方式での出力(ピンヘッダ面) |
|
気になる刻印部分の写真が下図です。写真では文字が読みづらいですが、目視ではちゃんと読めます。流石 SLA 方式ですね。
UV コーティング後の刻印部分 |
|
試しに JLCPCB さんの 3D Printing サービスで本ケースの STL ファイル(キャップと本体)で価格を確認したところ送料を含めない価格が
- White(LEDO 6060 Resin)
$0.60 / 1個
- Transparent(8001 Resin) Serface Finish:Yes
$4.02 / 1個
【結論】
SLA 方式の3Dプリンタで透明レジンを使ったケースの作成について検討してきましたが、手間が掛かった割には思ったようにきれいに仕上がらず、透明度も低い状態でした。またレジンではケースとしての強度も物足りない様に感じます。もっと高価な透明度の高いレジンや ABS ライクなレジンを使えば違う結果が得られる可能性はありますが、なるべく安く仕上げたいのです。
これらのことから今回開発中の USB シリアル変換のケースは透明のフィラメントを使って FDM 方式の3Dプリンタで作りたいと思います。今回のような「プリント基板上の LED の状態が見えるようにする」という条件が無ければ異なる結論になるかもしれません。
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
ポケコン(PC-G850)用小型シリアルケーブルの作成(その2) [ポケコン]
前回の記事の最後に追記したように USB シリアル変換用のチップも搭載した PC-G850(以降、ポケコンと記す)用のシリアルケーブル作成に興味が沸いてきたので検討してみました。
まずは変換チップを選定ですが、秋月さんで販売しているものの中から 10ピンで MSOP パッケージの CH340E を使ってみることにしました。
選択理由は
下図が今回作成した回路です。CH340 を使ったポケコン用の回路をネットで探しましたが直ぐには見つからなかったのでデータシートに記載されている回路を参考にして作りました。送受信モニタ用の LED も付けました。インバータでは無く NAND を使ったのは、秋月さん価格が NAND の方が安かったからです。前回の検討内容も反映して、IC への給電は USB 側から行うようにしました。
★追記 2023/12/29 {
ポケコンに装着していない状態では2カ所で NAND ゲートの入力が解放状態になりますが使用している TC74AC00FT では入力部に静電破壊から素子を保護するダイオードが付加されています。
}
下図がグランドベタ化前のパターンです。青がボトム面、赤がトップ面になります。緑色の部分はグランドです。
下図がグランドベタ化後のボトム面のパターンです。緑の部分はグランドです。右端が USB Mini-Bコネクタで左端が送受信モニタ用の LDE です。ポケコンに実装した状態では LED が手前側になります。
グランドベタ化後のトップ面のパターンが下図になります。ピンヘッダの下に空き地がありますが、ここに製造番号の記載を誘導しています。
下図は3D表示したボトム面で部品数は少ないのですが SMD ディバイスを全てボトム面に実装したので少し込み入っています。
トップ面の3D表示が下図です。実装部品はピンヘッダのみなのでスカスカです。
★追記 2023/12/07
今回は CH340E のフットプリントを自前で作成したのでプリントアウトしたパターンと実物を突合してみました。問題無さそうですね。プリント基板を製造依頼しようと思います。
★追記 2023/12/18
プリント基板が出来上がったので部品実装し、確認のために撮影した写真が下図です。0.5mm ピッチの CH340E の半田付けも上手く出来ているようです。
動作確認した結果、残念ながら動作しませんでしたorz
今回新規に作成した 74HC00 のフットプリントでピン番号のアサインが間違っている箇所があり、修正して製造依頼しました。
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
まずは変換チップを選定ですが、秋月さんで販売しているものの中から 10ピンで MSOP パッケージの CH340E を使ってみることにしました。
選択理由は
- ピン数が少なく、RTS/,CTS/信号に対応している
- 値段が他の物より安い
- 他の物より小型のパッケージである(ピン間隔が 0.5mm)
下図が今回作成した回路です。CH340 を使ったポケコン用の回路をネットで探しましたが直ぐには見つからなかったのでデータシートに記載されている回路を参考にして作りました。送受信モニタ用の LED も付けました。インバータでは無く NAND を使ったのは、秋月さん価格が NAND の方が安かったからです。前回の検討内容も反映して、IC への給電は USB 側から行うようにしました。
USBシリアル変換チップ使用の回路 |
|
★追記 2023/12/29 {
ポケコンに装着していない状態では2カ所で NAND ゲートの入力が解放状態になりますが使用している TC74AC00FT では入力部に静電破壊から素子を保護するダイオードが付加されています。
}
下図がグランドベタ化前のパターンです。青がボトム面、赤がトップ面になります。緑色の部分はグランドです。
USBシリアル変換基板パターン(グランドベタ化前) |
|
下図がグランドベタ化後のボトム面のパターンです。緑の部分はグランドです。右端が USB Mini-Bコネクタで左端が送受信モニタ用の LDE です。ポケコンに実装した状態では LED が手前側になります。
USBシリアル変換基板パターン(ボトム面) |
|
グランドベタ化後のトップ面のパターンが下図になります。ピンヘッダの下に空き地がありますが、ここに製造番号の記載を誘導しています。
USBシリアル変換基板パターン(トップ面) |
|
下図は3D表示したボトム面で部品数は少ないのですが SMD ディバイスを全てボトム面に実装したので少し込み入っています。
USBシリアル変換基板の3D表示(ボトム面) |
|
トップ面の3D表示が下図です。実装部品はピンヘッダのみなのでスカスカです。
USBシリアル変換基板の3D表示(トップ面) |
|
★追記 2023/12/07
今回は CH340E のフットプリントを自前で作成したのでプリントアウトしたパターンと実物を突合してみました。問題無さそうですね。プリント基板を製造依頼しようと思います。
フットプリントのチェック |
|
★追記 2023/12/18
プリント基板が出来上がったので部品実装し、確認のために撮影した写真が下図です。0.5mm ピッチの CH340E の半田付けも上手く出来ているようです。
部品実装後の確認写真 |
|
動作確認した結果、残念ながら動作しませんでしたorz
今回新規に作成した 74HC00 のフットプリントでピン番号のアサインが間違っている箇所があり、修正して製造依頼しました。
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
ポケコン(PC-G850)用小型シリアルケーブルの作成 [ポケコン]
「ポケコン(PC-G850V)の購入」の記事でパソコンの USB に接続するシリアルケーブルの作成について書きましたが、これをご覧になられた Old68fun さんのブログ記事の「PC-G850V用USB-シリアルケーブルの作成」でケーブル一体型の USB シリアルケーブルでも信号の極性をカスタマイズできる FTDI 社のチップを使用したものがあることを知り、手持ちのケーブル(下図)を確認してみましたが駄目でしたorz
このケーブルはかなり前に AliExpress さんで数百円で購入したものです。今使っている USB シリアル変換はポケコン購入時に作ったものでサイズも大きいし、丁度半田付けしてみたい気分だったので汎用基板と表面実装部品を使って小型のポケコン用シリアルケーブルを作ることにしました。
表面実装部品を使うのでハーフピッチの汎用基板を使う予定でしたが、ピンヘッダのピンが入らないことから 2.54 mm ピッチの通常の汎用基板を使うことになりました。
ネットではシャープ製ポケコンの周辺機器接続端子用のガイド付きピンヘッダを時々見かけますが、ガイド部分も3Dプリンタで自作します。
表面実装部品以外で必要な部品は下図になります(写真のピンガイドは前のバージョンなので突起部分が短い)。このような細長い形状の基板のカットは億劫でしたが「ミニテーブルソーの購入」の記事で書いたミニテーブルソーがあるので気軽に基板をカットできるようになりました。
下図が最初に作った回路図です。トランジスタを使って送受信の信号を反転しています。ポケコン側の CTS はポケコンの RTS を折り返すようにしました。
しかし、ポケコンに接続してみると、モニタのWコマンドでヘキサデータを保存しようとしてもまったく出力されない状態でした。
ポケコンのシリアル通信時の波形例をネットで探しましたが中々いい例が見つからなかったのでロジアナで確かめてみました。
ポケコンの周辺機器接続端子の信号をロジアナで観測したものが下図で CTS 信号を 10K の抵抗で Vcc に接続した瞬間にシリアルデータが出力されました。モニタから「W100,100」を実行した際の波形です。
Wコマンドでのヘキサデータ送信時は送信のみなので RTS(送信要求) 信号がアクティブにならず、このために CTS(送信許可) 信号がアクティブにならないことが原因で送信できなかったことが判りました。これは flow 制御設定が"RS/CS"でも"none"でも同様でした。このため下図の回路のように CTS をシリアルケーブル側の Vcc にプルアップすることにしました。
この変更を行った後に PC-G850 と PC-G850V で確認した結果、問題無く送受信できるようになりました。
待機時に SD, RD 共に low レベルなので消費電流を下げるという意味では下図のようにトランジスタを入れ替えた方がいいですね^^;
コレクタ抵抗も 10K に変更しました。配線し直そうかとも思いましたがピンヘッダのピン部分に直付けのトランジスタ等があるので止めましたw
配線した基板の写真も貼っておきます。フラッシュを焚いた写真では特に半田付けした基板が小汚く写ってしまいますが、裸眼で目視するともう少し綺麗ですw
「ワイヤリングペンの作成」の記事で書いた自作のワイヤリングペンを使ってウレタン線で配線しました。通常ピッチの汎用基板なのでトランジスタを傾けて半田付けしています。
下図は横から見た写真です。ピンヘッダのガイドもいい感じですね。ピンガイドの直下に半田付け箇所を作ってしまったのでガイドが少し浮いていますが、ガイド自体がかなりきつめなのでずれることは無いと思います。
基板が完成したのでCADでケースを設計しました。ネジを使わないはめ込み式です。
3Dプリンタで出力したケースに入れるとそれなりに見えますね。万が一、ケーブルを引っ掛けた時に直ぐ抜けるようにケーブルとの接続はピンヘッダに刺しただけにしておきました。
ピン側と同様にピンの逆側も3Dプリンタのベッド面なのでツルツルしています。ポケコンの曲面に合わせた形状にするとカッコ良さそうですが、素朴な直方体型のデザインにしています。
今回作成した USB シリアルケーブル部の拡大写真です。写真だと黒くて良く見えませんが想定通りコンパクトに仕上がりました。
増設メモリボード(EborsyEEP:右側)と今回作成したシリアルケーブル(左側)をポケコンに装着するとこのようになります。
★追記 2023/11/25
低消費電流化への配線変更を行っていないのでパターン設計してみました。プリント基板ではもう少し小さくできそうでしたがこれ以上小さくてもあまりメリットが無いこと及びケースをそのまま使いことから上記の汎用基板で作成したものと同じサイズにしました。
今回は汎用基板で作成したものをそのまま使う予定でしたが、プリント基板の製造が5百円程度でできるようになったので試作品からプリント基板化する人も多いようですね。
★追記 2023/11/26
電源をオフしたまま接続した場合を考慮するとトランジスタへの給電は入力側が行った方が良いので改善した回路図を貼っておきます。
★追記 2023/12/03
プリント基板が届いたのでトランジスタ(Q2)のエミッタのパターンをカットして USB 側の Vcc に接続して実験しました。USB 側の Tx 信号が下図のように 3.5V 程度しかないためトランジスタ(Q2)が常にオン状態になってしまい PC ⇒ G850 の通信ができない状態でした。
対策として Q2 を下図のように NPN 型トランジスタに変更し、グランドを基準電圧にすることにします。
また、これ以外にポケコンを裏返したケースに入れて使う場合、今のシリアルのケースでは奥行き方向に長くてつかえてしまうという問題があることが判りました(私はポケコンを使用する時はケースに入れないので直ぐには気が付かなかった)。
上記の修正回路でサイズ変更もしてプリント基板化するかは考え中です。
★追記 2023/12/05
部品実装後の基板の写真も貼っておきます。トップ面にはピンヘッダのみの実装にしています。その他のパーツはボトム面に実装し、 SMD 実装面が片面なので部品実装作業が楽です。
ボトム面には SMD 部品とシリアルケーブル接続用のピンヘッダが実装されています。
結構小型に仕上がりましたね。でもUSB シリアル変換チップを実装し、かつもっと小さくできると思います。ちょっと気になるので設計してプリント基板化してみようかなぁ
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
以前購入した手持ちの USB シリアルケーブル |
|
このケーブルはかなり前に AliExpress さんで数百円で購入したものです。今使っている USB シリアル変換はポケコン購入時に作ったものでサイズも大きいし、丁度半田付けしてみたい気分だったので汎用基板と表面実装部品を使って小型のポケコン用シリアルケーブルを作ることにしました。
表面実装部品を使うのでハーフピッチの汎用基板を使う予定でしたが、ピンヘッダのピンが入らないことから 2.54 mm ピッチの通常の汎用基板を使うことになりました。
ネットではシャープ製ポケコンの周辺機器接続端子用のガイド付きピンヘッダを時々見かけますが、ガイド部分も3Dプリンタで自作します。
周辺機器接続端子用ピンヘッダのガイド部品 |
|
表面実装部品以外で必要な部品は下図になります(写真のピンガイドは前のバージョンなので突起部分が短い)。このような細長い形状の基板のカットは億劫でしたが「ミニテーブルソーの購入」の記事で書いたミニテーブルソーがあるので気軽に基板をカットできるようになりました。
USB シリアルケーブル用部品(表面実装部品以外) |
|
下図が最初に作った回路図です。トランジスタを使って送受信の信号を反転しています。ポケコン側の CTS はポケコンの RTS を折り返すようにしました。
最初に考えた回路図 |
|
しかし、ポケコンに接続してみると、モニタのWコマンドでヘキサデータを保存しようとしてもまったく出力されない状態でした。
ポケコンのシリアル通信時の波形例をネットで探しましたが中々いい例が見つからなかったのでロジアナで確かめてみました。
ポケコンの周辺機器接続端子の信号をロジアナで観測したものが下図で CTS 信号を 10K の抵抗で Vcc に接続した瞬間にシリアルデータが出力されました。モニタから「W100,100」を実行した際の波形です。
ポケコン側の送信波形 |
|
Wコマンドでのヘキサデータ送信時は送信のみなので RTS(送信要求) 信号がアクティブにならず、このために CTS(送信許可) 信号がアクティブにならないことが原因で送信できなかったことが判りました。これは flow 制御設定が"RS/CS"でも"none"でも同様でした。このため下図の回路のように CTS をシリアルケーブル側の Vcc にプルアップすることにしました。
この変更を行った後に PC-G850 と PC-G850V で確認した結果、問題無く送受信できるようになりました。
CTS 入力を修正した回路図 |
|
待機時に SD, RD 共に low レベルなので消費電流を下げるという意味では下図のようにトランジスタを入れ替えた方がいいですね^^;
コレクタ抵抗も 10K に変更しました。配線し直そうかとも思いましたがピンヘッダのピン部分に直付けのトランジスタ等があるので止めましたw
低消費電流の回路 |
|
配線した基板の写真も貼っておきます。フラッシュを焚いた写真では特に半田付けした基板が小汚く写ってしまいますが、裸眼で目視するともう少し綺麗ですw
「ワイヤリングペンの作成」の記事で書いた自作のワイヤリングペンを使ってウレタン線で配線しました。通常ピッチの汎用基板なのでトランジスタを傾けて半田付けしています。
作成した基板(ボトム) |
|
下図は横から見た写真です。ピンヘッダのガイドもいい感じですね。ピンガイドの直下に半田付け箇所を作ってしまったのでガイドが少し浮いていますが、ガイド自体がかなりきつめなのでずれることは無いと思います。
作成した基板(サイド) |
|
基板が完成したのでCADでケースを設計しました。ネジを使わないはめ込み式です。
ケース設計(CAD画面) |
|
3Dプリンタで出力したケースに入れるとそれなりに見えますね。万が一、ケーブルを引っ掛けた時に直ぐ抜けるようにケーブルとの接続はピンヘッダに刺しただけにしておきました。
ケース格納後(その1) |
|
ピン側と同様にピンの逆側も3Dプリンタのベッド面なのでツルツルしています。ポケコンの曲面に合わせた形状にするとカッコ良さそうですが、素朴な直方体型のデザインにしています。
ケース格納後(その2) |
|
今回作成した USB シリアルケーブル部の拡大写真です。写真だと黒くて良く見えませんが想定通りコンパクトに仕上がりました。
シリアルケーブル部のズーム |
|
増設メモリボード(EborsyEEP:右側)と今回作成したシリアルケーブル(左側)をポケコンに装着するとこのようになります。
ポケコンに装着したシリアルケーブル |
|
★追記 2023/11/25
低消費電流化への配線変更を行っていないのでパターン設計してみました。プリント基板ではもう少し小さくできそうでしたがこれ以上小さくてもあまりメリットが無いこと及びケースをそのまま使いことから上記の汎用基板で作成したものと同じサイズにしました。
今回は汎用基板で作成したものをそのまま使う予定でしたが、プリント基板の製造が5百円程度でできるようになったので試作品からプリント基板化する人も多いようですね。
PCB パターン(両面:グランドベタ化前) |
|
PCB パターン(トップ面) |
|
PCB パターン(ボトム面) |
|
★追記 2023/11/26
電源をオフしたまま接続した場合を考慮するとトランジスタへの給電は入力側が行った方が良いので改善した回路図を貼っておきます。
トランジスタへの給電部を改善した回路 |
|
★追記 2023/12/03
プリント基板が届いたのでトランジスタ(Q2)のエミッタのパターンをカットして USB 側の Vcc に接続して実験しました。USB 側の Tx 信号が下図のように 3.5V 程度しかないためトランジスタ(Q2)が常にオン状態になってしまい PC ⇒ G850 の通信ができない状態でした。
USB 側のTx信号 |
|
対策として Q2 を下図のように NPN 型トランジスタに変更し、グランドを基準電圧にすることにします。
対策後の回路 |
|
また、これ以外にポケコンを裏返したケースに入れて使う場合、今のシリアルのケースでは奥行き方向に長くてつかえてしまうという問題があることが判りました(私はポケコンを使用する時はケースに入れないので直ぐには気が付かなかった)。
上記の修正回路でサイズ変更もしてプリント基板化するかは考え中です。
★追記 2023/12/05
部品実装後の基板の写真も貼っておきます。トップ面にはピンヘッダのみの実装にしています。その他のパーツはボトム面に実装し、 SMD 実装面が片面なので部品実装作業が楽です。
部品実装後の基板(トップ面) |
|
ボトム面には SMD 部品とシリアルケーブル接続用のピンヘッダが実装されています。
部品実装後の基板(ボトム面) |
|
結構小型に仕上がりましたね。でもUSB シリアル変換チップを実装し、かつもっと小さくできると思います。ちょっと気になるので設計してプリント基板化してみようかなぁ
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
ポケコン(G850)用拡張ボード(EborsyEEP)でCP/M(その10)エスケープシーケンス対応 [ポケコン]
今回開発した PC-G850V(以降ポケコンと記す)で CP/M を動かすことが出来る増設メモリボード(EborsyEEP)をBOOTHで配布した際の反応等からフルキーを実装した手のひらサイズの Z80 コンピュータであるポケコンの魅力を改めて痛感しました。
しかし、現状のままでは CP/M は動くものの結局はパソコンに接続しないと使い辛い状況であると言わざるを得ません。
ポケコン単体では使い辛いと感じる主要な原因の一つとして「手軽に使えるエディタが無い」ということがあると思います。OS を CUI ベースで使うとなると最低限、スクリーンエディタが必要ですよね。
そこで次の改善を行うことにしました。
上記の対応でポケコン単体での CP/M の使い勝手がかなり改善されたのではないかと思います。実際に実装した機能について以下に簡単にまとめます。
参考として Turbo Pascal 3.0 の TINST でのスクリーン設定例を貼っておきます。一度設定した項目は対応無しに戻せないようなので、最初に「None of above」を選択して必要な項目のみ設定しました。下記は一度設定後に設定内容確認のために設定画面を開いた際の画面です。Highlight command は LCD 表示で見易いように逆に設定しています。
上記の説明に対応した評価版の GOCPM.HEX 及び SKE.COM を下記のリンクからダウンロードできます。
Twitter(X)に投稿した動画付きメッセージを貼っておきます。
展開先のアドレスはディフォルトでは GAME言語のソース格納領域のディフォルト値である 0x8e00 に展開します。/Aオプションで展開先のメモリアドレスを指定できます。
ディフォルトのアドレスに展開した場合、GAMEインタープリタがコールドスタートした時点でソースの先頭が 0xff に書き換えられるので下に示す操作例のようにおまじないが必要です。
展開先アドレスを指定した場合は次のような操作になります。
下記からダウンロードできます。
指定したファイル名に拡張子が無い場合、.GAM に自動設定するようにしました。
また、同類ソフトのセーブコマンドである gsave も作成しました。GAME インタープリタを終了(>=0 実行)した後に gsave FileName を実行することでメモリ上の GAME ソースをファイルにセーブできます。
下記から gload と gsave をダウンロードできます。
下記からダウンロードできます。
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]
しかし、現状のままでは CP/M は動くものの結局はパソコンに接続しないと使い辛い状況であると言わざるを得ません。
ポケコン単体では使い辛いと感じる主要な原因の一つとして「手軽に使えるエディタが無い」ということがあると思います。OS を CUI ベースで使うとなると最低限、スクリーンエディタが必要ですよね。
そこで次の改善を行うことにしました。
- エスケープシーケンス対応
現状の仮想スクリーン(80x25)ではスクリーンエディタを動かせないのでエスケープシーケンスに対応することにします。「ポケコン(G850)用拡張ボード(EborsyEEP)でCP/M(その3)CP/M起動」の記事でも少し書きましたが、現状の仮想スクリーンの機能はスクリーンエディタの仮想的なスクリーンと競合してしまい、相性が 悪いのでエディタの方を LCD 画面サイズに対応するようにしました。
- ポケコン用スクリーンエディタの準備
今回実装したエスケープシーケンスを使えば、Turbo Pascal の柔軟にカスタマイズできるエディタも使えるのですが、タブ表示に対応していなかったり、エディタ以外の機能は使わないようなユースケースも想定し、自作のエディタである SKED もポケコン対応することにしました。
- コントロールコードの入力対応
スクリーンエディタを使うためにはキーボードからコントロールコードを入力する必要があります。
上記の対応でポケコン単体での CP/M の使い勝手がかなり改善されたのではないかと思います。実際に実装した機能について以下に簡単にまとめます。
- エスケープシーケンス機能
下記の最小限の機能を実装しました。
No. function character code memo 1 move cursor Esc[(y+1);(x+1)H move cursor to (x,y) position 2 clear screen Esc[2J cursor doesn't move to home 3 erase line Esc[0J erase line from cursor to end of line 4 delete line Esc[K delete cursor line 5 set reverse Esc[7m set character attribute to reverse 6 reset reverse Esc[0m set character attribute to normal 7 scroll up Esc[S scroll up all lines on screen 8 scroll down Esc[T scroll down all lines on screen
尚、現状ではカーソル位置の文字がカーソルで上書きされて表示されない状態ですがプライオリティを下げて対応予定です。
★追記 2023/11/05
対処した GOCPM の評価版を公開しました。
- スクリーンエディタ
CP/M に対応した自作スクリーンエディタである sked をポケコンの LCD 画面に対応しました。名前も入力し易いように ske に短縮します。
SHIFT J でヘルプが表示されます(LCD 画面範囲より大きいサイズなのでカーソルキーを操作して見てください)。
参考として TeraTerm での sked のヘルプ表示画面が下図になります。
sked for CP/M-80 の操作コマンド
- コントロールコード入力機能
shift キーをコントロールキーとして扱い、記号の入力は全て「2ndF」キーを使用して入力することにしました。ESC は「SHIFT TAB」で、DEL は「SHIFT BS」で入力できます。
また、下記の記号の入力を追加しました。
- ^ : 2ndF 4
- ~ : 2ndF 5
参考として Turbo Pascal 3.0 の TINST でのスクリーン設定例を貼っておきます。一度設定した項目は対応無しに戻せないようなので、最初に「None of above」を選択して必要な項目のみ設定しました。下記は一度設定後に設定内容確認のために設定画面を開いた際の画面です。Highlight command は LCD 表示で見易いように逆に設定しています。
Turbo Pascal 3.0 の tinst での設定例 |
|
上記の説明に対応した評価版の GOCPM.HEX 及び SKE.COM を下記のリンクからダウンロードできます。
Twitter(X)に投稿した動画付きメッセージを貼っておきます。
ポケコン(PC-G850V)でCP/Mを動かせる増設メモリボードでLCD表示をエスケープシーケンスに対応しました
— skyriver (@wcinp) October 27, 2023
自作エディタもLCD上で動作します(skedをskeと名称短縮)
柔軟に設定可能なTurboPascalのエディタも使えます
評価版を下記urlからダウンロード可能ですhttps://t.co/TE6UdWwntD#EborsyEEP pic.twitter.com/nkx1WGmYg3
★追記 2023/10/28
パソコンを端末にして使っている時は GAME 言語のソースをコピペできましたが、ポケコンを単独で使用する時はソースをコピペできなくなるので困ってしまいます(GAME 言語の使用頻度は結構多めです^^)
そこで GAME 言語のソースファイルをメモリ上に展開するツールを作ってみました。ソース修正時はエディタが使えるので GAME 言語のエディタよりも便利です。
パソコンを端末にして使っている時は GAME 言語のソースをコピペできましたが、ポケコンを単独で使用する時はソースをコピペできなくなるので困ってしまいます(GAME 言語の使用頻度は結構多めです^^)
そこで GAME 言語のソースファイルをメモリ上に展開するツールを作ってみました。ソース修正時はエディタが使えるので GAME 言語のエディタよりも便利です。
展開先のアドレスはディフォルトでは GAME言語のソース格納領域のディフォルト値である 0x8e00 に展開します。/Aオプションで展開先のメモリアドレスを指定できます。
ディフォルトのアドレスに展開した場合、GAMEインタープリタがコールドスタートした時点でソースの先頭が 0xff に書き換えられるので下に示す操作例のようにおまじないが必要です。
D>GLOAD load GAME source into TPA Ver0.01 2023/10/28 by skyriver usage; : gload [/axxxx] FileName xxxx : load; address(defalut:8E00) D>GLOAD SAMPLE.GAM SAMOLE.GAM 8E00-8E23 D>GAMEC GAME80 for CP/M-80(compiler 0200-1B38) Ver0.03 *READY :A== A:0)=0 == *READY : |
---|
展開先アドレスを指定した場合は次のような操作になります。
D>GLOAD /A4000 SAMPLE.GAM SAMOLE.GAM 4000-4023 D>GAMEC GAME80 for CP/M-80(compiler 0200-1B38) Ver0.03 *READY :=$4000 == *READY : |
---|
下記からダウンロードできます。
★追記 2023/10/29
上記の GLOAD コマンドはロード時間がアッと言うまでパソコンを端末にしている時でさえ使いたくなりますね(コピペする場合はウェイト時間の設定変更等、少々面倒だった)
上記の GLOAD コマンドはロード時間がアッと言うまでパソコンを端末にしている時でさえ使いたくなりますね(コピペする場合はウェイト時間の設定変更等、少々面倒だった)
指定したファイル名に拡張子が無い場合、.GAM に自動設定するようにしました。
また、同類ソフトのセーブコマンドである gsave も作成しました。GAME インタープリタを終了(>=0 実行)した後に gsave FileName を実行することでメモリ上の GAME ソースをファイルにセーブできます。
下記から gload と gsave をダウンロードできます。
★追記 2023/10/30
GLOAD 実行後のおまじないが面倒なので GAMEC を起動する際に何かしらのアーギュメントを付けた場合、ホットスタートで起動するように GAMEC.COM を変更しました。
GLOAD 実行後のおまじないが面倒なので GAMEC を起動する際に何かしらのアーギュメントを付けた場合、ホットスタートで起動するように GAMEC.COM を変更しました。
下記からダウンロードできます。
GameOnCpm80_20231030_004.zip- ※2023/11/01変更 キーセンスの間引き処理廃止
GAME言語のソース表示中にスペースキーで一時停止できない問題があり、GOCPMの5926Hを 3FH⇒07H に変更することで一時停止できるようになります。
GameOnCpm80_20231101_004a.zip
★追記 2023/11/02
CP/M-80 用 GAME インタープリタ&コンパイラの GAMEC.COM にソースファイルのロード(¥<FileName)/セーブ(¥>FileName)機能を実装しました。
ポケコン(PC-G850V)のCP/Mでもソースのロード/セーブがメチャ楽になりました^^
「3チップ構成Pic24CPMマイコン(その7)GAMEコンパイラ」の記事からダウンロードできます。
CP/M-80 用 GAME インタープリタ&コンパイラの GAMEC.COM にソースファイルのロード(¥<FileName)/セーブ(¥>FileName)機能を実装しました。
ポケコン(PC-G850V)のCP/Mでもソースのロード/セーブがメチャ楽になりました^^
「3チップ構成Pic24CPMマイコン(その7)GAMEコンパイラ」の記事からダウンロードできます。
★追記 2023/11/06
キー入力せずに放置すると10分程度でスペースコードが入力されてしまう問題に対処
原因は ROM 内キー入力処理(0BCFDH)でリセット直後に単独で実行し同問題が再現
キー入力は 0BE53H を使用するように変更し、カーソルブリンク機能も追加
キー入力せずに放置すると10分程度でスペースコードが入力されてしまう問題に対処
原因は ROM 内キー入力処理(0BCFDH)でリセット直後に単独で実行し同問題が再現
キー入力は 0BE53H を使用するように変更し、カーソルブリンク機能も追加
★追記 2023/11/12
BOOTH でダウンロードできる EborsyEEP_V103.zip では上記のアップデートを全て反映しています。
BOOTH でダウンロードできる EborsyEEP_V103.zip では上記のアップデートを全て反映しています。
[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]