テンキー操作でゲームで遊ぼう プレイステーション用キーボードアダプタ~ 制作編 ~ |
ここで紹介する機器を不用意に制作し使用することは、プレイステーション本体の故障の原因となることがあります。プレイステーションに自作の機器を接続することは、ソニー・コンピュータ・エンタテインメント社の想定する通常の使用を逸脱する行為であり、修理等のサービスが受けられなくなるかもしれません。利用者個人の責任の元で運用してください。損害が発生しても、ソニー・コンピュータ・エンタテインメント社、販売店、および本記事の著者はいかなる責任も負いません。 |
試作編から制作編まで、だいぶ日数が経ってしまいました。はじめに試行錯誤の記録を書いていておきます。
試作編では「ポートをポーリングして受信した方が簡単」などと書きましたが、後述のオートリピート対策のため、最低でも割り込みを使用した受信が必要と判断し、予定よりプログラムが複雑になってしまいました。
本機に人が操作する電源スイッチは付けたくなかったので、プレイステーションから供給される電源を監視して、自動的に本機の電源を入れるような設計にしたいと思いました。プレステコントローラのコネクタから出ている電源は20mAまでしか取れませんので、メカニカルリレーではコイルの駆動電流に足りません。ディスクリートなMOSFETでもできそうな気がするのですが、私はFETの経験がないので、フォトMOSリレーを使うことにしました。
最初は5vのスイッチングACアダプタからの供給をそのまま使っていたのですが、ちょっとした不注意で、つなぐプラグを間違え、XC9572を破壊してしまい、指に火傷を負ってしまったので、電源に手を抜いてはいけないと実感しました。たまたま選んだケースがとても小さかったので、アートワーク(基板上に部品をどのように配置して結線するか)に苦労しました。
キーを押しっぱなしにすると、キーボードは自動的に「離された」「押された」という連続したデータを発行します。これを無効化するため、「離された」というデータを受け取ってから数msの間、処理を遅らせる必要があります。これはPIC側のプログラムで対応しています。
コントローラコネクタとメモリカードスロットは信号線が共通になっています。そのため同一スロットでメモリカードのアクセス中は、コントローラ側はおとなしく待っていなければなりません。最初はそのことを考慮していなかったので、本機を接続するとメモリカードのアクセスができなくなっていました。これはCPLD側で対応しています。
値段は目安です、まとめ買い割引での単価の物も含まれていますので、単数買うときは表中の値段とは異なることがあります。
品名 | 型番など | 数量 | 単価 | 購入店 | 備考 |
CPLD | XC9572 | 1 | 800 | 若松通商 | |
マイクロコントローラ | PIC16F84 | 1 | 380 | 秋月電子通商 | |
ブリッジ整流器 | 1 | 千石電商 | ACアダプタの極性に合わせて配線するなら不要です。 | ||
フォトMOSリレー | AQV212 | 1 | 510 | 千石電商 | |
三端子レギュレータ | 7805 | 1 | |||
セラミック振動子 | 4MHz | 1 | 40 | 秋月電子通商 | |
LED | 1 | ||||
抵抗 | 470Ω | 2 | 1 | 秋月電子通商 | 100本\100 |
電解コンデンサ | 100μF | 1 | |||
積層セラミックコンデンサ | 0.1μF | 4 | |||
ミニDINコネクタ | 8ピン | 1 | 120 | 千石電商 | |
基板 | 1 | 120 | 千石電商 | ガラスエポキシ基板推奨 | |
ICソケット | 18ピン | 1 | 10 | 秋月電子通商 | |
PLCCソケット | 44ピン | 1 | 70 | 秋月電子通商 | |
コントローラ延長ケーブル | 1 | 600 | 秋月電子通商 | ||
ACアダプタ | 8v~12v | 1 | 800 | 秋月電子通商 | |
ACアダプタ用ジャック | 1 |
その他 : ケース、放熱器、シングルラインICソケット、ピンヘッダ、ハンダ、錫メッキ線、ウレタン線、ねじ、ゴムブッシュ、ゴムシート、ホットボンド(グルーガン)、etc...
PIC書き込みツールやCPLDの書き込みツールも必要です。
要のCPLDです。 秋葉原なら若松通商で購入できます。 PLCCソケットは秋月の方が安いです。
ワンチップマイコンです。 この装置の動作クロックは4MHzなのですが、2000-4-29日現在、4MHz品は見る影もなく、10MHz品は数が少なく、20MHz品の方が安いという、逆転現象が起きています。
フォトMOSリレーです。 プレステの電源が入っているときに、本機の電源を入れるという、スイッチの役割をします。 最初はAQV214が10個\1000だったので買ってみたのですが、定格では出力側の電流が150mAまでで、内部抵抗も大きいので、大電流向きのAQV212にしたところ、金額が跳ね上がってしまいました。
4MHzのクロックを作ります。
三端子レギュレータです。上の写真では表面実装向けの7805Fを使用していますが、ケースの空きスペースに合ったものを選んでください。 200mA以上必要ですので、78L05は使用できません。7805は1Aまで使用できますが、特にフルキーボードを接続したときは、かなり熱くなりますので、放熱器は必須です。今回は手近にあったアルミ塊に熱収縮チューブで固定して使用しましたが、アルミ製ケースに入れて、レギュレータをケースに固定するのが効果的です。
DINコネクタにキーボードを抜き差しするときに基板に力がかかりますので、丈夫なガラスエポキシ基板を使った方がいいでしょう。 |
PC-9800用キーボードを接続するためのコネクタです。 ハンダ付け用のピンが1.27mmピッチに合わないので、基板への取り付けが面倒です。
SONY純正の延長ケーブルは存在しないようです(信号劣化により動作保証できないためだと思います)。また、純正コントローラのケーブルだけ切って使おうと思っても、線材がハンダ付けに向かないような構造になっているので、秋月電子通商で延長ケーブルを買った方が無難です。
タカチ電気工業製の難燃性ABS製のケースSS-N90使用しました。 三端子レギュレータの放熱を考えると、アルミ製ケースの方がいいでしょう。同社のYM-90というアルミケースが手頃な大きさです。
とても便利な部品で、電子工作をしていると際限なく使ってしまうので、大量に買ってしまいます。(私だけか?) 丸ピンソケット側にコードを差し込んでハンダを流し込めば簡易コネクタを作ることができます。 ピンヘッダは、CPLDに論理回路を書き込むための、JTAGケーブルを接続するコネクタにしています。
8v~12v 300mA以上の物を使用してください。秋月電子通商の9vスイッチングACアダプタがおすすめです。
基板の配線に使います。おすすめは太さ0.3~0.4mm
線が交差する部分の配線に使います。ウレタン樹脂の皮膜があるので接触しただけでは導通しません。エナメル線のように紙ヤスリで磨く必要もありません。ハンダごての熱で皮膜を溶かすのですが、慣れないとうまく溶けてくれません。こて先にハンダを載せてウレタン線の切断部を数秒間加熱していると皮膜が溶けてきます。途中を溶かす場合は、こて先で線をこするようにするとうまくいきます。
|
本体が完成したらPICとCPLDのプログラミングをします。「完成編」をどうぞ。