USB接続のH-Shifterを自作

published_with_changes 更新日: event_note 公開日:

labelETS2 labelGaming Gear

H-Shifterを作ってみました。シフター処女作にしては完ぺきな出来栄えになりました。できてから1年以上使っていますが、不具合なく使えています。ギヤスロットの形状がいまいちで、Assetto Corsaのような早いシフトが求められるゲームには不向きかもしれません。

以前は、シフトスイッチがついたドライビングフォース GT(LPRC-14500)とパドルシフトで遊んでいたのですが、クラッチ操作がしたくなって、G29に変えました。ほとんどETS2で遊んでいます。ETS2は慣れるまでATシフトやシーケンシャルシフトを使っていましたので、12段とか16段ギヤをどうやってシフトするのかトラックのマニアルミッションに興味もありました。


「本格的なシフターが欲しい。でも、G29のセット品はシフト感がおもちゃっぽく、スラストマスター TH8A を買うほどお金は出せない。」と思っていたので、ネットで自作例をみて回っていました。


シフト基本構造

前後のシフト

ETS2用なので、堅牢でストロークが取れてシフト感がしっかりしたものをと思っていたところ、ちょうど良さそうな構造のシフター自作例を見つけました。ボールキャスターのボールの上を穴の開いたレバーが揺動する仕組みです。


レバーの穴がボールに乗っかっているときがシフターの中立位置になります。このとき、レバーはほど良くたわんだ状態でボールに接しています。

ボルトを中心にして、レバーを手前と後に揺動させたときがギヤに入った位置になります。レバーが揺動するときレバーはもう少したわむので、ボールにちょうど乗っかっていたレバーの穴がボールを乗り越えます。レバーの端がボールを超え切ったときがギヤに入った位置です。


部品は全てホームセンターで入手しています。手作業で加工すると精度がガタ落ちしますが、ちょうど良い間隔で穴の開いたL型ステーを見つけることができましたので、手持ちの電動工具を使って、それなりの精度で追加工して仕上げています。

ボールキャスター、L型ステー(レバー)、それに下記に示すコの字ブラケットが本H-Shifterのかなめになる部品ですので、確実に動作させるには、各部品の位置関係が精度よく保たれていなければなりません。


左右のシフト

シフトノブを左右に動かすときは、赤色軸を中心に動きます。青色軸は前述した前後のシフトの回転軸です。

シーケンシャルシフトにも使える

レバーはローレットナットと蝶ナットのダブルナットでゆるみ止めにしています。このナットを緩めて使うと、ギヤ位置でレバーが保持されなくなります。レバーを前に押しても、後ろに引いても手を放すと次項に書くローラキャッチの作用でニュートラル位置に戻るようになります。

つまり、ダブルナットを緩めたときはシーケンシャルシフトになります。


シフト感とギアポジション保持

シフト感とギアポジション保持のため、合計で5個のローラキャッチャを使いました。

上の2個(青色吹き出し)は前後のシフトのセンタリング用でsmallタイプを使っています。下の3個(黄色吹き出し)は左右のシフトのセンタリング用でLargeタイプを使っています。それらのサイズや個数、取付位置はシフト感や保持感を見ながらほど良い具合に調整しました。

下3個のローラキャッチャは外箱の内面にねじ止めしています。


8速シフター

6速で作るか、8速で作るか悩んだのですが、16段ものギアがあるトラック用なら8速(8X2段)なのかなぁとおぼろげに思っていました。それで、8速シフターを作ることにしました。(実際はx 4段で、8速は必要ありませんでした。)

ギヤニュートラルのときシフターのロッドは③④速の中心にあります。(下図の丸オレンジ)前後のセンタリングは2個のsmallタイプのローラキャッチャで行い、左右のセンタリングは3個のLargeタイプのローラキャッチャで行うことは前述したとおりです。

ロッドはゲートに作った8ラインのスロットに沿って動き、各速のギア位置で保持されます。このスロットが各ギアの位置を決める役割をしています。

ロッドを右に振って⑤⑥速の位置まで持ってきたときに、腕に感じる何かの壁感がないとロッドが⑦⑧速位置まで行き過ぎてしまいます。このことは参考にしたシフター自作例にも書いてありました。

壁感を実現するために、下図右のバンプストッパーをつけています。⑤⑥速の位置までロッドを振るとバンプストッパがシフター箱の内壁に当たり壁感が出ます。そこからもう一段右に倒すとバンプストッパのスプリングが圧縮され、この時の感覚で⑦⑧速位置であることが腕の感覚でわかるという仕組みです。

壁感を出すためにスプリング荷重はイニシャルをつけていますし、バンプストッパは2連にしています。この頭部はシフター箱の内壁に当たった時に滑りやすくするため袋ナットにしています。


骨格構造

バックプレート

前述しましたようにボールキャスター、L型ステー、それに下記に示すコの字ブラケットがこの仕組みのかなめとなる部品ですが、それらを取り付けるバックボード(黄色部品)の剛性と精度が重要になります。

図のように上下左右に20mmピッチでΦ5.3の穴の開いた鉄プレートを見つけました。大きさは幅60㎜、高さ115㎜、板厚2㎜です。強固な剛性があり、シフターを前後左右に動かしてもフニャフニャすることもありませんでした。バイスを持っていないので、L型に精度よく曲げるのに苦労しました。シフターのロッドが通る部分をくり抜き、左右をに分けて少しずつ曲げていきました。



シェル構造

内部の可動部品を支えるために4枚の板で外箱シェルを作りました。

内部の可動部品は左右の揺動軸(前述の赤色軸)を2枚のシェル側面で支えています。シフトゲートはシェルの上に固定はせずに乗っかっている構成です。



ギヤポジション

ポジションセンサー

ギヤポジションの検出に使ったのはマイクロスイッチです。
奇数ギヤ用に4個、偶数ギヤ用に4個並べてシフターロッドが触れるとスイッチが導通するように取付けています。
これを一発で作ろうと思うと3DCADはマストです。





レンジ、スプリッター

トレーラーやトラックの多段ミッションにはレンジ、スプリッターという副変速機構がついています。

詳細は次のリンクで説明されています。


多段トランスミッション考察

多段トランスミッション考察

みんカラ(みんなのカーライフ)とは、あなたと同じ車・自動車に乗っている仲間が集まる、ソーシャルネットワーキングサービス(SNS)です。


これを再現する仕組みをノブの中に組み込みます。とはいっても、オン/オフのスイッチを2つノブの中に取り付けただけです。雰囲気を本物(といっても、見たことがないのですが)に近いものにしようとこだわりを入れました。

レンジ用にはノブの前方にロッカースイッチを取り付けます。そして、スプリッター用はノブの内側にモメンタリーのプッシュスイッチを取り付けました。

ロッカースイッチは指先の感覚でどちらに入っているかわかるのですが、プッシュスイッチはモメンタリー型にしろ、オルタネート型にしろ、オンなのかオフなのか目視ではわからないので、LEDをつけました。

ノブ自体はΦ60ほどの木片があったので、電動ドリルにくわえてサンダーで形を整えて作りました。ニスを何度が塗り、木製のノブはそれなりの重厚感がでて良い感じにできました。

本物は多分上から握るような使い方かと思います。(写真で見た感じの想像ですが)作ったものは、コックピットレイアウトの関係で横から握って使う物にしました。


USB接続

ETS2などのゲームでこのH-Shifterを使うには、これをPCに繋がねばなりません。やり方は大きく分けて2とおりあると思います。

ひとつは参考のシフター自作例でやっているようにUSB接続のゲームコントローラの信号を乗っ取る方法です。

もう一つは、Arduino Lenonardoを使う方法です。Arduino Leonardoは、キーボードやマウスなどのUSBに接続する周辺機器を作成するためのHID機能が備わっているので、任意の文字列のPC入力や、マウスのスクロール操作のようなUSBインターフェースデバイスとして使うことができます。

私は後者の方法で繋いでいます。一連の自作スイッチ類をまとめてLeonardoでPCに繋いでいるので、別途ブログにまとめようと思っています。


まとめ

製作は3DCADでの設計しながら並行して行いました。Fusion360を使っていますのでそのデータをGRABCADにあげています。

3DCAD data "H Shifter"

H Shifter

The H shifter model for the Euro track simulator. The detent mechanism is composed of metal ball casters and a round groove on the lever. The 7th and 8th gear shifts are temporarily stopped by two compression springs.




今後しばらくは、以前ETS2用に自作したスイッチ類をブログにしようと思っています。

Powered by Blogger | Designed by QooQ

keyboard_double_arrow_down

keyboard_double_arrow_down