Page 4 of 5
Posted: Tue Mar 25, 2008 9:17 am
by grippo
The thing that jumps out at me is that the deltaT alternates from 160 ms to 230 ms over and over, I don't know how you are getting any synch. And it does this whether you have fuel or no fuel (presumably no combustion). I have seen this happen due to combustion with 1 cylinders, where the time between teeth speeds up and slows down. But yours is doing it even without fuel. Is your wheel made correctly ?
Also, I have no explanation for why you are losing synch with fuel and not without fuel. Even more puzzling is why the trigger+/- isn't counting when you lose synch. Unless it is counting up and down with 0 net effect. Are you using the 2.883jt1 or plain j code ?
Can you post the msq you used for these runs ?
[Edited to correct deltaTs - off by a factor of 10.]
Posted: Tue Mar 25, 2008 9:55 am
by geoffct
I am using the 2.883Jt1 which you posted here, but this has had virtually no effect. I'll post the msq later today.
The wheel is made correctly enough for the stock ECU. The engine is a 2 cylinder 180off with 11.3:1 compression and virtually no flywheel, so I think thats the explanation of the 16-23ms (160-310rpms). I ended up setting the next pulse tolerance to 125% to make this work.
Also could you clarify this a bit for me,
- deltaT: the time delta (interval) between rpm pulses in microseconds.
this is actually crank revolution times?
- trigger±: The code for toothed wheels checks for missing or extra teeth and handles them if they occur, but only allows one or 2 corrections in a row. More than this and it re-synchs. This will tell users when they have noise or weak signal issues.
Is this revolutions with missed teeth? Actual missing teeth? And before or after the pulse tolerance and pulse mask etc?
- tachCount: counts tach pulses for use in correlating datalog values with tach pulses (at lo rpm).
From the log this appears to be crank revolutions? Did you mean tachout pulses?
Thanks Again,
Geoff
Posted: Tue Mar 25, 2008 10:21 am
by geoffct
A further question, what am I adjusting when I adjust next pulse tolerance? Is it a tooth to tooth tolerance or a rotation to rotation tolerance?
Thanks Again,
Geoff
Posted: Wed Mar 26, 2008 6:10 am
by geoffct
Here is the MSQ as promised, I am not 100% sure about the settings anymore, there were far too many nights of adjusting this or that, trying to make things work.
Posted: Wed Mar 26, 2008 8:43 am
by grippo
geoffct wrote:
- deltaT: the time delta (interval) between rpm pulses in microseconds.
this is actually crank revolution times?
It is the time between skip teeth - the processor is interrupted every time a tooth arrives, when it counts 12 teeth, as in your case, it calculates deltaT as the differenec btween present cpu clock time and the saved clock time 12 teeth ago. It is accurate to within better than a microsecond, because all the times are stored at the time the tooth arrives, even if the interrupt isn't entered until a bit later because there was another interrupt at that instant.
- trigger±: The code for toothed wheels checks for missing or extra teeth and handles them if they occur, but only allows one or 2 corrections in a row. More than this and it re-synchs. This will tell users when they have noise or weak signal issues.
Is this revolutions with missed teeth? Actual missing teeth? And before or after the pulse tolerance and pulse mask etc?
Again each time atooth arrives, the processor compares tooth deltaT (not a recorded vraiable like rpm deltaT) =present time - last tooth time, with the previous toth deltaT. If the new tooth time is within PulseTol % of the old, it is accepted. If it is out of tolerance too long, the trigger+/- counter counts down (missing tooth) if too short it counts up (extra tooth). This should also answer your PulseTol question in the next post - in your case pulse tol is used for tooth to tooth error checking.
- tachCount: counts tach pulses for use in correlating datalog values with tach pulses (at lo rpm).
From the log this appears to be crank revolutions? Did you mean tachout pulses?
Except in your 2 cyl, 12 tooth wheel, 12 skip teeth case, tach pulses are not crank revs, but in your case they are the same thing.
Thanks Again,
Geoff
Posted: Wed Mar 26, 2008 8:48 am
by grippo
geoffct wrote:Here is the MSQ as promised, I am not 100% sure about the settings anymore, there were far too many nights of adjusting this or that, trying to make things work.
It is possible that the synch logic won't handle the excessive variation you have from one rev to the next. I need to try to duplicate this condition and see if I can get it to lose synch. This may take a few days, but I will let you know what I find. Meanwhile I may give you a test code version that simply omits all error checking and see if that loses synch. I don't think you can do this just by setting Pulse tol high.
Posted: Wed Mar 26, 2008 9:10 am
by geoffct
Thanks for the clarification, some of the terminology gets confusing.
Posted: Thu Mar 27, 2008 6:10 pm
by grippo
I haven't had a chance yet to create a signal like yours, but I have a test code for you to try if you are game. This code still does the error checking and increments the trigger counter, but it doesn't compensate for missing teeth or throw out extra teeth, and it never re-synchs. The only ways you can get a resynch now are by either not getting any pulses for more than about 2-3secs or by not getting a cam sync every 24 teeth. That is, it counts 12 teeth after cam synch and there should be no cam, then it counts another 12 teeth and there should be a cam. If either of those conditions fails, it will resynch (rpm -> 0). It will also set the trigger+/- to 999. If it is losing cam sync, that would explain the failure for trigger+/- to count.
Since this is untested code, the best way to test it is without fuel first, using conditions and inputs as close as possible to those when you ran the previous datalog. On that there were no resynchs, but you can check that the timing remains on track, then you can try it with fuel.
What still puzzles me is that the timing between teeth was alternating 160, 250 ms whether you had fuel(combustion) or not. It shouldn't have done that with no combustion - or is it the fact that it is an odd angle engine so there are 2 compressions on one rev and none on the other - but still I would expect the effect to be stronger with combustion - maybe something like 190, 220 without combustion.
Posted: Thu Mar 27, 2008 8:27 pm
by geoffct
I will try the new code tomorrow (today). I believe you are correct about the compression on one rev and decompression on the second, again 180off 11.3 compression, and no flywheel to speak of.
Could I rework the trigger timing to average a bit better?
On the stock ecu, I was still seeing pulsing at higher rpms.
Thanks Again,
Geoff
Posted: Thu Apr 03, 2008 9:00 pm
by geoffct
Still no success, here' s a log with fuel cranking. It stuttered a few times, but I didn't have it logging. My battery is running down so its on the charger until Saturday.
Geoff