Page 1 of 1
Megamanual correct? (Next Pulse Tolerance)
Posted: Sat Jul 25, 2009 10:03 am
by Philip Lochner
The base ignition settings of Megamanual reads as follows:
Megamanual wrote:If a pulse is NOT received after X+PulseTol, a tooth is assumed to have been missed.
Should that not read: If a pulse is NOT received
before X+PulseTol, a tooth is assumed to have been missed. ?
Re: Megamanual correct? (Next Pulse Tolerance)
Posted: Sat Jul 25, 2009 6:19 pm
by grippo
PulseTol is a % tolerance, so the processor looks at the times between teeth or tach pulses, depending on mode, and applies the rule that the differences between the times must be within +/- pulseTol %. If the difference is too large, a virtual pulse is assumed to have occurred, and if too small, the pulse is rejected as noise. But, If they are outside the tolerance more than one time in a row, the processor begins the resynch process and rpm is set to 0.
Re: Megamanual correct? (Next Pulse Tolerance)
Posted: Sat Jul 25, 2009 11:15 pm
by Philip Lochner
Thanks Al
That is how I understand it which is why I think a rewording of the manual might help:
Megamanual:
So if the time between the last two events is X, then if then next pulse occurs within X-PulseTol, it is rejected as a false trigger. If a pulse is NOT received after X+PulseTol, a tooth is assumed to have been missed.
Suggestion:
So if the time between the last two events is X, then, if the next pulse is NOT received after X-PulseTol and before X+PulseTol, a tooth is assumed to have been missed. If a pulse occurs before X-PulseTol or after X+PulseTol, it is rejected as a false trigger.
Re: Megamanual correct? (Next Pulse Tolerance)
Posted: Sun Jul 26, 2009 3:37 pm
by grippo
The problem with your suggestion is that it assumes the processor is polling every microsec or so " did I get a pulse ?". In fact it doesn't do anything until it does receive a pulse via interrupt (but there is a timeout in case it doesn't receive anything for a relatively long time). Then it only rejects as noise if the received pulse is before X-tol. If it occurs after X+tol it doesn't reject as noise, it assumes a pulse was missed.
The algorithm isn't perfect, but its main purpose is not to correct for noise/ weak detection, it is to minimize the chance of ending up with an incorrect tooth count and not knowing it. That is why it resynchs pretty quickly if everything isn't right.