点火時間計算__点火角度時間計算

クランク角時間の戻し方

少しややこしい。

回転数が低回転と高回転では、当然クランク角時間は、長くなったり、短くなったり、可変します、

当然、角度は、固定でも、時間は変化します。

例えばエンジン回転数が5000rpm、点火時期が40度を想定して、説明します。

エンジン回転数が5000rpm回転の時エンジン2回転(720度)回る時間は24ms(ミリセコンド)

クランク角センサーの間隔は240度だから24/3=8ms

角度時間は、120度で4ms、60度で2ms、30度で1ms、

ここまでの数値を見ればわかる人は、なるほど、とわかると思います。

もう少し詳しく説明すると2進数を上手に使って、変換を行います



点火角度時間計算

角度時間は、120度で4ms、60度で2ms、30度で1ms、

クランク角時間は16ビットで保存されています、16ビット以上でないと、エンジン制御で必要な正確さで時間計算ができないからです、本当は+1の17ビットですが。計算は、16ビットで計算している。

2進数では、2で割り算する時は、便利な、やり方があります、つまりビットシフトというやり方です

8ビット(11111111)これは255を表現しますこれを1ビット右にシフトします(01111111)これは127を表現します、このようにビットシフトで1/2、1/4を簡単に計算できてしまうのです。

これを応用してクランク角時間(高回転でも低回転でも)は240度だから、16ビットで保存しているこの値をビットシフトを行っていけば、120度60度30度15度7.5度3.75度1.875度0.937度と2で割った角度値が得られます。

これを利用して、角度時間を作っていくのです。

マップに保存している8ビットの値は、8つあります、最上位ビットは30度次は15度その次は7.5度

と順番に対応させて保存しておけは、59.77度から0度までの角度を0.234度単位で表現でき、

この値をマップアクセスで引き出して、クランク角時間信号を加工した値を再計算すれば、

点火時期40度は、30度+7.5度+1.875度+0.46度+0.23度=40.06度で

1/8+1/32+1/128+1/512+1/1024=1.2728msの時間になります。

この時間にドエル時間を加算して、割り込みのオン、オフをすれば、点火信号が完成します。