An engine ignition control method for controlling timing of spark for initiating burning in a combustion chamber of a four stroke cycle internal combustion engine, said engine comprising a cylinder, a piston in said cylinder, a single notch crankshaft connected to said piston, said engine ignition control method comprising:
- a crankshaft position sensor detecting the single notch crankshaft rotational movements and generating periodic pickup electrical signals as the single notch crankshaft rotates during a combustion cycle, wherein one crankshaft position sensor pickup electrical signal being generated for each full rotation of the single notch crankshaft;
- an intake manifold air pressure sensor continuously measuring air pressure in an intake manifold in the engine;
- a computer processor executing an ignition synchronization process comprising:
- periodically receiving the crankshaft position sensor pickup electrical signals;
- continuously receiving the intake manifold air pressure measurements;
- predicting a next lapse time from a current crankshaft position sensor pickup electrical signal to a next crankshaft position sensor pickup electrical signal to verify crankshaft angular velocity for each full rotation of the single notch crankshaft, comprising:
- computing a current lapse time, which is time lapsed since time of receipt of a last crankshaft position sensor pickup electrical signal until time of receipt of the current crankshaft position sensor pickup electrical signal, wherein the current crankshaft position sensor pickup electrical signal being the crankshaft position sensor pickup electrical signal most recently received by the computer processor, and the last crankshaft position sensor pickup electrical signal being the crankshaft position sensor pickup electrical signal received by the computer processor prior to the current crankshaft position sensor pickup electrical signal;
- computing a difference in lapse time between a last lapse time and the current lapse time, wherein the last lapse time is time lapsed since time of receipt of one prior to the last crankshaft position sensor pickup electrical signal until time of receipt of the last crankshaft position sensor pickup electrical signal;
- computing a predicted next lapse time, wherein the predicted next lapse time being the sum of the current lapse time and the difference in lapse time multiplied by a reasonable weighing factor;
- computing a next capture window of the next crankshaft position sensor pickup electrical signal using the predicted next lapse time wherein the next capture window being a configurable period of time centered around an instance of time that is the predicted next lapse time past the time of receipt of the current crankshaft position sensor pickup electrical signal;
- determining whether the current crankshaft position sensor pickup signal occurred within a current capture window of the current crankshaft position sensor pickup electrical signal;
- if within the current capture window of the current crankshaft position sensor pickup electrical signal, then a current crankshaft angular velocity calculated from the current lapse time is verified;
- else
- if not within the current capture window of the current crankshaft position sensor pickup electrical signal, then the current crankshaft angular velocity is inaccurate and discarded;
- determining correct points of spark triggering;
- generating a spark-triggering electrical signal at each correct point of spark triggering;
- wherein the determination of the correct points of spark triggering comprising:
- if the current crankshaft angular velocity is verified, determining a spark advance based on the current crankshaft angular velocity;
- and
- setting each of the correct points of spark triggering at approximately after each of the received crankshaft position sensor pickup electrical signals that immediately follows each rising edge in the intake manifold air pressure measurements with an adjustment based on the spark advance determined.