Still struggling with ignition issues [mostly solved]

This forum is for discussing ignition setup, tuning, and troubleshooting for MicroSquirt (TM)
Forum rules
Read the manual to see if your question is answered there before posting. If you have questions about MS1/Extra or MS2/Extra or other non-B&G code configuration or tuning, please post them at http://www.msextra.com The full forum rules are here: Forum Rules, be sure to read them all regularly.
SQLGUY
Experienced Squirter
Posts: 243
Joined: Sun May 14, 2006 3:03 am
Location: Colorado Springs, CO

I'm not so convinced about an RPM-linked delay...

Post by SQLGUY »

During cranking I am getting spark right at TDC, but after revving up and letting things settle back down to 1K RPM I am seeing spark at about 10-15 ATDC, even though the current square on the advance map is 170. Cranking is about 600 RPM, so these two engine speeds are not that far apart. If there were a delay that was that bad, I wouldn't think I could get to 4K RPM at all.

I am not using a knock sensor, and that line is currently hanging loose. My captures show KnockRet steady at 0.0, but could I be picking up something from there that's retarding timing after start? IAT actually reads low (53 degress where it should have been more like 78, need to re-do the calibration), so I wouldn't think that would be causing retard, but...?

What about vBatt? That's the one other thing that's very different between cranking and running. A lot of things tie to it, but I don't see anything that looks like it should affect timing offset.

After spending more time looking at the code, it looks to me like cranking ignition just drops through into NORM_IGN when the system is set to "Calculated". I am not so clear on the dtpred calculations. Is there anything in there that works differently between cranking and running - anything that might not be enabled until running?

For the rising edge / falling edge thing, I was thinking more of an oversight in the code, but I do see that INIT sets the TCTL4 bits 0 and 4 consistently for rising edge / falling edge in dual tach mode. I'll just stick with falling edge, since it works the way I would expect.

Thanks,
Paul
Bruce Bowling
Site Admin
Posts: 285
Joined: Mon Feb 16, 2004 4:25 pm
Location: Baltimore, MD

Re: It was never -270...

Post by Bruce Bowling »

SQLGUY wrote: Any thoughts about adding resitors to the VR inputs? What p-p voltage is expected on the VR inputs before attenuation might be needed?
You can add resistors if you like, not sure if it will correct this because you are not losing tach. Try putting in a 4.7 to 10K resistor in series with sensor (+) lead.

The other thing I would do is set all of the advance tables to the same value for a test. Then I would scope the VR input and the ignition output on one channel and run the engine and see the correlation. Do the same with the second VR channel and ignition channel.

- Bruce
SQLGUY
Experienced Squirter
Posts: 243
Joined: Sun May 14, 2006 3:03 am
Location: Colorado Springs, CO

Funny you should say that...

Post by SQLGUY »

rather than using the -70 degree trigger offset I had determined by cranking with plugs out and a timing light, I set it to the -90 degrees I would expect and set my advance table to all zeros.

The result was that the bike could still be started and, at higher revs, even with variations of throttle, showed to be hitting right at TDC by the timing light. As I let the throttle back, and RPM got down below 2K, the timing light (or the timing) got more and more erratic. I am still not sure which is the problem at lower RPM's, but this at least convinces me that I should be able to make some progress with my original advance table (that duplicated the RPM advance of the original TCI unit) and with the trigger offset set to -90.

Cheers,
Paul
SQLGUY
Experienced Squirter
Posts: 243
Joined: Sun May 14, 2006 3:03 am
Location: Colorado Springs, CO

The last problem here is still not solved...

Post by SQLGUY »

That being that my timing gets really erratic below 2000 RPM. Above 2K it's spot on, but as RPM's fall, it starts jumping around more and more (referenced by the timing light and timing marks on the crank rotor).

My spark map is set for TDC at 100 and 95 kPa at 900 RPM (idle is 1050). It's set for 7 degrees of advance at all other MAP's and for 9 degrees at 1600 RPM for all MAPs.

What I see around idle is that the actual firing is jumping around between about 20 degrees BTDC and 20 degrees ATDC. During this time, Megatune continues to show at, or very close to, 7 degrees of advance. I have tried changing to "last interval" from "alpha-beta-gamma" but saw no difference.

Any ideas?

Thanks,
Paul
grippo
MegaSquirt Guru
Posts: 921
Joined: Mon Feb 16, 2004 6:55 pm

Re: Still struggling with ignition issues [not solved]

Post by grippo »

If MT is showing a steady 7 deg advance, then datalog (use last interval to keep things simple) and look at the deltaT column. This represents the time in microseconds between tach pulses, so I believe it represents 180 crank deg in your case. If the delataTs fluctuate or tend to cluster by say 5%, then the advance angles can fluctuate by up to 9 deg. That is why I don't like non-toothed wheels on low weight, low cylinder count engines - they fluctuate a lot in rpm and there is no way to get a good prediction because it is always changing with compression/ exhaust stroke even at idle. At high rpm it doesn't matter because the time between tach pulses shrinks and the timing error has no time to grow. But at low rpm it is terrible. The only way I know to reduce the error would be to track the cylinder pulses and add subtract a certain % of advance that would shrink with rpm and would alternate according to the engine. However, if the deltaT and MT are both very steady, then I would suspect the timing light.
SQLGUY
Experienced Squirter
Posts: 243
Joined: Sun May 14, 2006 3:03 am
Location: Colorado Springs, CO

Re: Still struggling with ignition issues [not solved]

Post by SQLGUY »

Here's a datalog where I was trying to hold the RPM's around 1500 between 443 and 449. To me the delta T looks pretty steady. What do you think? (by the way, I have since added a bit of advance, so at idle it should be 9 degrees and 11 at 1600).

Could battery voltage fluctuations play any part here, or are we back to switching to a 36-1 wheel? At this point, my idle is fairly rough. I expect some of that is due to tuning that still needs to be done, but I also expect that the variance in timing at idle is a big factor.

Thanks,
Paul
grippo
MegaSquirt Guru
Posts: 921
Joined: Mon Feb 16, 2004 6:55 pm

Re: Still struggling with ignition issues [not solved]

Post by grippo »

SQLGUY wrote:Here's a datalog where I was trying to hold the RPM's around 1500 between 443 and 449. To me the delta T looks pretty steady. What do you think? (by the way, I have since added a bit of advance, so at idle it should be 9 degrees and 11 at 1600).

Could battery voltage fluctuations play any part here, or are we back to switching to a 36-1 wheel? At this point, my idle is fairly rough. I expect some of that is due to tuning that still needs to be done, but I also expect that the variance in timing at idle is a big factor.

Thanks,
Paul
Over the time period you are talking about, the deltaT jumps around between 40000 +/- 5000, which is a 12% variation. This is quite a bit, although it doesn't jump that much from one line to the other, which is what really matters. The table advance is very steady at 11deg +/- 1 deg and MAP is incredibly steady at about 70 +/- 1 kPa. The only way I know to conclusively know what the timing is doing is to set the table advance fixed in all the bins near 1500 rpm, 70 kPa and scope the ignition outputs (= inputs to the VB921s).With the table advance steady and the tach input as the trigger on one channel look at the ignition output signal on the other channel. I believe any timing jitter will be due primarily to prediction error in the processor. Time between tachs is about 40 ms, and this represents 360 deg ? Assuming 40 ms per 360 deg, then a jitter of roughly +/- 0.11 ms represents 1 deg error in timing. Yet .1 ms jitter over a 40 ms interval is not a lot - basically perceptible on that scale. This shows how timing error is magnified at low rpm. If you had even a 12 tooth wheel on this then we just have to worry about timing error over a tooth or so, because we go to 1or 2 teeth just before spark and only have to predict over these rather than the whole 360 deg interval.

I don't think battery voltage would have a significant effect on timing. I would only expect it to affect dwell and so the strength of the spark.
Post Reply