Godzilla R32〜Over The Top Part 1
Arranged by the business partner at actively working in the company, I have a vivid memory of heading to Kassel from Frankfurt in the Autobahn at 250km/h by Mercedes S class. The German driver is used to driving as usual, but I am scared and almost lose myself. While my driving phobia never dreams to challenge more than 180km/h, let’s take on a challenge. 現役の頃、相手先のアレンジでフランクフルトからカッセル迄Sクラスでアウトバーンを時速250kmで移動した記憶は今でも生々しい。ドイツ人トライバーは慣れたもので何気なく運転していたが、こちらは怖くて落ち着かなくてどうしようもなかった。こんな速度恐怖症の俺が時速180km以上にチャレンジしたい気持ちになるとは驚きだ。さあチャレンジの開始です。
発端
プチレストアの作業の折、速度計の最高速度時速180kmの針の位置が意図的に中途半端でスペースに余裕がある事に気づく。時速180キロ以上出すことは絶対にないが、老齢の身にも関わらず何故か時速300kmオーバーの速度計を取付けたい衝動にかられる。当然スピードリミッターを解除する必要がある。
Nismoの速度計は中古でもバカ高く俺には手が出ない。
デジタル表示計が必要性となるが、最終的なデジタル表示計の仕上がりをどうするか、難易度順に列挙する。
- スマホのGPSスピードメーターアプリを利用する方法
- パゴダiVD(Versatile Dashboard Interface)のゴジラ版とも云える、Arduinoを使って車速信号から車速を算出して手持ちのタブレットに表示するシステムの構築
- 必要に応じてコンサルト診断インターフェースから車速を適宜Viewする方法
初物の3に挑戦したい気持ちはあるが、俺にできるかは自信がない。どらにするか未だ決めていない。
本稿Part 1ではスピードリミッターの解除法に関する事例調査を踏まえて、解除装置の試作品の設計・作製を行う。
事例調査
解除方法論としては、ECUの書換え、若しくは車速信号の加工が一般的。海外では車速信号の配線を単純にカットする事例も紹介され、Easygoingな豪州、NZで多用されている。この場合、Fail Safeが働きエンジンが停止する副作用の発生も報告されていないようだ。また、ハイキャス動作に異常をきたすのではないかとの危惧も懸念されるが、確定的な現象ではないようだ。支障が出る場合は時速180km以上におけるMapping情報が不充分な事によるとの憶測がある。その他、マイル表示が当たり前な国ならではの時速表示をKmからMileへ変換表示にする事で解除する奇抜なアイデアも報告されている。
市販品の車速信号の具体的な加工方法は不明だが、ネット情報によると、車速が180km以上になっても時速180kmのままで一定とする、若しくは車速を一律に半分に間引く手法が取られているようだ。
解除方法
時速180kmのSpeed Pulseを細工する方法はPICを用いた処理が必要となる。技能的にハードルが高いだけでなく、俺が好むBeautifulな手法ではない。
一方、半分に間引くRC発振回路はRobustな手法として多用されているAstable Multivibratorにより達成できる。最も単純でアナログ的だが実に美しい。具体的には、Astable Multivibratorで発生させた任意の周期のPseudo Pulseを本来のPulseにCommingleして擬似的にPulseを加工することになる。任意の擬似的な周期はRC発振回路のRC値で容易に制御できる。本稿では半分に間引く方法を採択する。
サービスマニュアルによると、アイドリング状態とは車速が時速8km以下の状態を指す。全体を半分に間引く、即ち、アイドリング状態(時速8kmの半分の4km)でFuel Cutしないように擬似的なPulseの周波数を設定してやる事に他ならない。そうすることで結果的に、Fuel Cutが働く最高速度は倍の時速360kmになる。時速360kmとは新幹線に匹敵する速度で現実的な最高速度ではないだろうか。
車速信号はHicas及びPower Steering制御に利用されているが、双方共ECU上流の別回路で制御されているので、今回の加工による弊害はないと思量。因みに、ECU端子53番(黄/緑)が車速信号である。
何と、アナログ版は10年以上も前に、ある御仁がR32 GT-R用に発表している。
理論
発振回路の設計はデジタルをベースとするが、Fail Safeの観点からアナログ版も併せて作製する。半導体部品はオーディオ用の手持ち部品を再利用する。車載搭載半導体ではないがオーディオ部品は漏れ電流が少ない利点がある。
アナログ版
アナログ版に於ける非安定マルチバイブレータ回路におけるパルス発生周波数\(f\)は、抵抗\(R2\)、\(R3\)と静電容量\(C1\)、\(C2\)で決まる。
具体的に、次式で与えられる。
\begin{align}
f &= \frac {1}{T1+T2} \\ \\
&= \frac {1}{ln2(R2C1+R3C2)}
\end{align}
パルスがSymmetric発振の場合(Duty比50%)、\(T1=T2\)、\(R2C1=R3C2\)が成り立つので、\(RC\)は一義的に決まる。
\begin{align}
f &= \frac {1}{2ln2RC} \\ \\
&= \frac {0.72135}{RC}
\end{align}
$$∴RC= \frac {0.72135}{f} \tag{A-1}$$
尚、\(R1\)、\(R4\)は夫々\(R2\)、\(R3\)の\(10分の1\)が一般的。
また、周波数は次式から求まる。
$$f= \frac {1}{T} \tag{A-2}$$
デジタル版
パゴダのiVD回転数計を作製した時に用いたSchmitt Trigger Inverter(東芝製74HC14AP)を用いる。同Inverterのヒステリシス特性(しきい)を利用して、RC発振回路を構築できる。
具体的には、データシートに基づくVCC=4.5V標準条件での発振挙動は以下のようになる。
- 入力電圧が「しきい値」1.6Vを下回った場合、入力を「0」と認識、出力は「1」に切替る。「しきい値」は2.7Vに変化
- 入力電圧が「しきい値」2.7Vを上回った場合、入力を「1」と認識、出力は「0」に切替る。「しきい値」は1.6Vに変化
- 入力電圧が1.6V~2.7Vの場合、出力は「現状維持」
抵抗とコンデンサを使ったRC発振回路に於ける任意の時間\(t\)に於けるCapacitorの充電電圧は次式で与えられる。
$$V_{c}(t)=(V_{cc}-V_{-sat})(1-e^{- {t \over RC}})+V_{-sat}$$
\(Where\)
\(V_{c}(t)\): Capacitor voltage at a given time, \(t\)
\(V_{cc}\): Supply voltage of Capacitor
\(V_{+sat}\): High threshold voltage of Capacity
\(V_{-sat}\): Low threshold voltage of Capacity
飽和状態に於ける充電電圧\(V_{+sat}\)は次式で与えられ、併せて充電迄に掛かる時間\(T_{chg}\)も得られる。
\begin{align}
V_{+sat} &= (V_{cc}\ –V_{-sat})(1-e^{- {T_{chg} \over RC}})+V_{-sat} \\
T_{chg} &= RCln\frac {V_{cc}\ – V_{-sat}}{V_{cc}\ – V_{+sat}}
\end{align}
一方、時間\(t\)に於けるCapacitorの放電電圧\(V_{-sat}\)は次式で与えられる。
$$V_{c}(t)=V_{+sat} \ e^{- {t \over RC}}$$
飽和状態に於ける放電電圧は\(V_-sat\)は次式で与えられ、併せて放電迄に掛かる時間\(T_{dis}\)も得られる。
\begin{align}
V_{-sat} &= V_{+sat} \ e^{- {T_{dis} \over RC}} \\
T_{dis} &= RCln(\frac {V_{+sat}}{V_{-sat}})
\end{align}
発振周期\(T\)は充電電圧と放電電圧の和で次式らで与えられる。
\begin{align}
T &= T_{chg}+T_{dis} \\
&= RCln(\frac {V_{cc}\ –V_{-sat}}{V_{cc}\ –V_{+sat}})+RCln(\frac {V_{+sat}}{V_{-sat}}) \\
&= RCln(\frac {V_{cc}\ –V_{-sat}}{V_{cc}\ –V_{+sat}})(\frac {V_{+sat}}{V_{-sat}})
\end{align}
Symmetric発振の場合(Duty比50%)、充電時間\(T_{chg}\)と放電時間\(T_{dis}\)を等しいから、発振周期\(T\)は、算定の容易な、放電時間\(T_{dis}\)の倍となる次式に帰着する。
\begin{align}
T &= 2T_{dis} \\
&= 2RCln(\frac {V_{+sat}}{V_{-sat}}) \tag{D-1}
\end{align}
設計
アイドリング時における電圧は約0.55V、当然だが車速パルスは出現していない。今独り身故走行時のパルス信号もオシロで測定できる環境にない。そこで、回路シミュレーターを使って回路設計を進め、アイドリングにおける動作が問題ない事を確認した上で、実走行での検証を行うことにする。
アイドリング制御に於ける周波数はアイドリング車速の半分の4km/hに応じた周波数1.4Hz以下に抑えるように回路の基本設計を行う。下表の算定根拠参照の事
Pulse per Evolution | Nissan | 2 | pulses |
VSS km/h | 60.0 | 8.0 | 4.0 |
Revolution rpm | 637 | 84.9 | 42.5 |
Pulses per min | 1274.0 | 169.9 | 84.9 |
Frequency Hz per sec | 21.233 | 2.831 | <1.42 |
検証
シミュレーション
シミュレーションを踏まえ最終的に得られた発振回路とシミュレーションの結果を下図に示す。
設計上のポイントは以下の通りである。
- アナログ版
発振出力はカーブした立ち上がりになっている。ドライブ段を導入して矩形なシャープな立ち上がりに補正する - デジタル版
6連シュミットトリガー機能を有する74HC14APは一連でも動作するが、今回は二連使っている。また発振出力電圧が弱いのでドライブ段で増幅処理を施している - 当初ドライブ段は定番の東芝小信号用NPNトランジスタを利用したが、シミュレーションの結果、アナログ版では立ち上がりが緩慢な為、中出力タイプのNPNトランジスタに変更。一貫性を保持する為にデジタル版も同NPNトランジスタを使用する
- その他
アナログ版は基本的に半導体素子の耐圧以内であれば支障なく12Vでも稼働可能であるが、デジタル版は5V稼働と限定的な条件となる。汎用性の観点からデジタル版、アナログ版双方共5V稼働とする。ECU回路にそのままま投入でき、Arduinoで読む込める事になる。
Breadboard
手軽なBreadboardで発振回路を組立て、LEDの発振点滅及びオシロで発振挙動を検証。当然だが、シミュレーション同等の発振周期を確認。
アイドリング状態
愈々決戦の時
Breadboardによるアイドリング状態での稼働チェックを行う。
ECU本体にダメージを与えないか緊張するが、意を決してTry。
なんの事はなく、Pseudo Pulse投入時で一瞬マフラー音が変わるが、アイドリング挙動自体変化なし。ホッとする。
氷が張った極寒の早朝にも関わらずアイドリングは順調!
因みに、電源とアースはシガーソケットから採取。
回転数
アイドリングにおける回転数信号の電圧は約1.6V。オシロで確認すると綺麗な矩形が出現。パゴダではSchmitt Trigger処理が必要であったが、このままArduinoで読め計測できる。
試作品
Breadboardでの組込みでは走行中パーツが外れるリスクがあるため、一般公道での走行検証用に試作品を作製する。
どっぷりと浸かった充実の1ヶ月半。
さて、公道での実証テストや如何に?Part 2へ続く
Vigorously on the move!
参考:JIS D5601 自動車用スピードメータ
スピードメータの規格はJISで定義されている。以下抜粋する。
5.2.2 指示割合 スピードメータの指示割合は,次のとおりとする。
(1) 機械式スピードメータの速度指示機構は,駆動軸が637rpm(主として四輪自動車用)又は1400rpm(主として二,三輪自動車用)の回転をしたとき,60km/hを指示する割合とする。
(2) 電気式及び電子式スピードメータの速度指示機構は,原則として式(1)が成り立つように指示する割合とする。
$${H}=V \times \frac {n1 \times N2}{60(s) \times 60(km/h)} \tag{1}$$
\(where\)
\(H\): 指示部の入力信号周波数 (Hz)
\(V\): 車速 (km/h)
\(n1\): 表5に示す駆動軸1回転当たりの車速センサ発生パルス数
\(N2\): 表5に示す車速60km/hの時の車速センサ駆動回転速度 (rpm)
車速60km/h時の車速 センサ駆動回転速度 rpm | 駆動軸1回転当たりの 車速センサ発生パルス数 (下記のいずれかの値) | (参考) 適用車種 |
637 | 4, 8, 16, 20, 25 | 主として四輪自動車用 |
1400 | 4, 8, 16, 20, 25 | 主として二,三輪自動車用 |
(和文)JIS D 5601-1992
(英文)JIS D 5601-1992
以上