COP Ignition Development

Here is my test setup. It consists of two $3 Arduino nano boards connected with jumpers. One board simulates the distributor sensor, cranking at 200 RPM, then idle, followed by RPM ramp to about 6000 RPM followed by ramp back to idle.... and repeats. The many colored wires connect to an 8 channel logic analyzer, for capture and measurement of signal timings.
View attachment 20151208_152054.jpg

I found a few hours to make progress on the system. The measurement system that reads the MAP sensor and battery voltage is reporting values via the simple VT100 terminal user interface. The user interface also configures basic engine settings for RPM range, number of cylinders, RPM limit and of course RPM and MAP advance curves. It is simple to change the advance curves in real-time by using keyboard key to select, then increase or decrease by 1 with each press.

The VT100 application has file send and receive capability for data logging and loading or saving configurations. Later a B4J application with more features will be used for an improved user interface. The timing advance curves shown are not realistic, they are being used to test advance vs RPM.
View attachment copgui.PNG

Here is a RPM ramp from idle to RPM limit of 5500. The blank area is ignition cut. The RPM is measured every ignition cycle.
View attachment IdleRl.jpg

This is an example of idle timing. Note the signal fall (ignition event) is near right most part of falling reference signal.
View attachment InitTime.jpg

This is an example of timing at 5300 RPM, note that it is closer to the left side of reference signal, showing about 40 degrees advance.
View attachment 5300Tim.PNG