はじめに
※ 本記事の以下を親記事とした子記事に位置付けられる。
https://www.simulationroom999.com/blog/physical-value-conversion/
前回までにエアフロメータから吸気流量を求める関数を導出した。
これを実際のECUに組み込む際の仕様に落とし込む必要がある。
今回はSimulinkモデル風に仕様表現してみる。
積分と移動平均
実際に積分を考える際は\(\sum\)ではなく、「移動平均」を保持している方が有利であることが多い。
「\(2TDC\)間の移動平均」が分かっており、後は「\(2TDC\)時間」が分かれば、
$$\displaystyle \int M_{air}[g/sec]dt[sec]=2TDC間の移動平均[g/sec]×2TDC時間[sec]$$
となり、結果として
$$G_{air}[g]=2TDC間の移動平均[g/sec]×2TDC時間[sec]$$
となる。
移動平均と時間積分はかなり密接な関係にあると言って良い。
(ノイズ除去用フィルタだと思ってたら大間違いってことは多い。)
論理モデル
とりあえず、何も考えずにモデル化すると以下となる。
※ 吸気流量とエンジン回転数の関係性については以下の記事で記載。
処理タイミングとしては、以下2つ。
- クランク角\(30[deg]\)毎処理
- エアフロメータセンサ値取得
- 移動平均
- \(TDC\)タイミング処理(クランク角\(30[deg]\)毎処理が12回に1回)
- \(TDC\)時間算出
- 吸気流量算出
考えられ改善点としては以下。
- MAP検索を毎回やるよりも移動平均後に一括でやった方が良さそう。
- 移動平均を毎回やるよりも12回に1回に纏めた方が良さそう。
実装モデル
論理モデルは数式をそのまま表現したものであったが、実装モデルの段階では処理負荷を考え演算を最適化したり、処理周期が長い方に演算を寄せたりする。
今回の場合だと以下のようになる。
かなりスッキリした状態になる。
一見すると消えた仕様があるが、消えたというよりも別の概念に溶けたイメージ。
- 流速流量変換の積分仕様は移動平均用のバッファに溶けて消えた。
- 体積質量変換仕様はMAP変換に溶けて消えた。
このように実装モデルだけ見ると、元の数式が分からなくなることが多い。
よって、仕様のトレーサビリティが重要という話が良く現場では出てくる。
まとめ
- 積分仕様は移動平均で表現されることが多い。
- 処理負荷の都合で演算が移動することが多い。
- 演算の移動や最適化の結果、元の数式が影も形も残らないことが多い。
コメント