Elektronische Zuendung

Programmiergrundlagen für Elektronische Zündung

Wie berechne ich den aktuellen Zündzeitpunkt für eine selbstgebaute Elektronische Zündung mit Mikrocontroller?




Wenn man sich auf einen festen Interpolationsabstand festlegt, dann
kann man das in recht wenigen Takten erledigen.

Grundgerüst:
1. Drehzahl bestimmen
2. Tabellwert kleiner der aktuellen Drehzahl lesen
3. Tabellwert größer der aktuellen Drehzahl lesen
4. Differenz bestimmen
5. solange Tabellen_drehzahl + Interpolationsschritt < Drehzahl
Korrekturwert = Korrekturwert + Differenz
Tabellen_drehzahl = Tabellen_drehzahl + Interpolationsschritt
6. Korrekturwert = Korrekturwert / Interpolationsfaktor
7. Interpolierter Tabellenwert = Tabellenwert_klein + Korrekturwert

Wenn man als Interpolationsfaktor eine 2er Potenz wählt, sprich das
Teilen durch eine Shift-Operation ersetzen kann, sollte der
Rechenaufwand recht niedrig bleiben.