A great job from Thomas Schattat from Germany.
- Adaptable to other single-cylinder bikes.
- Tuning of the advance curve (255 points).
- Software source available (.ASM).
- 7.500RPM max
- Compact & economic.
- Don’t need a alternator.
- Need a battery
Designed for a TT600R, this ignition is generating the High Voltage needed to load the capacitor.
It doesn’t need a AC alternator.
“DC-DC converter control circuit” switch on/off the primary coil of the L1 transformer at 25KHz.
At the secondary of the L1 transformer, one can find the primary voltage multiplied by 10 then rectified by B1 bridge. One get approximately 160Vcc that charges C2 capacitor.
The energy in the spark is E=0.5 * C * U*U (joules,farad,volts)
At 12.000 rpm, with a scope we measure that the time available to charge a 1uF capacitor is 5ms
To go from 0 to 320volts in 5ms, it needs an Energy of:
E=0.5 * C * U*U
E=0.5 x 1 x 10-6 x 3202
E=0.5 x 1 x 10-6 x 102400
E=0.05 joules = 50mJ
25 to 100millijoules are enough to get a spark.
0.05J for 5ms => Then for 1 second (1000ms):
1000ms/5ms x 0.05j = 10 joules
To convert in Watt: 1 joule = 1 Ws (watt second) so 1 joule during 1 second = 1 watt
The positive shape of the pickup signal is shorted by D12 diode.
Only the negative part of the signal is used. The dividing bridge R16 + R18 fixes the potential at AIN0 entry to 2.9volts.
D9 and D10 protects the entry from over-voltage.
The negative pulse is detected by the processor, which calculates the necessary delay then provide a zero volt pulse to Q1 transistor.
The transistor than become ON and blocks the inverter circuit MC34063 so that it does not produce any more high tension and trigger at the same time T2 thyristor.
The thyristor discharges the charged capacitor C2 in the ignition coil.
The coil amplifies this tension by approximately 100, and provides 20.000volts to the spark plug which generates a spark.
Over 8000 RPM, the ignition is switch off (line 54)
Under 588 RPM, the ignition is switch off (line 56)
Between the maximum and the minimum RPM, the ATMEL measure the duration
between two pick up pulses in 400us units (four hundred microseconds)
to deduce the speed engine in RPM.
According to the speed, the processor calculate the position
in the map. (line 59)
At this position of the map (a 256 values table, lines 105 to
116) the ATMEL found a delay value.
Then the ATMEL is waiting during this delay [in 100us units
At the end of the delay, a 400us duration pulse is sent to the
Duration of the spark:
The duration of the spark cannot be adjust on a CDI, it depend of the capacitor value and the coil value. After all we can adjust the duration of the pulse that trigger the thyristor.
This pulse duration can be change line 85, but without impact on the spark duration.
You can change directly the values from the table (lines 105 to 116)
And don’t forget:
The timing delays in the assembler program are based on a pickup coil mounted about 58° before highest piston position, different bikes may have different positions here!!
Assembling the .ASM file in a .HEX file with a assembler:
|PCB||Circuit imprimé.PNG||Eagle V4.11|
|Cuivre & composants.PDF||Cuivre & composants.BRD|
Compiled with http://www.batronix.com/
You can remove the line “INCLUDE 89C2051.mc” if your compiler doesn’t need it but make sure that the ports I used are known by the assembler, otherwise you’ll get a different error.
Also the syntax may not completely be accepted by your compiler and you may have to tweak a bit.
L1: naked transformer available at Conrad Electronics
order #:51 66 43
Primary coil : 25 turns 0.5mm wire
secondary coil: 160 to 180 turns 0,15mm wire
Important : Leave a little air-gap between the 2 metal parts by slipping a bit of paper for example.
Another How-To build the transformer.
– This ignition on a BMW F650 Enduro: