※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


pspgo20110123 - トップページ


DUALSHOCK3を乗っ取ってジョイスティックに組み込んだ記録。




経緯


PSPGoの2DSTGをTVに映してジョイスティックで遊びたい、というのが目的。




紆余曲折


  • PSP-1000も手元にあるので、PSP2TVを使えばTVに映すこともPSのコントローラを使うことも可能らしい。しかしPSP2TVは映像の質、遅延などの点であまりよろしくないっぽい報告もある(問題ないという報告もある)。TVとの接続はS端子かコンポジット。
  • PSP-2000/3000では公式に外部映像出力機能が搭載されているらしい。TVとの接続はD端子かコンポーネント。ただジョイスティックを繋ごうと思うと、UMD搭載型PSPでは現状、本体改造での乗っ取りしかないような気がする。PSPは密度が高そうだから難しいと予想。本体改造乗っ取りはPSPGoでも同様に考えられる選択肢だが、さらに難しいだろうと思う。
  • PSPGoでは映像出力のほか、PS3純正のDUALSHOCK3/SIXAXISとBluetooth接続して操作できる機能があるらしい。
  • HORIがPS3用に出している無線ジョイスティックはBluetoothとは別の無線通信なのでPSPGoには使えないようだ。
  • となれば、DUALSHOCK3を乗っ取るしかない。

  • ジョイスティックはRAPの方が色々と出来もいいし工作もしやすいだろうが、余らせてるわけではないし、今回の目的は「たかがPSP」なので手持ちで最近出番のないFightingStickで十分だろう。




用意するもの


PSPGo 最近、急に人気が出たらしい。
PSPGo用映像出力ケーブル 今回はD端子ケーブル。PSP-2000/3000用とはPSP側端子の形状が違うらしい。
DUALSHOCK3 今回は薄型PS3(2009年9月モデル)に付属していたものを使用。 時期によって作りが違うらしい(重要) 。→DUALSHOCK3の世代違い
PS3 PSPGoとコントローラのペアリングに必要だが、一度ペアリングしてしまえば充電にはPCのUSBポートを使うことでPS3なしで運用可能(PCに接続してLED4つ点滅→消灯で充電完了→PSPGoとのペアリングは維持)。PS3を導入せずに実現することに興味がある人は、手順をよく確認して、人の家でペアリングだけさせてもらうなり何なりが可能かどうか検討することをお勧めする。
ジョイスティック 今回はXbox360用のFightingStickEX2(海外版)を使ったが、ボタン数が足りて、元からついている(そのジョイスティックの本来の機種用の)回路を除去できるなら何でもいい。もちろん完全自作でも可。Xbox360用だと接続形態がPS3と同じUSBなのでケーブルの使い回しが利く。

はんだ付け道具一式
(はんだ付け基本スキル)
当然ながら必要。
線材 今回は15芯フラットケーブルをバラしたりバラさなかったりしながら使用。それ以外の線も少々使った。
抵抗(6.8kΩ) 小型のものを2つ。抵抗値はわりと適当でいいような気がするが、気がするだけなので責任は持てない。
スライドSW(2回路2接点) 不要。不要なのにここに書く経緯については文中で説明。
熱収縮チューブ 線と線を繋ぎ合わせるときには必要。最初から線をベストな長さにできるなら不要かもしれないが・・・
ホットボンド はんだ付けの後、そのままでは簡単に千切れそうで怖いので使用。
はんだ吸い取り器 今回はジョイスティックのボタンから元の基板を取り外すのに使用。

大体こんなものだと思うが書き忘れがあるかもしれない。
プラスドライバーだのニッパだのは書いてない。




工作の記録


  • 以下、DUALSHOCK3=DS3、FightingStickEX2=FSと略す。
  • ほとんどの画像はクリックで大きいのが出る。
  • 試行錯誤の記録なので、新たに作る場合は省略できる部分がある。これを参考にしようという奇特な人は、まず一通り読んで内容を理解し、必要なところ、不要なところをはっきりさせておくのが良いと思う。
  • 手持ちのDS3がモデル違いの場合は、この内容そのままでいける保証はないので適宜判断すること。→DUALSHOCK3の世代違い
  • FSのUSBケーブルを使っているため無線使用時も(どこにも繋いでいないのに)長いケーブルを引き摺った状態になっていて美しくない(充電時しかUSBケーブルは必要ない)。FS本体に近い位置で取り外せるようにするのが理想か。



まずはDS3をバラしてみる。普通のプラスドライバーで大丈夫。
20101213010524_DS3.jpg
振動用モーターの線がはんだ付けされているので外す。
20101224020804_DS3.jpg 20101224021026_DS3.jpg 20101224021358_DS3.jpg 20101229122250_DS3_フレキ側端子アサイン.jpg
乗っ取りは一般に、ボタン等に押される接点(もしくはその近く)に配線するのが一番分かりやすいのだが、DS3の場合はそれがいかにも熱に弱そうな材質のフレキシブル基板なので、はんだ付けが出来そうにない。よって、まずメイン基板と繋がる端子のアサインを調べ、それに対応するメイン基板側の端子にはんだ付けすることを考える。



20101229132142_DS3_基板側端子アサイン.jpg
ということで、メイン基板側の端子の並びはこういうことになる。乗っ取るならこの端子からだろう。元々のフレキとの接続は接点を接触させてスポンジで圧迫する方法で、そのためにこの端子は炭素接点になっているので、はんだ付けのためには表面を削る必要がある。



20101229143518_DS3_バラした状態でテスト.jpg 20101229143402_DS3_バラした状態でテスト.jpg
とりあえず基板剥き出しの状態でDS3に内蔵されていた電池を繋ぎ、PS3で認識させてみると、基板とフレキの端子を導通させていない時は何も操作していないのにカーソルが勝手にブルブルと動き、ボタンもなんだか適当に押されたりしている模様。これにどの部分が影響しているかというと、
SELECTと方向キーの間、STARTと○×△□の間、の2ヶ所にある黒い部分がそれに当たる。この部分の抵抗値を測ってみると5kΩ程度だったので、回路としては抵抗を入れればフレキの代わりになると思われる。抵抗値については他の配線を済ませてから実際に抵抗を繋いでみて決めることにする。



20101229132142_DS3_基板側GNDグループ&抵抗が必要な場所.jpg
パターンを追った結果、4系統に分かれたGNDのグループと抵抗の入る位置はこのようになる。



20101230141008_DS3_抵抗が必要な場所.jpg
抵抗を付ける場所はここで良さそう。



20101229235232_FS_基板撤去.jpg
今回、FSをXbox360用として使えるまま改造しようとは思っていないので、はんだ吸い取り器などを使ってレバーやボタン以外は撤去してしまう。



20101231023342_FS_DS3_基板配置検討.jpg
すっきりしたところでボタンの並びとDS3基板の配置を検討。この位置なら結束バンドで丸い筒状の部分に固定できるだろう。 ボタンの並びは人によって意見の分かれるところだと思うのでもちろん各自が任意の並びにすればいいのだが、こんな工作をしようという人は大体2DSTGが目的だろうし、そういうゲームは大体キーカスタマイズができるものなんじゃないかと希望的観測も込めて思っておく。 なおDS3のアナログスティック、L3、R3、すべての入力のアナログ要素は当然ながら生きない。



20110103174654_DS3&FS_PSボタン&LED周りアサイン.jpg
DS3基板のLED部分とFS側のしいたけボタン&LED基板の対応。



20101231023342_DS3&FS_USB&GND周り配線.jpg
GNDをグループ別に繋いでいく配線の検討。「SW」というのがあるが、スイッチを付けても意味がないことが後に判明する。



まずFS側だけで済ませられる部分、上図で色分けしたグループ別GNDを配線。
20110104002954_FS_GND配線.jpg
緑グループのGNDを配線。



20110104003632_FS_GND配線.jpg
ピンクグループのGNDを配線。



20110104005830_FS_GND配線.jpg
水色グループのGNDを配線。FS側だけでできるのはここまで。



20101229175234_DS3_端子の皮膜を削る.jpg
基板の端子から黒い皮膜を削る。画像では判りにくいがクラフトナイフで削った後の状態。十分に金属を露出させる必要があるが、パターン自体はなるべく耗らさないよう慎重に。



20110110020520_DS3_LED周り配線.jpg
LEDから線を引っ張る。ただ、実際に最後まで組み上げてみると予想通りFS側のLEDが暗かったので、DS3側のLEDは外してしまったほうがいいかもしれない。



20110110024020_DS3_LED周り配線_ホットボンド.jpg
さらにLED用GNDから線を引っ張り、ホットボンドで固定。いろいろ中途半端に考えた結果こんな配線をしたのだが、やはりここではLEDの4本だけにして、この後のフラットケーブルで下段10本、上段10本としたほうが良かったと思う。



20110110040502_DS3_下段配線.jpg
端子の下段にフラットケーブルをはんだ付け。



20110110042102_DS3_上段配線.jpg
端子の上段にフラットケーブルをはんだ付け。



20110110051436_DS3_上下段配線_ホットボンド.jpg
ホットボンドで固定。下段は上段に覆われているので、上段はガッチリでも下段がユルユルということにならないよう注意。



20101229203318_DS3_USB.jpg
DS3基板のUSB miniBジャックの基板側ピンのアサイン。こことFS側のUSBケーブルを繋ぐ。



20110116115608_DS3_USB端子配線.jpg
配線。



20110116120234_DS3_USB端子配線_ホットボンド.jpg
固定。



20110116120610_FS_仮配置.jpg
仮に配置してみる。ここまでにはんだ付けした線の長さはどれも適当に20cm弱ぐらいにしていた気がする。この後フラットケーブルを割いたり延長したりしつつ各ボタン等に繋いでいくのだが、それを円滑に行うために・・・



20101229132142_DS3_基板側GNDグループ&抵抗が必要な場所&フラットケーブル配線.jpg
このような図を作った。これはたまたまフラットケーブルがこういう具合になっただけなので、仮にこの記事を参考に作業しても色の組み合わせがこの通りになるとは限らないことに注意。配線を間違えない自信があるならこんな図は作る必要がない。



20110116145154_DS3_抵抗テスト.jpg
PS3に繋いだ状態で、いろんな抵抗値で正常動作するか試す。試した限りでは10kΩの可変抵抗の端から端まで大丈夫で、6.8kΩの抵抗でも大丈夫だったので、好きな数字ということで6.8kΩのものを使うことにした。これが本当に適切な値かどうかは知らないが。



20110116152544_DS3_抵抗.jpg
というわけで6.8kΩ(青灰赤金)の抵抗をTP11-TP18、TP11-TP17にはんだ付け。



20110117001258_FS_DS3_固定.jpg
大丈夫そうなので結束バンドを使ってDS3基板をFSの中に固定。グラグラしないが外そうと思えば外せる程度。



あとは
を見ながら、ひたすら線を繋いでいく。



20110117014154_FS_DS3_上段配線.jpg
フラットケーブル上段を配線。



20110121175428_FS_DS3_下段配線.jpg
フラットケーブル下段を配線。



20110122164256_FS_DS3_LED周り配線.jpg
しいたけ&LED基板への配線。



20110122193400_FS_DS3_USB配線.jpg
これは結果的に無意味だったのだが、USB DATA+、DATA-をon/offできるようにスライドSW(2回路2接点)を付けた。新たにやるならここは普通に結線してしまっていい。



20101229193812_FS_USB.jpg
20110122212708_FS_DS3_USB配線.jpg
FSのUSBケーブルと、DS3基板のUSB部分から来た4本を繋ぐ。



20110122212810_FS_DS3_すべて配線.jpg 20110122212842_FS_DS3_すべて配線.jpg
これで配線は完了。SWは(゚ε゚)キニシナイ!!



20110122213440_PS3接続_2番として認識.jpg
PS3にUSB接続してみると、ちゃんと認識されて操作もできる。



20110122214656_PSPGo接続.jpg
ではいよいよPSPGoとの接続を試みる。



20110122214726_PSPGo接続.jpg
Bluetooth機器を登録しますか? [はい]



20110122214816_PSPGo接続.jpg
[PS3のコントローラを登録する]



20110122214834_PSPGo接続.jpg
以下の用意をしてください。
  • PS3のコントローラ
  • PS3
  • USBケーブル 2本

「PS3のコントローラ」が今回作ったDUALSHOCK3組み込みFightingStickEX2。ここで言うUSBケーブルはFSから出てる奴と、もう1本はPSPGo付属のもの。



20110122214854_PSPGo接続.jpg
PSPGoを付属のUSBケーブルでPS3に繋ぐ。



20110122214954_PSPGo接続.jpg
FSのUSBケーブルをPS3に繋ぐ。



20110122215032_PSPGo接続.jpg
しばらくお待ちください。



20110122215058_PSPGo接続.jpg
PS3に繋いだUSBケーブル2本を抜く。ここでSWをoffにすればUSB DATA+/DATA-のみ切断できて、かつ電源ラインは繋がっているのでDS3基板にとってUSBケーブルを抜いた状態に見せかけることが出来るのではないか、と期待したのだが、残念ながらDS3はUSB DATAが繋がっていないと(電源ラインが繋がっていても)電源offという仕様らしく、失敗。



20110122220502_PSPGo接続_電池.jpg
普通のDS3とPSPGoのペアリングを行う場合はUSBケーブルを抜いた時点で内蔵の電池で駆動する状態になり、そこでBluetoothとしての登録が行われることになる。今回は電池なしで使う(任意の機器からUSBで給電のみ受けつつBluetoothでPSPGoと通信する)ことを意図してSWを付けたのだが、その目論見は失敗に終わったので、DS3基板にDS3に内蔵されていた電池を接続。これでSWをonのままにすれば、普通のDS3と同じ使い方をすればいいということになる(新たに作る場合はSW無しで普通に結線してしまえばok)。



20110122220532_PSPGo接続_電池.jpg
というわけで電池を繋いだ状態でUSBケーブルを抜いて、PSPGoとの接続に成功。「コントローラをPS3に接続すると、PSPの登録が解除されますのでご注意ください。」とあるが、充電はPCのUSBポートに繋いでも行えるのでPSPGo専用として使う分にはペアリングを切ることなく扱うことが可能。なおPCと接続したままの状態ではペアリングが維持されていてもPSPGoとの通信は行われないので、電池の寿命が尽きた際にUSB給電しながら使うことはできないと思われる(要するに電池があっても無くてもUSB給電では駄目)。その時は交換用電池を入手する必要があるだろう。



20110122230326_電池.jpg 20110122230348_電池.jpg
電池はこんな感じで格納すれば、ちょうど裏蓋が閉まりつつ押さえになってガタガタせずに済みそう。



20110123010122_TV接続.jpg
PSPGo用のD端子ケーブルでTVに接続。この状態でジョイスティックで操作できる。



20110123010622_TV接続.jpg