• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

Sasavoのブログ一覧

2011年06月23日 イイね!

Speed Limiterの謎 ~其の弐~

さてさて。
其の壱で、Speed Limiterが思ったように働かない事が分かりました。

今回は、なぜ働かなかったのか、もう少しツっ込んだ解析をしてみます。

まず、Romraiderの定義から、『Speed Limiting A (Throttle) SI-DRIVE Sport/Sport Sharp』のアドレスを見ると、『DC640』ってなってます。

では、このアドレスの辺りを覗いて見ましょう。



どうやら、『BBA5A』と言うアドレスにあるルーチンが参照している模様。
では、そのルーチンは何をしているの・・・・か?


おぉぉ・・・・なんかそれっぽいルーチンが見えてきました。
どうやら、『Speed Limiting A (Throttle) SI-DRIVE Sport/Sport Sharp』だけではなく、、
他の3つのリミット値も読み込んでいるようです。



しかしっ!  ( ̄Д ̄;)


アセンブリ言語なんぞ、ここんところ、スッカリご無沙汰です。
ニーモニックなんて忘れました。

それよりも何もっ!  σ( ̄Д ̄;)


そもそも、ECUに使われている『SuperH Series』のオペランドを、知りません・・・


またまた困ったぞっと。



ふぅ・・・・こうなったら、あれです。そう、あれですよ。あれ。

人海戦術っ!!  ヽ(゚∀゚)ノ


このルーチン群が、Speed Limitを制御していると信じて、ありったけの情報を漁ります(w

まず、この中で色々参照されている変数の正体を突き止めてみましょう。
で、見てみると、ROM領域の参照がこれくらい。

    dword_C5234
    byte_C4C36
    dword_C523C
    dword_C5244
    dword_C5238
    byte_C4C37
    dword_C5240
    dword_C5248
    dword_DC604
    dword_DC608

で、ROM上の値をはめてみると・・・・

    dword_C5234 = 0
    byte_C4C36  = h01
    dword_C523C = 10000
    dword_C5244 = 500
    dword_C5238 = 30
    byte_C4C37  = h07
    dword_C5240 = 0
    dword_C5248 = 10
    dword_DC604 = 3600
    dword_DC608 = 3600



( ̄Д ̄;) ??


なんのこっちゃか、全く分かりません。
では、RAM領域の方は・・・?

    unk_FFFF6180
    unk_FFFF6474
    unk_FFFF671C
    unk_FFFF6A58
    unk_FFFF6AD1
    unk_FFFF6323
    unk_FFFF6B30
    unk_FFFF6B08
    unk_FFFF6A58

こんだけ参照しています。
う~~ん・・・どんな値が入っているのでしょうか?

こうなったら、Loggerで覗いてみましょう♪


こんな感じで、Loggerの定義ファイルに、エンジニア・パラメーターを追加しちゃいます。
どんな値が取れるのか分からないので、変数タイプや表示フォーマットはテキトーです。

さて。。では。。走ってきます(w


Posted at 2011/06/23 23:21:34 | コメント(1) | トラックバック(0) | ECU | クルマ
2011年06月23日 イイね!

Speed Limiterの謎 ~其の壱~

難解な『DBW』の件は一度ペンディングして、今回は『Speed Limit』の話を。

Romraiderの定義ファイルには、『Miscellaneous - Limits』と言うメニューの中に、
以下の8個の設定がありました。



 ・Rev Limit (Fuel Cut)

 ・Rev Limit Fuel Resume (Boost)

 ・Speed Limiting Enable (Fuel Cut)

 ・Speed Limiting Disable (Fuel Cut)

 ・Speed Limiting A (Throttle) SI-DRIVE Sport/Sport Sharp

 ・Speed Limiting B (Throttle) SI-DRIVE Sport/Sport Sharp

 ・Speed Limiting A (Throttle) SI-DRIVE Intelligent

 ・Speed Limiting B (Throttle) SI-DRIVE Intelligent




どれも妖艶な内容ですが・・・・今回のターゲットはSpeed Limiterです。
となると、関連しそうなのは、下の6つですが、『(Fuel Cut)』の値は、
リニア・モーターカーでも無い限り到達しないであろう値なので、無視できるかと。
それ以外の実質4つが、ターゲットになりそうです。

まずは、定義ファイルがあっているか確認のため、小さめの値を入れて、書込&実走してみます。
今回は、4つの全ての値を、『None Below = 75』、『 High Above = 80』にしてみました。

早速、書込&実走~  ヽ(゚∀゚)ノ


70コエタ  ヾ(*゚∀゚*)ノ






75コエタ  (´ー`)






80コエタ  ゥ──σ(・´ω・`;)──ン





100コエタ  ( ̄Д ̄;)



もちろん、Speedはダッシュ・ボードのメーター読みではなく、
LoggerのVehicle Speedで見ています・・・・

はて・・・一体どういう・・・・?

定義ファイルのアドレスを間違えたのでしょうか?

もし、そうだとしたら、一体何のデータを書き換えたんだっ?( ̄∑ ̄;)

そう考えるとオソロシイ・・・・・

エンジンも回っているし、走るブンには問題無し。
Loggerでいつも取っている値も、見る限りは正常と思われる値です。

困ったぞっと。


こうなったら、『必殺っ!! Reverse Engineering!!』

えぇと・・・何を『必ず殺す』のか分かりませんが・・・
そもそも、必殺って言葉は誰が作ったんでしょう・・・・
イカンイカン・・・・・横道に逸れてしまう・・・・


って、事で、次へ続きます・・・・
Posted at 2011/06/23 14:45:54 | コメント(0) | トラックバック(0) | ECU | 日記
2011年06月21日 イイね!

DBWをいぢるっ! ~其ノ六~

いよいよ最終回(にしたい)です。

さて、前回作ったマップのインプレッション♪

まずは書き込み。これは、厳かに終了。

セルを回してみます。
ECUリセット後の一発目のクランキングは長めですが、程なくエンジン始動。

A/C-Onで、しばし学習。

さて。走り始めますよぉ~

そうそう。これも同じくですが、ECUリセット後は、スロットル・センサーの学習がされていないようです。
踏み始めは『ダルゥ~』な感じなので、何度か『ベタ踏み』してみましょう。


まずは『Intelligentモード』

これは、ビンゴッ!期待通りです。
NAのようなマイルドな仕上がりになっています。

ドッカンな感じは全く無く、エンジン回転の上昇と共に、チカラも出てくる感じ。
味わいとしては、先日借りた、2.5iのようなエンジン・フィールです。
(M/TとCVTの差は有りますが、そこはご愛嬌で・・・)



となると、更なる期待が出てくるのが、『Sportモード』
SI-Driveのトグルを回し、いざモードチェンジっ!! ヽ(゚∀゚)ノジぃ ジぃ ジぃ ジぃ 





ヾ(*゚∀゚*)ノ






(´ー`)






ゥ──σ(・´ω・`;)──ン





( ̄Д ̄;)







えぇぇと・・・・シャクトリ虫が止まりません・・・・・
クラッチ・ミートがとてもし辛いです・・・・
乗れたもんじゃありません・・・・


アクセル操作に対して、電スロが機敏に反応しすぎます。
アクセル・ペダルをちょっと触っただけで、タコ・メーターが激しく上下
足回りを固めているのもあり、路面の凹凸でバンプする度に、ガッコンガッコン



ふぅ・・・・・ と、なると・・・・・













『電子制御殿、先日の無礼、ひらにひらにお許しをっ!
  どうか私めの貧弱な右足をお助けくださいっ!!』




って、なりますな(w



で、『Sportモード』だけ、マップを見直します。
踏み始めはソフトに、踏み込み量が増えるに連れ、大きく開けるようなマップに変更してみました。
 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Sport [Before]
   

 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Sport [After]
   


この改修で、やりたい事はできた気がします。(乗りやすいかどうかは、やや別問題)
クラッチ・ミートや巡航で使う、アクセル開度の低い部分は、電スロの反応を鈍くし、不器用な右足を助けます。
また、チカラが欲しい時は、グイッと踏めばダイナミックな加速を得られるようになりました。



ただしっ!!

これらは、あくまで『想定』で進めてきただけです。

 想定 = 妄想 ≒ 仮説となると・・・
このままではオカルトで終わってしまいます。

  検証して証明してこそ科学。


う~~ん・・・・メンドイ・・・・・


ここでは、安易にログ採取の方向で・・・・ヾ( ̄ ̄▽ ̄ ̄)ノ



と言う事で、ログを採取してみました。
 ・ Logging Data SI-DRIVE Sport

 ・ Logging Data SI-DRIVE Intelligent



アクセル・ペダルの踏み込み量に対して、リクエスト・トルク、電スロの開度は、だいたいは比例して動いているようです。
(LoggerのDelayがやや有ると思うので、全く一緒にはなりきらない模様・・・)
と、言う事で、おおよそは想定通りでした・・・・・・がっ!

このログからは分かりづらいのですが、ところどころに電スロの謀反が見受けられます。

アイドリングやA/Cの制御によって、多少のブレが出るのは分かるのですが、
それだけでは説明できない『ヒゲ』みたいな部分があります。

これ何だろうなぁ・・・・
放置してたテーブル(Requested Torque Base (RPM))のせいかなぁ・・・

なんて、思案していたら、wildspeedさんから有益な情報を頂きましたっ!
RomraiderのHPにある、『Log file interpolation(ExcelFile)』を使うと、
マップ設定値の計算が便利になるようです♪
ちょっと、このExcelFileと格闘してみようと思います。


と言う事で、『DBW偏』は、まだCloseできず・・・・(w
Posted at 2011/06/21 15:06:53 | コメント(1) | トラックバック(0) | ECU | クルマ
2011年06月17日 イイね!

DBWをいぢるっ! ~其ノ五~

ついに、このテーマで5回目となりました。
そろそろ、ケリを付けたいところ・・・・

全開までで、DBWがどのような制御を行っているのか、だいたいの見当が付きました。
で、これを好みにチューニングしていく訳ですが・・・・

一つハッキリさせておかなければならない事が残っています。

それは、『自分の好みってどんな?』って事です。

この軸足がブレてしまっては、何をどうしても、ムチャクチャな結果になってしまいます。

では、僕の好みは?と、いうと・・・・

『スロットルの調整は、我輩の黄金の右足が全て受け持つ。
               電子制御風情が、口を出してはならんっ!!』


って、事に尽きます。

で、考えた結果、限りなくリニアなマップにしてみました。




 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Sport
   

 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Sport Sharp
   

 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Intelligent
   


『Sport』モードは最大要求トルクを『400』に、『Intelligent』モードは最大要求トルクを『170』にした上で、それぞれ直線比例に割り当ててみました。
『Sport Sharp』は、使い勝手が特に思いつかなかったので、そのままにしてあります。
合わせて、グラフのX軸スケールも、均等に割り振りし直しています。




 ・ Requested Torque Base (RPM)
   

このテーブルは、まだ『未知』なので、それほどダイナミックに触っていません。
少し盛ったくらいです。





 ・ Target Throttle Plate Position Cruise (Requested Torque Ratio)
   

 ・ Target Throttle Plate Position Non-Cruise (Requested Torque Ratio)
   

 ・ Target Throttle Plate Position Maximum (Requested Torque Ratio)
   

ここも、3つのテーブル全て、リニアなマップに変えてみました。
これで、『ハーフ・スロットル病』治るのではないかと期待しています。


 
『DBWをいぢるっ!』   次回完結(予)


Posted at 2011/06/20 16:19:53 | コメント(2) | トラックバック(0) | ECU | クルマ
2011年06月16日 イイね!

DBWをいぢるっ! ~其ノ四~

さてさてさてさて。つべこべ言ってるうちに、既に四回目。
ちゃっちゃと話を進めましょう(w

Romraiderの定義ファイルからDBWの項目を見ると、3つの構成要素から、7つのテーブルがあります。

 ■ Requested Torque (Accelerator Pedal)
   エンジンの回転数(rpm)とアクセル・ペダルの踏み込み量(%)から、要求トルクを決定するテーブルと思われます。
   SI-DRIVEのモード毎に、計3テーブルある。
   『これだけ出しやがれっ』って、指示を出すテーブルです。
   会社で例えると、経営者ですね。

 ■ Requested Torque Base (RPM)
   エンジンが回転数(rpm)に応じて出力できる(と思われる)トルクを決定するテーブルと思われます。
   エンジンのトルク出力特性を設定しているようです。
   『がんばって、こんなもんでっせ?』って、パフォーマンスを披露するテーブルでは無いかと。
   会社で例えると、労働組合ですかね。

 ■ Target Throttle Plate Position
   上記二つのテーブルの示す値から、実際にどれだけ電スロを開くかを決定するテーブルと思われます。
   走行状況(Cruise, Non-Cruise, Maximum)に応じて、計3テーブルある。
   『こんだけ働けば良くね?』って、実行量を決めるテーブルです。
   会社で例えると、社員ってところでしょうかね。


なぜ『会社で例えたのか?』は無視して、それぞれのテーブルを見てみましょう。




 まずは、経営陣から・・・

 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Sport

 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Sport Sharp

 ・ Requested Torque (Accelerator Pedal) SI-DRIVE Intelligent



『Sport』モードと『Sport Sharp』モードは、要求する最大トルクは共に『390』となっていて、違いは有りません。
が、『Sport Sharp』モードの方が、中負荷領域から多めに要求しているのが見て取れます。
この味付けで、アクセルの踏み込みに対してのエンジン回転レスポンスや力強さに違う感じが出ているようです。

対して『Intelligent』モードは、全体的に数値も盛り方も控えめですが、2000~3000rpm付近では、最大『350』の要求をしています。
これで、低回転域での乗りやすさを実現しつつ、燃費を稼ぐ感じの味付けになっているようです。

ここで、一つ注意が必要なのは、グラフのスケールです。
縦軸のエンジン回転数はだいたいはリニアですが、アクセル開度については、リニアではありません。
下図のように、低開度と高開度の一部で、傾斜がなだらかですが、中開度のところは急傾斜になっています。
つまり、アクセルの踏み始めは細かく制御するけど、中間以降はザックリ制御するよって感じのようです。






 続いて、労働組合を・・・

 ・ Requested Torque Base (RPM)

恐らく・・・『素のエンジン特性は、こんなもんなんだろうなぁ~』って感じの値とは、ちょっと違いますネ。
(意外とフラットだなぁっと)
但し、ターボが付いているので、ブースト圧制御の関係も有るかも知れません。
このテーブルの値だけでは、判断に苦しみます(w。

ちなみに、グラフにすると、こんな感じです。





 最後は、社員を見てみましょう・・・

 ・ Target Throttle Plate Position Cruise (Requested Torque Ratio)

 ・ Target Throttle Plate Position Non-Cruise (Requested Torque Ratio)

 ・ Target Throttle Plate Position Maximum (Requested Torque Ratio)


『Cruise』のマップは、他の二つと違い、4000rpm以上の縦軸はカットされています。
まぁ、巡航でそれ以上の回転数を使う事は無いって事でしょう。
ただ、三つのマップとも、2800~5600rpmまでの間、値に谷間があります。
ふふふ・・・・犯人見つけましたよぉ~

このマップも、グラフのスケールに注意が必要です。





さて、ここまで、純正のマップデータを見てきました。

結局、アクセルと電スロがどのように連携しているかと言うと・・・

 1. アクセルを踏む。
 2. アクセル・ペダルセンサーの値と、現在のエンジン回転数から、要求トルクを割り出す。
 3. 要求されたトルクと、エンジン回転毎の標準トルクから、出力率(??造語です)を決定する。
 4. 出力率とエンジン回転数すうから、電スロの開度を決定する。
 5. 電スロを開く。

って、感じでは無いかと想定できます。

さて、これらを、どのように『自分好み』にアレンジしていくか。

またまたまた、次回へ続きます・・・・ --;
Posted at 2011/06/18 11:38:21 | コメント(0) | トラックバック(0) | ECU | クルマ

プロフィール

機械に雇われてはや数十年・・・・
みんカラ新規会員登録

ユーザー内検索

<< 2026/1 >>

    123
45678910
11121314151617
18192021222324
25262728293031

ブログカテゴリー

愛車一覧

過去のブログ

2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation