はじめに
※ 本記事の以下を親記事とした子記事に位置付けられる。
https://www.simulationroom999.com/blog/physical-value-conversion/
前回までにエアフロメータから吸気流量を求める関数を導出した。
これを実際のECUに組み込む際の仕様に落とし込む必要がある。
今回はSimulinkモデル風に仕様表現してみる。
積分と移動平均
実際に積分を考える際は
「
となり、結果として
となる。
移動平均と時間積分はかなり密接な関係にあると言って良い。
(ノイズ除去用フィルタだと思ってたら大間違いってことは多い。)

論理モデル
とりあえず、何も考えずにモデル化すると以下となる。
![吸気流量変換モデル例。クランク角30[deg]毎処理、大気圧P_A[mmHg]、大気温度T_A[degC]、エアフロ出力電圧V_AFM[V]、吸気流速M_Air[g/sec]、2TDC間吸気流速平均、電圧[V]→体積流速[L/sec]→質量流速[]g/sec]、処理負荷低減を考えると移動平均を先にして、MAP検索をTDC処理が和にもってくるかも。体積質量変換ではなく、時間の概念を含む流速流量変換[L/sec]→[L]を先にした方が処理的にはお得感がある。](https://www.simulationroom999.com/blog/wp-content/uploads/2020/04/03_論理モデル.png)
※ 吸気流量とエンジン回転数の関係性については以下の記事で記載。
処理タイミングとしては、以下2つ。
- クランク角
毎処理- エアフロメータセンサ値取得
- 移動平均
タイミング処理(クランク角 毎処理が12回に1回) 時間算出- 吸気流量算出
考えられ改善点としては以下。
- MAP検索を毎回やるよりも移動平均後に一括でやった方が良さそう。
- 移動平均を毎回やるよりも12回に1回に纏めた方が良さそう。
実装モデル
論理モデルは数式をそのまま表現したものであったが、実装モデルの段階では処理負荷を考え演算を最適化したり、処理周期が長い方に演算を寄せたりする。
今回の場合だと以下のようになる。

かなりスッキリした状態になる。
一見すると消えた仕様があるが、消えたというよりも別の概念に溶けたイメージ。
- 流速流量変換の積分仕様は移動平均用のバッファに溶けて消えた。
- 体積質量変換仕様はMAP変換に溶けて消えた。
このように実装モデルだけ見ると、元の数式が分からなくなることが多い。
よって、仕様のトレーサビリティが重要という話が良く現場では出てくる。
まとめ
- 積分仕様は移動平均で表現されることが多い。
- 処理負荷の都合で演算が移動することが多い。
- 演算の移動や最適化の結果、元の数式が影も形も残らないことが多い。
コメント