Go Down

Topic: Motorcycle ignition advance, simple project? (Read 17112 times) previous topic - next topic

HugoW

The engine aleady has some sort of sensory system instead of point, so I hop to use those. That would be the easiest.

And with a bit of help I found the basic curve on the motor (without vacuum advance):
20 degrees below 1650 rpm
40 degrees above 3500 rpm
So I won't make a table for the rpm vs advance numbers, making five if-then-else rules will already make it possible to make the curve more detailed then it is now!

Cheers,

Hugo

HugoW

Well, starting the count / setting the trigger signal at 180 degrees from TDC proves not to be very useful, I better start counting. With a dwell time of 4000us (micro symbol?!?) I get a negative amount of us about 6.700 rpm! Setting the trigger / starting the count at TDC leaves a bit more time. I'll see if I can post the excel I made about it.

Hugo

HugoW

Spanner in the works; on a forum about the bike I am building I am advised to say away from tuning these engines. They are air cooled and prone to cracking the heads even without tuning. Adding advance ignition will increase combustion efficiency, and therefor temperature. Without controlled cooling (liquid cooling with a thermostat) it is best to stay away from tuning...

Bummer...

Hugo

GoForSmoke

Time to find an old engine to improve. Perhaps a lawnmower or chainsaw engine.
If it breaks, not a big loss and you won't be riding it.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

HugoW

Well, I am looking into adding oil cooling to the engine, see whether that makes a significant change to running temperatures. If I can manage the temperature, I feel comfortable adding performance.

Cheers,

Hugo

dwightthinker

You might include temperature of the heads as one of the
parameters of timing.
Dwight

HugoW

True, but it kinda voids the idea. I wanted to add 'vacuum advance' to make it run more efficient. When the engine is cold it is not running efficient because it is cold, and when it gets warm I get to cancel the added advance to avoid it running hot, cancelling the effect of making it more efficient. Hmmmm, I'd like some experience numbers on this engine when it gets to tune-ability. Back to the GSResource forum...

Cheers,

Hugo

GoForSmoke

See about water-methane injection to cool the air charge going into the cylinder, it worked on supercharged fighter engines in WWII.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

HugoW

Or add nitrous. No, I'd like to stick to pump gas. I have some plans but until I feel comfortable the engine is up to it, the electronics bit is in the waiting room.

Hugo

GoForSmoke

Nitrous is a whole nother thing. MW only mediates heat.
I remember seeing water-injection for my old Type-3 VW. It ran best in rain as it was.

1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

trewjohn2001

Spanner in the works; on a forum about the bike I am building I am advised to say away from tuning these engines. They are air cooled and prone to cracking the heads even without tuning. Adding advance ignition will increase combustion efficiency, and therefor temperature. Without controlled cooling (liquid cooling with a thermostat) it is best to stay away from tuning...

Bummer...

Hugo
Tuning means a lot of things to a lot of people.  One of the biggest advantages of Electronic ignition and fuel injection  vs Clockwork timing and "leaky bucket" fuel mixing is the drivability.  Peak power might not be higher but you don't get as many flat spots or dips in the delivery.

There are a lot of dedicated RPM chips that use inductive pickups that you could use to take the load off the Arduino. 

noisymime

Whilst the AVRs obviously have a disadvantage when it comes to pure clock speed, MCUs like the 2560 do have a bit going for them compared to a lot of the newer ARM chips. They're 5v (Automotive sensors are traditionally almost all 5v), have a heap of built in EEPROM and a stack of timers available.

If you are going down this path, it's the timers that make the whole thing possible on an AVR. There is definitely enough accuracy and speed to do it on these chips, but if you try to force it all in the main program loop then you're going to have a bad time.

With you're triggering, if you want proper advance control, you're going to need more resolution than 1 pulse per RPM. The bare minimum I'd recommend for ignition control is 4 per RPM, but more is better. Wheels like the 36-1 are common as they give you both the crank position and the RPM with good resolution.

dwightthinker

One thing you might want to plot out before doing much more.
Plot out the time delay for the different advances.
You might be surprised at how flat the time delay was.
Dwight

HugoW

Well, I've done some math (actually Excel did...). I do'n't quite know how to put it in words decenlty, but I hope you'll understand. Working with only a TDC sensor will not work at all:

Maximum accelleration:
12000 revs per minute per second =>
200 revs per second per second =>
0,000200 revs per second per µs                                    
                                       
At 1k rpm one rotation takes 60.000 µs, so with 0,00002 revs per µs, maximum of 12 revs is added in the estimated revolution following the one at 12k rpm.                                       
At 12k rpm one rotation takes 5000 µs, so with 0,00002 revs per µs, maximum of 1 rev is added in the estimated revolution following the one at 12k rpm.                                       

So a decent 64-1 wheel is certainly required, maybe 32-1, and the thing will need to do the math VERY quickly.

Hugo

GoForSmoke

12000 revs per minute per second
That is an acceleration term with mixed time units

Quote
200 revs per second per second =>
0,000200 revs per second per µs      
Is the max acceleration at 12K rpm 200 revs/sec/sec?
                        
Quote
At 1k rpm one rotation takes 60.000 µs, so with 0,00002 revs per µs, maximum of 12 revs is added in the estimated revolution following the one at 12k rpm.                                       
At 12k rpm one rotation takes 5000 µs, so with 0,00002 revs per µs, maximum of 1 rev is added in the estimated revolution following the one at 12k rpm.   
Except that acceleration compounds the speed. The increase will be *moar*.

What's the difference between spark advance at 12000 rpm and 12001 rpm and why does that need special handling?

Fast calculations? You don't need to calculate at run-time what you can pre-calculate and table in flash and look up in a few cycles at run-time.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

Go Up