2020年5月20日

Fanatec CSS SQ DIY USB Adapter

レーシングシム向けのHシフターの定番、ClubSport Shifter SQは、ClubSport USB Adapterを使うことでPCに接続できる。

しかし、走行中に発生する重大な不具合がある。
たとえば、2速から3速にシフトレバーを叩き込むときに、一瞬5速に入る。5から4に落とすときも一瞬2速に入る。1速なのにRになる。などなど。コントロールパネルのゲームコントローラーを開いてレバガチャしながらチェックすると、関係ないギアに一瞬入るのがよくわかる。チャタリングっぽい現象。
これが原因でギアが抜けたり、ギアが入らなかったり、オーバーレブでエンジンブローしたりする。経験あるよね?

これを解決するため、TeensyでUSBアダプターを自作した。レーシングシミュレーターiRacingでの耐久チームメンバーにも実際に使ってもらっている。どうやら不具合がなさそうなので、一般公開してみるよ。
3,000円くらいで作れる。プログラミング素人が作ったもののくせにちゃんと動くので、がんばって作ってみてね!

製作例

※この写真はキャリブレーション用ボタン装着前

ぼくはFanatecケーブルをモジュラージャックに差し込みできるように仕上げたけど、ケーブルを直接はんだ付けするほうが簡単。CSSSQ付属のRJ12ケーブルをバラして使ってもいい。付属ケーブルがもったいないなら、6極6芯の電話ケーブルをハンダ付けするのもいいね。

ピンアサイン

ファームウェアダウンロード: fanatec_css_sq_usb_adapter_v_2_1_2.zip


以下、zipに同梱のreadme.txtです。



------------------------------------------------------
Fanatec Clubsport Shifter SQ USB Adapter
Version 2.1.2
Auther: @ukfunk 2018 http://groovy-clutch.blogspot.jp/
------------------------------------------------------

■概要
CSS SQ をPCに直接USB接続するためのTeensyLC用ファームウェアです。
ClubSport USB Adapter が持つ諸問題を解消しています。
OS標準ドライバで動作するため、Fanatecアダプタで発生する「PCに接続したままだとOSが起動しない」不具合が関係ありません。
Hシフターモード使用中、意図しないギアに一瞬入るといったハードウェアに起因する誤動作を、アルゴリズムで回避しています。

■キャリブレーションの手順
(1) キャリブレーションスイッチを押したままPCのUSBポートに接続します。
(2) オレンジLEDが点灯したのを確認できたら、スイッチを離します。

******追記******
(2.5) シフトレバーをNに入れ、スイッチを押します。

(3) シフトレバーをRに入れ、スイッチを押します。
(4) シフトレバーを1速に入れ、スイッチを押します。2~7速も同様に繰り返してください。
(5) 7速まで繰り返すと値がEEPROMに書き込まれ、オレンジLEDが消灯します。

■パーツリスト例
Teensy LC
https://www.switch-science.com/catalog/2333/
RJ12(RJ25)モジュラージャック
http://akizukidenshi.com/catalog/g/gK-09688/
連結ピンヘッダ
http://akizukidenshi.com/catalog/g/gC-02959/
適当なプッシュスイッチ
http://akizukidenshi.com/catalog/g/gP-08216/
Micro-USBケーブル

■ピンアサイン
RJ12 Seqential H-Pattern TeensyLC
1 Red GND GND GND
2 N/C N/C N/C N/C
3 Yellow N/C GND A7
4 Purple Up X-axis A8
5 Black Down Y-axis A9
6 Orange N/C 3.3V 3.3V
プッシュスイッチ(キャリブレーション用)は、A12~GND間に繋いでください。

■ファームウェア書き込み
同梱のhexファイルをTeensy Loaderで書き込んでください。
https://www.pjrc.com/teensy/loader.html

■免責事項
いかなる損害も補償しません。と念のため書いておきます。

■更新履歴
2.1.2 動作速度を改善。
2.1.1 特定の条件でギアがスタックする問題を修正。
2.1.0 Hシフターのギア位置確定アルゴリズムを作り直し。違うギアに入る誤動作を回避したつもり。
2.0.0 他の人も使えるようにキャリブレーションモードを追加。Hシフターのレバー位置検出シーケンスを作り直し。
1.1.0 意図しないギアに入ることがまれにあったので、強引に解決。
1.0.1 バグフィックス。
1.0.0 初期リリース。自分専用。

3 コメント:

Unknown さんのコメント...
このコメントはブログの管理者によって削除されました。
匿名 さんのコメント...

有益な情報ありがとうございます。
色々と参考にさせていただいております。
キャリブレーション手順ですが、(2)と(3)の間に、
 (2.5) シフトレバーをNにして、スイッチを押します。
が必要ではないでしょうか?

uk さんのコメント...

むむ、ご指摘ありがとうございます。
調査してマニュアル更新します!

コメントを投稿