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 初期リリース。自分専用。

4 コメント:

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

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

uk さんのコメント...

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

RoloF さんのコメント...

Please excuse me, english is not my first language. Can you help me with this project? I have a Fanatec shifter but I have no way to connect it to the PC. Seems that this solve this problem. But I dont understand your language. Can you help me? rafuentes@gmail.com

コメントを投稿