Now use a 16F1827 PIC processor.
- Easier start when cold
- For SINGLE cylinder (and SOME TWO cylinders).
- Advance curve is in EEPROM and is freely modifiable
- Rev until 20,000 RPM/330Hz
- Pickup position can be freely set from 0 to 360°
- Accurate (0.15°/8000RPM).
- Need a 6 or 12 volts battery
- Current drain: 2mA to 1.5A
- Power: 50mj
- No need of HV source coil on the stator
- Autotest jumper
- Kill switch connection
- Partial Kit available in the SHOP section with main parts.
- Full Kit available in the SHOP section with all components.
|ACCDI v2.2||free||no processor||for positive first pickups||End Of Live|
|ACCDI v2.4||not free||no processor||for positive or negative first pickups||Setting via Jumpers|
|ACCDI v5||free||source code available||Timing adjustable by customer||Setting via PIC programmer||EOL|
|ACCDI v6||free||no source code||Hard Settings||EOL|
|ACCDI v7||not free||no source code||Timing adjustable by customer||Setting via PIC programmer|
|ACCDI v9||not free||no source code||Timing adjustable by customer||Setting via Wifi||EOL|
|ACCDI v10||not free||no source code||Timing adjustable by customer||Setting via USB||delivery in 2020|
|DCCDI Atmel||free||source code available||Timing adjustable by customer||Setting via ATMEL programmer||EOL|
|DCCDI v2||free||no source code||Timing adjustable by customer||Setting via PIC programmer||EOL|
|DCCDI v7||not free||no source code||Timing adjustable by customer||Setting via PIC programmer|
|DCCDI Atiny||free||source code available||Timing adjustable by customer||Setting via ATMEL programmer||EOL|
WHAT DO YOU NEED?
|– 1 PCB|
– 1 DC-DC Converter
– 1 Programmed 16F1827 PIC microprocessor
(Source code is not available.)
– Electronic components
|Provided with a KIT in the SHOP section.|
|Create the advance timing curve||Excel file|
|PICKIT3 software||To program your own advance timing map.|
|PICKIT2 or PICKIT3 programmer or clones||Able to burn a 16F1827|
HOW DOES IT WORK?
Connect the pickup to the HIGH pickup input.
At idle and low RPM, the PIC generates maximum delay before fire a spark a few degrees ahead of TDC. That way, there is no or little advance at low RPM.
As the RPM increases, the more the advance would increase ahead of TDC accordingly.
The PIC follows your ignition map programmed in EEPROM.
Pickup signal must be > 2 volts in order to be detected by the PIC
A pulse is available at pin 1 and trigger the SCR.
The pulse length is adjustable from 500us until 5ms or can be automatically adjusted.
The microprocessor drives a on-board 15 Watts DC-DC converter to raise the 12Vdc from the battery to 200Vdc.
– Better startup when engine is cold.
– A DC-CDI can be a substitute to a faulty stator (charging coil).
– When no pickup detected, DC converter goes in sleep mode. (2mA)
– Power selectable: 40 millijoules (40 mJ) with R7 or 50 millijoules (50 mJ) without R7 resistor. (video)
– HowTo wire the DC converter to the PCB?
– Some measurements done on scope
The PIC that comes in the KIT embeded a protected software, but the EEPROM zone is Read/Write allowing you to write your own ignition timing into the internal data EEPROM.
You can change the advance timing by yourself as often as you want!
Just draw the new curve in the excel sheet, write datas in the PIC’s EEPROM using a programmer then restart the CDI.
That’s all done!
Draw the advance curve
- Use the Excel sheet (in download section above) to define the curve for your bike:
- Only change the yellow cells.
- Enter the pickup position (which is slightly more than the max timing advance your bike uses) in cell F5.
How to calculate the Pickup Position?
- Select the number or cylinders (cell O24) and the number of strokes (cell O25)
(select 2 if the engine is a 4 strokes with wasted spark)
The pulse coming from the PIC that trigger the SCR can be adjusted from 500us until 5ms or in “AUTO” mode (cell O28).
Except for specials needs or lazy SCR, leave the default value of 0.5ms.
- Select the maximum RPM by changing the variable TIMER1 in cell B9.
- Play with prescaler value in cell O26 AND with TIMER1 value (cell B9) until the excel sheet displays the whole RPM range you want and the advance values don’t strike “Out of range” errors.
- To manipulate the points of the curve, type in the advance you want for each RPM in column F.
If you run into “Out of range” Warning messages column M, try to:
- Change the advance values column F
- Change the RPM range cell B9
- Use another prescaler value cell O26
- Use another step value in cell L5
Play with those steps above until the curve fit in the excel sheet.
Any Excel Errors will result in a faulty HEX file that will not work !
Warning are not critical, but you won’t get the exact timing you want.
Excel Error are critical.
- Adjust the advance for low RPM with the help of the multiplier value in cell I2 of the Excel tab named “advance_at_lowRPM“.
If the maximum RPM become too low, raise it with cell B9 and so on…
Play with prescaler value (cell O26) and multiplier value (cell I2) to change the low RPM range.
PROGRAM YOUR IGNITION MAP
The 16F1827 PIC sold with KIT comes with a timing example in its Eeprom zone.
Before writing your own data, I suggest to test your DC-CDI with the “Autospark” feature (JP jumper close).
If everything works, then backup the example (Read and export the “EEprom data” with Pickit3) then overwrite the Eeprom zone with the timing you want.
- Burn the chip with a serial or USB programmer then insert it on the board:
- or use the ICSP connector to program the chip in situ with PicKit.
(More info on ICSP in comment section)
Some seem to run into issue with Pickit3, here are some info that could help you to Troubleshoot Pickit3
- Error in degree:
– At startup, Led D3 flashes 2times and goes off meaning that PIC software is OK.
(if it doesn’t flash, something went wrong with the power line…)
– When PIC input pin10 is high [>2.4v], led D3 (pin18) is on.
So LED D3 pulse with the pickup.
If LED D3 always stay ON, that mean either CDI is in “Autospark mode” or pin10 is always high!
=> Measure pin10 and try to lower R9 value from 12Kohm to 1.8Kohm or less according to your pickup…
Above the last RPM value on top of the XLS sheet, there are no more sparks.
Below: If RPM goes over 10653, sparks stops.
JP1: AUTO SPARK
– Hook a ignition coil to the DC-CDI, with its sparkplug connected to a solid ground.
– Put a jumper ON so RB2/pin8 is connected to ground.
– Power on the DC-CDI
– LED blinks 2 times and stay steady ON then the PIC self generate sparks at 3000RPM without the need of any pickup.
Please note that:
- Soldering R2 is mandatory!
- JP1 is tested once at boot time! So if you move the jumper, reboot the CDI.
Compatibility with others pickups.
Variable Reluctance coil (VR)
DCCDI v7 can be triggered either by a positive-first pickup signal or a negative-first signal.
PIC ONLY detect the positive edge of the trigger pulse, if the positive wave is the second one like Honda or Suzuki, the timing will be bad…
Then use Q2 and Q3 transistors to reverse the signal.
According to YOUR pickup signal, just use and sold the appropriate components:
For positive-first pickup signal (PN)
Remove: Q2, Q3, R11, R12.
Add : D6.
For negative-first pickup signal (NP)
Honda, Suzuki, Zongshen, KTM
Add : Q2, Q3, R11, R12.
Yellow: pickup signal
Blue: PIC input
Hall Effect sensor:
Read comment N°8406
- Understand Ignition Timing:
- How a pickup works?
- on the bench, measuring DC converter transistors at 52°C
Honda CY80 converted from Magneto to DCCDI running until his pickup breaks!
- Version 7.9R17r1c0:
- [hard.] PIC 16F628 at 4MHz.
- [hard.] Prototype with a hand crafted transformer.
- Version v7r2c0:
- [hard.] PIC 16F1847 at 16MHz.
- [hard.] Prototype with a complete DC converter.
- [soft.] Bug corrected under 500rpm.
- Version v7r3c1:
- [soft.] Major improvement at low RPM (Works from 42RPM).
- Version v7r4c0:
- [soft.] Alow pickup position from 0 to 360°.
- [soft.] Bug fix when 100us steps
- Version v7r5c0:
- [hard.] PIC 16F1827 at 16MHz.
- [soft.] Power of DC converter: 20mj.
- Version v7r6c0:
- [soft.] Sleep mode if no pickup detected. (only 2mA)
- [soft.] Power of DC converter: 50mj.