For the record a complete TCI Ignition system can be found at SportDevices.com:
https://www.sportdevices.com/ignition/ignition.htm
The following is cut from the above link to give a taster of what others have been doing. The ASM code file for the PIC can be downloaded from the above link:
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:
TCI Schematic (PIC12F675)
PIC program
https://www.sportdevices.com/ignition/ignition.htm
The following is cut from the above link to give a taster of what others have been doing. The ASM code file for the PIC can be downloaded from the above link:
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
- This release of the program is a simplification of TCI, but it works fine with high impedance coils (about 5 ohm).
- TCI could be more complex for high speed coils: it would need to start the coil's charge after the reference pulse when engine is running at low rpm, and before the reference pulse when engine is running at high rpm. Current version only does the high rpm part.
- This version always calculates the dwell time before the ref. pulse, but for low rpm dwell time will be longer than needed. This spents some extra current on the coil at low rpm. But if coils with certain resistance (3 ohm or higher) it won't be an issue, these coils accept wide dwell time range. Please don't test it on CDI coils or on-spark coils because its lower impedance.
- For example: with a dwell time of 1ms, and a spark advance of 30º, dwell time will start before the ref. pulse when higher than 5000 rpm, and after the pulse when lower than 5000 rpm.
- For low ohm coils, dwell time should be calculated with the highest accuracy possible (in future version) because we are using a schematic based on a IGBT and this device doesn't limit the coil's current (as on old transistor based circuits), and this may be dangerous for a low ohm coil.
- C source code: ignition_TCI_PIC12F675.c (CCS compiler)
- ASM source code: TCI12F675.asm (MPLAB assembler)