Programmable CDI/TCI Ignition

     Traditionally, the CDI timing for the single-cylinder two-wheeler is fixed, known as fixed-time CDI. The timing of the high voltage spark is fixed on every piston cycle. Because the time from ignition to combustion in the cylinder is not instantaneous, the spark is timed to occur before the end of the compression stroke in order for combustion to be completed in time to drive the piston downwards on the power stoke.

Early Ignition

     This fixed timing of the spark has drawbacks. During engine idling speeds, the ignition will occur too early during the compression stoke, combustion will be completed before the piston reaches the top-dead-center position. The piston tries to complete its compression stroke against the high pressure, resulting in engine stall or kick-back when being started if the flywheel momentum cannot overcome the pressure. This is noticeable with an audible detonating knock. This untimely detonation, together with overheating may cause damages to the piston.

Late Ignition

     At the other end, during high engine speeds, the ignition will occur too late during the compression stoke, combustion will not be completed until the piston is some way along its power stoke. The pressure that propels the piston will be reduced, resulting in a loss of power.

Advantages of Digital CDI

     With a variable timing CDI solution, the speed of the engine is monitored to provide a optimum timing for the spark. At idling speeds, the ignition can be timed to occur quite late in the compression stroke since there is enough time for combustion to be completed as the piston starts its power stroke. At high speeds, ignition must occur earlier in the compression stoke. A variable timing CDI system can be implemented by mechanical or electronic methods. The electronic solution make uses of the microcontroller (MCU) for monitoring engine speed and providing the accurate timing for the spark. Another advantage of using the MCU is that the ignition spark can be made to occur anytime for a particular engine speed. Therefore the ignition angle can be fully customized for different engine designs. Having a perfect ignition timing will increase engine efficiency, save energy, and less pollution.

The above note is part of extraction from Freescale Application note.. AN4006 , AN2159

Here are some Ignition related files and links:
http://www.sportdevices.com/ignition/ignition.htm
http://www.transmic.net
L484
KX1130
High Energy CDI Ignition (old circuit)
Jaycar Electronic (<S$100 Programmable Ignition from SiliconChip)
MegaSquirt

Aftermarket ignition system:
MSD SB6 <-- most expensive
JD Racing Ignition <-- available only thru reseller
IMF Soft
IgniTech
Cheetah-Power  <-- range S$100 - 400 (possible 'Hit and Run' company) - Privacyprotect.org

Extra:
HI-4 and Twin-TEC M1005 Teardown

 



Standard schematic layout for 360° Single Coil Output Programmable CDI unit, using Atmega88p Microcontroller.
Low parts counts, easily attainable parts.
Stored 4 ignition mapping, up to 15,000rpm, adjustable REV limiter, 0-5V TPS Input, adjustable Shift light output, Tachometer output, easy DIP-switch setup.
No PC software or handheld programmer require. Should work on almost all single cylinder and some twin cylinder Go-Kart, motorcycle.
Dip-switch 1 - 'ON' switch Map 1-2 , "OFF" switch MAP 3-4.
Dip-switch 2 - Pulse polarity Select.
Dip-switch 4 - Setup enable.
This version was design and use for street legal bike.

 


     Programmable DC-CDI circuit. Including a 12-300vdc high voltage inverter and the same µC uses for the street version. Initially design for our own 'Club racer' for bike in the class 150cc and below in Malaysia coz purchasing a aftermarket programmable unit would be too costly. It's running on a 'Total Loss' system , which I've to removed all magnetos ,charging/generator Stator coil and Rotor from the bike, except that I have machines a custom mounting plate to house the rotor timing plate and Hall effect sensor, just that we have to recharge the battery for every race.

     The UC3843 a current mode PWM controller ,the heart of the Inverter, a controller in a small 8 pin package. As stated on the application note, shutting down the controller can be done either by rising pin3 above 1V or pulling pin1 down to 0V. Coz this is a 'Total Loss' system, we need to save as much energy as possible, so whenever a Trigger Interrupt routine occurs, the MCU shuts the PWM controller down as the capacitors charges up the ignition coil, and re-enabled after each cycle.  

     The firmware was written in Bascom-AVR for the Atmega88p. Utilizing the onboard 16bit-Timer1, compare mode, Input capture and interrupt routine, it's take no more then 15 line of code and math's that calculate the current crank position and MCU determine the delay table for the SCR and pulse width, and with stored ignition data thus Advancing or Retarding the ignition timing base on RPM and LOAD compensation. The main program LOOP was eventually doing nothing till a Rising/Falling edge pulses was sensed. 

     The PC software is programmed using Visual basic 2008 (Express edition) and IOComp visual instrument control, for the purpose of MCU engine parameter and custom ignition map data upload, I've also integrate in the software a 2 channel scope for easy diagnostic. The Flash memory had taken almost 90% of the memory space including 4 ignition mapping, so I've stop development for the time being. We are still in the process of migrating to larger capacity microcontroller for added control and option for like exhaust valve servo, dual trigger input / ignition coil output for multi-cylinder TCI ignition engine.

 

    TCI ignition layout is the same as the CDI version except for it's ISL9V5036S3 IGBT driver and new set of firmware to control the TCI which is way different from what is done on CDI ignition, see commented Bascom notes.

 

 

  

     Programmable Exhaust-Valve DC Servo Controller - a simple PID algorithm motor controller implementation to the more costly stepper motor positioning system by using a potentiometer (variable resistor) as positioning feedback. Here is a PID controller explain, anyway still blur like sotong? here further read up.. on 1 and 2 or Google for more info. PID algorithm close-loop controller are widely used in industrial control system ,Robots and CNC machine but encoder are used for a more precise feedback. The picture on the right shows a typical exhaust valve system look like from TSS, and they have some good product showcase on their site.. you might want to check them out.

     It is recommended that you service and replace any damage parts on your PV first before upgrading this controller unit. While most people would preferred a PC interfacing for data upload, this is a self-learning unit with 3 setup buttons and trimmer and doesn't require a PC. The µC are programmed for controlling 2 servo simultaneously but any can leave out SERVO2 circuitry as most would require only one servo for 1-2 cylinder.

    Here is a brief description on the use of those buttons and trimmer (see bottom left schematic for button/trimmer arrangement), Press and hold button 1+3 and switch on your ignition will immediately enter setup mode,  the trimmer is directly proportional to the movement of servo, turn the trimmer so that the gate valve is in close position and press button 1+2, that will setup servo minimum travel (LED blink once.. eeprom save successful). Now turn trimmer to when gate valve in full open position and press button 2+3, that will setup maximum travel (LED blink once). Now start your engine, let your engine idle @ 1krpm (whatever your engine manufacturer recommend) and press button 1 and that will setup idle travel. Turn your trimmer again to the next gate valve opening distance and rev up your engine to the desire rpm (e.g. 5000rpm) and press button 2 while holding your throttle, that will save both servo positioning ADC value and RPM to eeprom. And the same for the late step, turn trimmer while gate valve to full opening and rev up throttle to the desire range (and that will control full open for the entire range) and press button 3.... after setup is done press button 1+3 again to exit setup mode... That all. The trimmer and button are not functional while in normal operation unless setup mode is enabled during startup.

    After setup is completed, turn the ignition key on again, the controller will do a self-check, open and close the gate valve once, taking preset minimum and maximum travel as reference, follow by normal controller operation. If the LED blink continuously every seconds and no movement of gate valve, there might be a malfunction in your PV system, check for jammed Gate valve, might cause by over-current shutdown. 

     The system have only run through computer simulation and quick module hookup, so I've not fully test the system to see if it work properly, there is a few bikes with PV (YPVS,KIPS) system I can work on, but I'm busy with other thing right now, might need to wait a while. I've not done any application notes on this, I'll update once ready or leave a note for any idea you might have.

 


     All Hardware and software are build for personal use only, no firmware or software could be found on this site.  For those who involve in development of this project , all setup detail, documents, Bascom and VB source with full 8 pages of schematic are pack in RAR format downloadable in databank (cditci.rar) and extra notes on Harley V-twin setup. Care should be taken on your first ignition project, start with a smaller engine, any mishaps due to personal error could destroy the engine, anyway small engine parts are cheaper and easy to replace. If you got it right on a single cylinder... it shouldn't take long to figure out on multi-cylinder or any engine configuration. I think that all for motorcycle electronic, If you guys needs anything just let me know later..and get ready coz I'm going to Malaysia soon, see you all there. I've just setup a new WEB/FTP server for databank.. username and password will remain the same till further notice.

Tools needed - Degree wheel (Print-out), Oscilloscope, Rotor extractor, Timing light, basic electronic and hand tools.

 

Download and update changes after date listed:

  • Changed pulse shaping circuit on TCI and 5V Filter added and analog control for TCI (4/02/2010)

  • Removed 2 mapping for all (04/02/2010)

  • Added Programmable Exhaust-Valve Servo Controller - schematic and source (06/02/2010)

  • Changed CDI pulse trigger to support pulse polarity select. Revised PVC schematic, pulse input taken from ignition coil (09/02/2010)

  • Added EGT (Exhaust Gas Temperature) sensing control for CDI ignition (15/03/2010)

  • Fixing software HID-USB connectivity or  FT232RL (14/04/2010)