Community
Search
Notices
Engine Conversions Discuss all aspects of engine conversions in this forum

CDI gr8flyer55

Thread Tools
 
Search this Thread
 
Old 09-14-2012, 10:44 PM
  #276  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

If anyone wants to help by making a nice webpage for the project, working on the source code, writing documentation or guides, etc. please email me or just start working on it!
If you put together anything decent I'll be happy to add you to the credits and put it up on the project page. I just don't have a whole lot of extra time to do all the fancy extras that will make the project better.


-Jake
Old 09-14-2012, 11:55 PM
  #277  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Update...
I've done some testing in the actual circuit. It seems that Dwell_Time works 100% at a setting of 2 uS. At a setting of 1 it seems to work 0% to about 80% of the time.

This could be because I'm using some fairly long wires to connect the processor into the circuit. But I suggest that about 5-15 uS would be a good, safe value.

The reason to go larger would be to give the LED time to flash. If you're using the LED you'll probably want to use a much larger value forDwell_Time.
I don't have much use for the LED for timing, and I don't think it will give very accurate timing values since you'll get a smear from the time of the spark till the dwell time expires. I think that would lead to the mark showing up looking like the advance is less than it is.


-Jake
Old 09-15-2012, 12:42 AM
  #278  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Jake,

CDI's don't have dwelltime only TCI have dwelltime.
http://www.sportdevices.com/ignition/ignition.htm
Old 09-15-2012, 03:00 AM
  #279  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Thanks for pointing that out, but I do understand that CDI has no dwell time.

I just didn't know what else to call the length of time that the processor drives the spark output trigger pin low. I probably should have called it "trigger pulse length" or something similar. But if you did want to use the same program to run a TCI ignition it actually would be correct.

Does a TCI ignition deliver multiple sparks during the dwell time?


On another note... I was trying to see how fast the CDI could spark. I was only able to get my unit to throw sparks every 4 ms.

That means you could only throw a spark every 15 degrees at 1200 RPM. So there probably isn't much use in throwing more than 2 sparks total, and even then only at low RPMs.

Of course, my tests might not mean much. I was throwing hundreds of sparks to see at what speed the unit would quit sparking. My ignition coil also has a little gap in it and I was just using wire ends instead of a stable and normal spark plug gap. The gap did seem to affect the speed the sparks could be thrown.

This test also might not apply to only throwing a few sparks every so often. I only used this test method because it's really not possible to see seperate sparks at such fast speeds. Hopefully I can figure out a better test method or use my scope on the output directly. I'm a little worried about attaching my scope directly to such high voltage though. And I think an inductive timing light would probably just pick up the attempted spark even if it didn't actually spark at the plug.

If anyone has any ideas on this please help me out.


-Jake
Old 09-15-2012, 03:19 AM
  #280  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Dwelltime is nothing else then the time the (6 or 12 Vopt) ignitioncoil need to charge.
A nornal ignitioncoil / bobine can't make multispark becaus the time to charge the coil wil be to long (2 till 4 ms)
Only racecoils can make multi spark, they don't use al the energie for one spark but this wil cost a lot of power electronics to do it.
We don't use multispark for our small engines, only big engines need multispark to burn all the petrol.
Big cilinder, lot of petrol, more sparks needed to burn all the petrol - small engines, less petrol, less sparks needed to burn the petrol.
I realy don't know why people want to have multi spark ignition, there is no petrol to burn

For CDI you don't must reduce the load time for the capacitor (1 uF / 600 Volt), you need all the time you have to load it for the best spark.
Old 09-15-2012, 03:32 AM
  #281  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Someone emailed me for help using the spreadsheet, so I'll post my response here...

Basically you're editing the green cells.

On the "Setup Settings" sheet (the little tab at the bottom of the screen)...
-Don't adjust the clock speed or 16-bit timer prescaler, unless you are actually changing them in the program.
-The "Hall Sensor °BTDC" is how many degrees your hall sensor is before top dead center on the engine. You might need to adjust this to make your timing right. My program times from when the magnet first tripps the sensor. From what I've seen, most people are placing their sensor at 30 degrees.
-The "Low RPM Advance °" is what advance the program should use when running at RPMs below the table values (~916 RPM). This might come into play if you have a very low idle RPM or as the engine is first starting.
-The "Est. Start RPM" is what RPM you think you are spinning the engine when starting, this only applies to the very first spark.
-The "Start Advance °" is what spark advance you want for that very first spark. You might want to use 0, which would fire right at TDC. I have not tried, or even checked, negative values yet (ATDC).
-The three cells in red are the three values you need to put into the source code under "User Settings:" It should be obvious which ones go where.

On the "Advance Curve" sheet...
-Edit the green values. You just set what advance you want for each RPM here. Changes should show up on the chart. The table on the left should also be updated and should make smooth transitions between points on the chart. This way if you say you want a 10 degree advance at 2000 RPM and 20 degree advance at 3K RPM the spreadsheet will automatically put in 15 degree advance for 2500 RPM. I would not mess with any of the formulas here as it was quite a PITA to set this up. If you really need to edit advance values at different points that aren't in the green then you're on your own.

On the "Table Values" sheet...
-The "Correction =-" is a value to adjust the timing table values. This should automatically subtract out the extra time it takes the PIC to lookup the table value, set the timer, and exit the interrupt, etc.. You probably shouldn't need to edit this.
-The red cell (Table =) is the cell that takes all your table values and puts them together with commas in between. Select this cell, hit copy, then paste it into the source code at the proper place.


In summary...
Edit the 4 right most green squares on the 1st sheet, and the green squares under "Advance°" on the 2nd sheet. Then take all the values in the red squares and put them into the source code under the "User Settings:" section.

You should not need to edit anything that isn't in green. I'm not a spreadsheet wizard, so I haven't locked down anything or protected any formulas. If you screw up a formula it could Fup the whole table. The best advice is to just start with a fresh copy of the spreadsheet if you even think you screwed up a formula. If anyone wants to help me make the spreadsheet better or has suggestions please feel free.

Good luck, and feel free to ask questions and check my math!


-Jake
Old 09-15-2012, 04:01 AM
  #282  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

BTW, to test multi spark you need a 6 bar pressure chamber to put the candle in it.
I can ensure you, there is only one spark.......the first one and all others are gone.
Why, the capacitor don't have enough power to spark the candle.
You need atleast 50 mJ for a spark and the HV coil can't make this power within this sort time.
Old 09-15-2012, 04:05 AM
  #283  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

I also need to mention that there are more values to edit in the source code...

Dwell_Time should probably be set around 10. 2 is the lowest it seems to work reliably for me. A low value might help the multispark work better.
MSD_Spark is the number of sparks to throw in MSD mode.
MSD_Low_Spark is the number of sparks to throw when the engine is running below 916 RPM.
MSD_Start_Spark is the number of sparks to throw the very first time the engine tries to fire.
*MSD_dDeg is the number of DigiDegrees between multisparks. Too low and they won't spark. Too high and you'll be firing sparks after TDC.
Max_MSD_Rev specifies how high of RPM to go with the multispark. Look this up on the "Table Values" sheet. Look under the RPM and find the "CurrentRev" value that goes with it.

* I'm not sure if this is working right. I intended for this to make the delay between multisparks scale with the RPM. I couldn't get the timing working exactly right in the simulator, but it's still probably better than not scaling with the RPM at all.

The whole multispark thing may or may not work out depending on how fast the HV board can put out the sparks. If you don't want multispark on at all then just set MSD_Spark,MSD_Low_Spark, andMSD_Start_Sparkto 1.


-Jake
Old 09-15-2012, 04:13 AM
  #284  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Gompy, I just read your posts. Multispark may be a bust, or might not help even if it works.

I was thinking though, that for starting it might be good to fire multiple sparks since maybe the first spark doesn't light the petrol. Maybe the next sparks can make it fire. Maybe as the engine goes past TDC the pressure change will make the spark light the fuel easier.

I know that the advance is sometimes retarded to make starting easier, and you also can't know exactly what your RPM is on the first turn, so maybe multispark will help with that. What do you think?


-Jake
Old 09-15-2012, 04:16 AM
  #285  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

DP
Old 09-15-2012, 06:20 AM
  #286  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

At low rpm (<1500) multispark can be used, no problem, but at high rpm (>1500) it's only a wast of time to load the capacitor.
Again, CDI don't have dwelltime.
Any time you lose between two sparks is less load of the capacitor and less powerfull spark.

Easy start is a "must have" for allmost all engines, even for fourstroke engines.
Easy start for 2stroke wil be at ~5 degrees BTDC, 4stroke need more ~20 degrees BTDC.
It will be nice if we can make the degrees for easy start into the setup.

BTW, maybe you have to take a look at my website and try the program.
There is also a website of the first CDI with a Exelsheet.
Maybe it can help you to create your Exelsheet, copy / past the complete code into MicroC aso.
Old 09-15-2012, 07:14 AM
  #287  
COM
Senior Member
 
Join Date: Jun 2009
Location: Ga, GA
Posts: 396
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

OK I have tested the latest version on my engine sim an dusing a timing light the curve that is supplied with the code is no good. at 200 rpm the curve is below tdc and max advance is never reached. To me the curve should be at 5 degrees from 200 rpm upto 1300 or so. Then advance the timing with rpm upto 4000. from 4K and up max advance should be obtained. I know I will have to play with the spreadsheet.
Old 09-15-2012, 09:54 AM
  #288  
CH Ignitions
My Feedback: (11)
 
Join Date: Aug 2009
Location: West Palm Beach, FL
Posts: 399
Likes: 0
Received 4 Likes on 4 Posts
Default RE: CDI gr8flyer55

Jake,
If you want , I can send you coils,and CH HV boad to be able to test as a real deal.
In my opinion and that is just mine is to get read of the LED. keep it simple. If you need to time the engine...use a dedicated device or use the ignition to get the spark
at the desired angle BTDC.


Thanks
Adrian
Old 09-15-2012, 10:15 AM
  #289  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

A common problem will be the moment when the magnet the hall will trigger.
If the magnet is to close to the hall, the triggertime will be differend when if the magnet is only 1 mm futher away.
Even if the speed change of the engine the ignitiontime will be changed too.
Test with a pulsgenerator is not the same if testing with a real engine.

@ Adrian, are your sparkcoils the same I mention into the link a few pages ago ?
I have also buy a very small grey ignition coil from Roy (S/S Machine & Engineering) but this coil didn't work at high rpm.
It quit at 6 or 8,000 rpm and didn't start again without switching off the power.

@ Charlie, have you try to compile the C-code with MicroC compiler like we do with our first CDI of JMJ ?
Old 09-15-2012, 10:29 AM
  #290  
CH Ignitions
My Feedback: (11)
 
Join Date: Aug 2009
Location: West Palm Beach, FL
Posts: 399
Likes: 0
Received 4 Likes on 4 Posts
Default RE: CDI gr8flyer55

Rob,
I do not remember exactly what Roy has .
Here is a picture of coil/wire assembly.
With CH stuff the high I seen an engine run was 9800 RPM.
Gap setting is a MUST, I adjust the gap at 1mm /0.04".

Adrian

Attached Thumbnails Click image for larger version

Name:	Fd92777.jpg
Views:	112
Size:	125.7 KB
ID:	1801359  
Old 09-15-2012, 10:45 AM
  #291  
COM
Senior Member
 
Join Date: Jun 2009
Location: Ga, GA
Posts: 396
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

HI Rob,

No I have not tried it using MikroC. I don't think it will compile, there is a lot of stuff that won't work with MikroC.
Old 09-15-2012, 10:55 AM
  #292  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

They look the same to me we can buy into the Netherlands.

http://heetgasmodelbouw.ridders.nu/W...kst_engels.htm



After buying the device you have to isolate it otherwise the you distroy the coil.

I think I have given the coil from Roy away, I can't find him anymore.
Old 09-15-2012, 11:02 AM
  #293  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

I found the coil, not the discription
Attached Thumbnails Click image for larger version

Name:	Tr50390.jpg
Views:	90
Size:	89.3 KB
ID:	1801379  
Old 09-15-2012, 11:04 AM
  #294  
CH Ignitions
My Feedback: (11)
 
Join Date: Aug 2009
Location: West Palm Beach, FL
Posts: 399
Likes: 0
Received 4 Likes on 4 Posts
Default RE: CDI gr8flyer55

Yes Rob It looks real close to the one in the big picture.

Adrian
Old 09-15-2012, 11:08 AM
  #295  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

OK, this coils work well untill 12,000 rpm......with epoxy isolation, without untill 2 minutes
Old 09-15-2012, 12:31 PM
  #296  
gr8flyer55
Senior Member
 
Join Date: Nov 2005
Location: Hamburg, PA
Posts: 805
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Adrian, the LED is only a visual reference aid in setting up the initial static timing. It is close to what you get with a dedicated timing light, but does have a slight delay of a degree or two because it is driven thru a resistor and transistor circuit. This circuit does impart a few degrees of error and lags behind slightly but I've been using it to just verify that the timing does indeed advance per the programmed curve. Onward to more important things like the curve itself. I've been using a programmed curve in a test on a DA 60cc aircraft engine. Ignition board is a CH board, very high quality, RCExl coil, and my timer board with my curve. We have it on a dyno, recording rpm, engine temp, and a timing light. With Nyemi's MSD curve, there is a 25% improvement over the stock ignition supplied with the engine by DA. This is being done by professionals in engine tuning at Boysen products company near my home town. Tests prove the validity of MSD over stock ignitions, combined with the advance curve we are using. If you need proof of this, I can put you in touch with the product designer as he is a personal friend of mine.

John
Old 09-15-2012, 01:36 PM
  #297  
jakestew
Senior Member
 
Join Date: Aug 2011
Location: Moscow, ID
Posts: 144
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Glad to see this thread picking up some steam!

The coil in the pictures above looks a lot like the one John sent me. His coil is already potted in epoxy and seems to throw some very long killer sparks. I believe he has a good source for them.

@Gompy... Microchip's XC8 compiler seems to be working fine for me. I really don't have $249 to spend on the mikroC compiler, even though it looks pretty cool. I don't think the older free version of mikroC will support the 12F1840 chip I want to move to next. With the STM32 and Atmel chips I have worked with before the compiler choice was easy, GCC (free and open source). The closest thing to free seems to be XC8, and I have just kinda assumed that the company that makes the actual chips can also make the best compiler for those chips.

The XC8 compiler is a fairly large download, but it's free and easily available. Even pro mode will work for free for 60 days. I don't think pro mode is a big deal though, it only saved a couple % of program memory and RAM, and we have plenty to spare.

I looked for the source that your CDI was using, but couldn't find it. I had heard that there was trouble licensing it as open source.

Once the 12F686 code is nailed down I'll be happy to port it to the chip you want to use or help you get the 686 working in your application. The great thing about C is that it will be very easy to port to different chips as long as they have the same basic timer capabilities.

>Test with a pulsgenerator is not the same if testing with a real engine.

For sure! I'm not even actually using a pulse generator. When I say "simulator" I mean the entire timer board circuit (and a pulse generator) is simulated on the computer. My problem at the moment is that I don't currently have a CDI engine working. My GF also won't let me run an engine in the house for some odd reason, and I haven't loaded my laptop with the compiler yet.


John told me that he got the "JVM Creation" error fixed using the fix I mentioned above. So hopefully the MPLAB X IDE problems are over with now!

@COM... Good to hear you're testing the code. The default curve I had set was just set at a flat 10 degrees across the board if I remember right. It's also entirely possible there'e an error in my math somewhere. Let me know what results you're getting as you do more testing.

I'm glad I rushed ahead and put out the beta code as it seems to be helping move things along!


-Jake


Old 09-15-2012, 01:55 PM
  #298  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55


ORIGINAL: jakestew

Glad to see this thread picking up some steam!

The coil in the pictures above looks a lot like the one John sent me. His coil is already potted in epoxy and seems to throw some very long killer sparks.
DON"T DO THIS, YOU DISTROY THE COIL !!!!!!!
A CDI-ignitioncoil is make to produce small very intensive sparks - not long sparks (not great distance between the leads !!)

I looked for the source that your CDI was using, but couldn't find it. I had heard that there was trouble licensing it as open source.
The programmer I "rent" will do it for free, that was a reason why we don't get the source.
And also a part of the source was allready sold and now will be used into a real (CDI) product.

For sure! I'm not even actually using a pulse generator. When I say ''simulator'' I mean the entire timer board circuit (and a pulse generator) is simulated on the computer. My problem at the moment is that I don't currently have a CDI engine working. My GF also won't let me run an engine in the house for some odd reason, and I haven't loaded my laptop with the compiler yet.
I use a electric rc motor to test the CDI's, same Neymi will do.
A small variable powersupply speedup the engine and a magnet into a plastic flywheel is my ignitionpoint and a hallsensor the sensor for the PIC.

I'll try to instal the new MPlab version on a old laptop, but I don't know if the laptop can handle this kind of software.
I don't want to instal the software on my workstation, I need this to make my money ervery month
Old 09-15-2012, 06:29 PM
  #299  
gr8flyer55
Senior Member
 
Join Date: Nov 2005
Location: Hamburg, PA
Posts: 805
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

Jake, I found a hex to binary file converter and tried it. Well, to my amazement it converted it. Problem now is that the file now has grown from 4k to over 16k!!!
This is not getting me anywhere. What I need to know is why, when I compile your original version 9b source code I get a 2k file, then change line 70 by deleting the data, copy and paste the red cell data to line 70, save the file, load into the compiler and now it compiles to a 4k hex file which won't fit into the memory of the 683 chip. Anyone else run into this problem?? What am I doing wrong? Maybe if I give my saved excel change and forward it to someone who can compile to a hex for me, I can finally do a test of the chip in my timer board. All other problems are fixed on my computer, just this file size problem I'm getting is giving me fits.
Anyone want to try it for me and send me the resulting source and hex files???

John

Old 09-16-2012, 02:20 AM
  #300  
Gompy
Senior Member
 
Gompy's Avatar
 
Join Date: Jul 2010
Location: Alkmaar, NETHERLANDS
Posts: 404
Likes: 0
Received 0 Likes on 0 Posts
Default RE: CDI gr8flyer55

ORIGINAL: jakestew

Step by step, how to get started...

I've tried to make things as easy as possible, but it still takes a little doing to get your own custom CDI firmware up and running. Unfortunately, I don't have any compiled versions that I actually know to work, so if you work out a good curve and settings please post it here or send it to me at my email. Hopefully we can get prefab versions ready for the common engines out there.

#1. Go to http://www.microchip.com/pagehandler...abx/#downloads
#2. Download the ''MPLAB X IDE'' and ''MPLAB XC8 Compiler'' for your operating system.
#3. Install the IDE and compiler. Default settings should be fine.
#4. Open the IDE and...

-Select File->New Project
-Choose ''Standalone Project'', click next.
-Select Family -> Mid-Range 8-bit MCUs (PIC12/16/MCP)
You have to change this line into the right PIC-type: PIC12F683

-Select Device -> PIC12F675 Click next.

-Debug header does not matter, I usually select the one you can choose, now click next.
-Select ''Simulator'' under hardware tools, or choose the programming device you use. Click next.
-Select ''XC8'' under XC8, click next.
-Choose a project name and location. I usually use a more convienient location than the default. You might use ''12F683_v0.9b'' for the name.
-Check ''Set as main project'' and click next.
-Copy the source file ''12F683_v0.9b.c'' into your project directory.
-On the left hand side of the MPLAB X IDE screen right-click on ''Source Files'' under your project name and select ''Add Existing Item''.
-Select the source file ''12F683_v0.9b.c'' and hit OK.
-Double click the 12F683_v0.9b.c source file that now shows up. This should bring up the source code.
-Select Run -> Build Main Project, from the menu. Source should compile with no errors.
-Congrats! You just compiled the code! You know things are working, so any new errors are your own doing.

-Now edit the source file, adding your custom table and the settings you want.
-Use the included spreadsheet to make your advance table and help figure out the settings.
-Build the project again and the .hex file should be in [Project Directory]\dist\default\production
-Now you can program the .hex file into your processor via whatever method you prefer.

I realize this is a lot of downloading and hassle if you're not into this sort of thing, so I'm happy to compile for people if you email me exactly what you want compiled. You can edit the source with just a text editor and send it to me and I'll do the work for you.


-Jake


Contact Us - Archive - Advertising - Cookie Policy - Privacy Statement - Terms of Service -

Copyright © 2024 MH Sub I, LLC dba Internet Brands. All rights reserved. Use of this site indicates your consent to the Terms of Use.