Programmable Digital Ignition CDI / TCI


Differences between CDI and TCI


Go to the index

Programmable CDI (Capacitive Discharge Ignition)

The next schematic shows the coil configuration at magnetic plate and the position of the pick-up at the outer sider of the plate. This pick-up is triggered by the step on the plate. Below are shown the signals measured by means of an oscilloscope at the output of the magetic plate, and the output of CDI for the primary of the HV coil.

Ignition performing

The ignition explained here is a conventional one in which the trigger is controller by means of a microcontroller, in this case PIC16F84 of MicroChip. This micro has a FLASH memory that can be written with a simple programer that you can build easily, all information about the programmer can be found at JDM.

PIC receives the signal from the pick-up and delays it by using an internal table. This means that the starting point of the ignition should be place before of PMS at the most advanced point in which you want to the ignition works.

First graph shows the real advance curve measured in degrees over the PMS, nevertheless the PIC can not perform advancing, else it will make a delay from the pickup signal (typically at 36 degrees). For the maximum advance point, the PIC will do a zero delay (for 36 deg. advance). When this maximum value is determined, the second graph can be done, this graph shows delay in degrees that the PIC should perform after receiving the pickup pulse.

The PIC computes the elpased time between the last pulse and the present one, and by using this count it access to a table in which are stored time to delays vs measured period.

CDI Schematic (PIC16F84)

NOTES about the circuit:

capacitor charge

PIC program

Ignition table (at the begining of the program) stores a series of values calculated with an Excel sheet. This values varies from the maximum allowed speed (15000 rpm) to the minimum stored at the curve (5000 rpm). For the lower values a simply calculation is done in order to calculate a fixed degre for the advance.

The program also has ignition rev-limiter for higher rpm

  • C source code: ignition.c (CCS compiler)
  • ASM source code: ignition16.asm (MPLAB assembler)

    Go to the index

  • Programmable TCI Ignition (Transistorised Coil Ignition)

    Dwell time

    Dwell time is the time that the coil needs to be charged BEFORE it can produce a spark. It is constant for each coil, typical values go from 0.5ms (low impedance coils) to 5ms.
    Since dwell time is a constant in miliseconds, the number of degrees needed for dwell time varies for the different rpm values of engine (see graph). This make things a bit more complex than on CDI ignition, because the program needs to calculate where to start coil's charge (before than on CDI) to ensure the right dwell time even at high rpm.

    Dwell time in degrees (dwell time=1ms)

    How to calculate where should start the coil's charge:

    • at low rpm Tc will be after the ref. pulse: Tcl = dwell time - delay (table) (Tcl is negative at high rpm)
    • at high rpm Tc will be before the ref. pulse: Tch = period - dwell time + delay (table) (Tch = Tcl + period)

    TCI Schematic (PIC12F675)

    PIC program

  • C source code: ignition_TCI_PIC12F675.c (CCS compiler)
  • ASM source code: TCI12F675.asm (MPLAB assembler)

    Go to the index


    Here you can see the exact point where the spark is done while the arrow turns at high speed

    This electric motor can reach upto 30.000 rpm. When the electric motor moves the machine,
    the alternator generates the power for the ignition performing. No external power is required.

    Go to the index

    Download files

    CDI Ignition (high-voltage Capacitor Discharge Ignition)

  • C source code: ignition.c (CCS compiler)
  • ASM source code: ignition16.asm (MPLAB assembler)

  • TCI Ignition (12-Volt Transistor Ignition)

  • C source code: ignition_TCI_PIC12F675.c (CCS compiler)
  • ASM source code: TCI12F675.asm (MPLAB assembler)

  • Ignition Wizard" program:
  • Excel sheet with calulated values: ignition.xls

  • Go to the index

    Other links

  • DC-DC converter (engines without high volt alternator)
  • Click here to go to the servo's page

    Go to the index

  • Last modified: SEP/28/2009