I need your help !
I have an 3 cylinder outboard engine where the CDI ignition system has decided to give up.
A new part cost above 400 Euros..... What to do ?
Arduino/ESP8266, a couple of parts, some time and BAM that should do the trick !
The Hardware I have and I thought that the software was quite easy. But.....
At the engines flywheel there are three hall sensors that tells the position of the cylinders. A potentiometer is attached to the throttle, telling the electronics to shift the ignition a couple of degrees depending on how fast one wants to go.
Sounds pretty simple.... read a signal and put it out in the other end again (to switch on the ignition coil), sometimes whit a little delay.
If there only where one cylinder - no problem. But I have three !
Max rev. of the engine is about 6000 Rpm. Giving 100 rpS and a frequency of about 33 Hz for every single spark plug. This then allows the controller 25mS to do the ignition before the next cylinder needs its attention - And not to forget the timing potentiometer.
I thought: make a loop checking on three analog inputs and when ever a signal is detected ignite the coil on a digital pin.
NO... This is not stable, it skips to many signals.
Then, what about using interrupts..... But are they fast enough ? I only have 25mS between every cylinder at WOT. What if the one cycle isn't done before the next comes ?
Is there any of you guys out there on this fabulous internet that have any suggestion on how I should aproach this task ?
(It is an 50Hp Yamaha outboard DET0)