RE: CDI gr8flyer55 (Full Version)

All Forums >> [Glow Engines, Gas Engines, Fuel & Mfg Support Forums] >> Engine Conversions



Message


COM -> RE: CDI gr8flyer55 (8/7/2012 11:00 AM)

quote:


Where is probe 2 attached? Is that the firing signal from the PIC? If so, that does not mean there is a spark for every trigger signal.


That should mean 3 sparks for every trigger signal.[;)]

Prob 2 is connected to the timer board output signal line. 360Us is too small of a delay for the human eye to see. But you can tell the spark behaves differently then without the pic controlling the timing. So I would say it does have some effect. You can't expect to see 3 distinctive sparks per trigger.




jakestew -> RE: CDI gr8flyer55 (8/7/2012 11:27 AM)

I'm trying to simulate the timer circuit in Proteus.  I've run into the problem that the code seems to get stuck waiting for GP2 to go high, even though it is going high from the simulated pulse generator.

I've tried compiling in MPLAB X with MASM and also tried loading the compiled hex files from Nyemi.

Anyone have any ideas what could be causing it?  (besides the foolishness of simulating a circuit that I have sitting in front of me DOH!)

It keeps looping here...

Label_0003  BTFSC   GPIO      , GP2     ;BTFSC = wait for high pulse on Hall switch (-_+).
            GOTO    Label_0002          ;BTFSS = wait for low pulse on Hall switch (+_-)  Alterable!!
            MOVLW   0x01
            MOVWF   0x24
            GOTO    Label_0003 




jpanhalt -> RE: CDI gr8flyer55 (8/7/2012 11:39 AM)

quote:

ORIGINAL: COM

quote:


Where is probe 2 attached? Is that the firing signal from the PIC? If so, that does not mean there is a spark for every trigger signal.


That should mean 3 sparks for every trigger signal.[;)]


Not quite. If you had the original design without the diode, the PIC could give multiple signals and you would still just get a single spark. The ST-Thomson application note is quite interesting. It is using the back emf/ringing to get additional energy and sparks. That is not really the point I was trying to make, though.

quote:


Prob 2 is connected to the timer board output signal line. 360Us is too small of a delay for the human eye to see. But you can tell the spark behaves differently then without the pic controlling the timing. So I would say it does have some effect. You can't expect to see 3 distinctive sparks per trigger.


That is obvious; although, you might be able to hear the difference. What I suggested was to put a scope pickup on the spark plug lead to confirm multiple sparks. I am sure any decent oscilloscope can "see" pulses 360µS apart, which is only about 2.8 KHz. Even o'scopes based on sound cards can do that. BTW, 2.8 KHz is F7 on the piano. :D

John




jakestew -> RE: CDI gr8flyer55 (8/7/2012 11:41 AM)

 >  You can't expect to see 3 distinctive sparks per trigger.

That got me thinking...  There used to be an oldskool way to measure things in physics called a spark timer.  It seems they actually still make these devices.

What it does is pull a strip of paper through a spark gap.  When a sensor trips it causes a spark, which burns a little hole in the paper.  Based on the hole spacing and the speed of the paper you can time very quick events pretty precisely.

Maybe something like this can be used to see if the device is actually producing three sparks?




jpanhalt -> RE: CDI gr8flyer55 (8/7/2012 11:48 AM)

That's a great idea. 3 m/s (about 11 Km/hr) should give holes about 1 mm apart. Besides, it would be a fun experiment. John




jakestew -> RE: CDI gr8flyer55 (8/7/2012 12:37 PM)

 I just tried it with regular paper and it didn't work.  I looked around the net a bit and it seems that spark timers use a wax coated or thermal paper and just make marks, but don't actually burn the paper.

So I tried it with a register receipt (thermal printer paper) and it worked!  The marks are very tiny and hard to see, but are distinct dots when you look closely.  Spark gap seemed to have an effect and I just tried a random receipt I had laying around, so different paper might work better.

You can spot thermal paper because it has a slightly waxy feel and has black print, and doesn't have the distinct dots from a dot matrix impact printer.  You can check the paper by applying some heat from a flame.  If it turns black it's thermal paper.




jpanhalt -> RE: CDI gr8flyer55 (8/7/2012 12:49 PM)

Cool. Not so long ago (I was still in school), we used hot-needle galvanometers to record very fast data, like data from a mass spectrometer; same principle. Besides the instruments being enormous by today's standards, you needed a big floor, because the thermal paper came out very fast.

Do you get three close blips separated by a much larger distance? What rpm are you simulating? I know they will be small, but any chance of a picture just for giggles?

John




bluejets -> RE: CDI gr8flyer55 (8/7/2012 2:53 PM)

quote:

ORIGINAL: jakestew

I'm trying to simulate the timer circuit in Proteus.  I've run into the problem that the code seems to get stuck waiting for GP2 to go high, even though it is going high from the simulated pulse generator.

I've tried compiling in MPLAB X with MASM and also tried loading the compiled hex files from Nyemi.

Anyone have any ideas what could be causing it?  (besides the foolishness of simulating a circuit that I have sitting in front of me DOH!)

It keeps looping here...

Label_0003  BTFSC   GPIO      , GP2     ;BTFSC = wait for high pulse on Hall switch (-_+).
            GOTO    Label_0002          ;BTFSS = wait for low pulse on Hall switch (+_-)  Alterable!!
            MOVLW   0x01
            MOVWF   0x24
            GOTO    Label_0003 



Label_0003
BTFSC GPIO , GP2 ;waiting for a high from pin 5=hall effect input
GOTO Label_0002 ;if high, goto Label_0002
MOVLW 0x01 ;
MOVWF 0x24 ;if still low then put 1 into W and add W to hall effect register
GOTO Label_0003 ;and go back to Label_0003


Maybe your pulse generator is not high at the time the code samples GP2.








nyemi -> RE: CDI gr8flyer55 (8/7/2012 3:43 PM)

Hello to everyone.
Video:
The code:komlosiszilvia.oromhirek.hu/filemegoszto/download.php
Katt: Letöltés

2500 rpm, 3 sparks.
I am brave: time.
3 spark length: 5 * 1200uS
Weak inverter is good.
Thank you for testing.


(
If you download problem.
Please indicate.)




jakestew -> RE: CDI gr8flyer55 (8/8/2012 12:02 AM)

quote:

ORIGINAL: jpanhalt
Do you get three close blips separated by a much larger distance? What rpm are you simulating? I know they will be small, but any chance of a picture just for giggles?


I'm not really setup for much testing right now.  Still waiting on my PIC programmer and didn't have the multispark code.  I just wanted to validate the concept and was just manually sparking the unit to see if it could indeed be seen on the paper.

The setup Nyemi showed seems pretty darn cool!  Definitely three sparks there.  That's great, seems like things are moving quickly.

@bluejets: thanks for the code comments, I'm just not sure what's going on with the simulator.  I must have something set wrong somewhere.  I'm stepping through the code and it shows the pin high, just doesn't seem to work.  Maybe it has different default SFRs in the simulator and thinks the pins are setup differently somehow.

I'll see if some simple code will work.  I'm sure I'll figure it out eventually.




bluejets -> RE: CDI gr8flyer55 (8/8/2012 2:44 AM)


quote:

ORIGINAL: jakestew
@bluejets: thanks for the code comments, I'm just not sure what's going on with the simulator.  I must have something set wrong somewhere.  I'm stepping through the code and it shows the pin high, just doesn't seem to work.  Maybe it has different default SFRs in the simulator and thinks the pins are setup differently somehow.

I'll see if some simple code will work.  I'm sure I'll figure it out eventually.



Just "stepped" through again to be sure but it went to section below no problem.

SUBWF 0x27 , W
BTFSS STATUS , C
GOTO Label_0005





jakestew -> RE: CDI gr8flyer55 (8/8/2012 7:07 AM)

Thanks for the help bluejets.  I've figured out the simulator.  It is singing away simulating the circuit perfectly as near as I can tell.  I had quite a few minor errors due to not knowing the simulator very well.  Hopefully it will be useful for trying things out on the electrical side and also debugging and timing the code.

I've attached the Proteus simulator file for the timer board if anyone is interested in playing with it.  I'm not sure what limitations the free version has since I'm using my universitiy's license for the pro version.

I'm new to the whole simulator thing, but it seems like it might be a little faster and easier to try things out virtually rather than on a proto board.  Hopefully I'll get the whole circuit simulated in the next few weeks.  The main limitations I see is that there's not models for every component out there and there's bound to be limitations to the accuracy with which it can replicate real world conditions.

If you want to try the simulator you can get it at...
http://www.labcenter.com/download/prodemo_download.cfm 

1. Download the attached file, then rename it to  "12F683_Timer.DSN" (or whatever.DSN) and open it in the simulator.  You will get a "can't open the .cof file error", that is expected.
2. Now right click on the 12F683 in the schematic and go to "edit properties", now select a .hex or .cof file in the "Program File" box.
If you're using MPLAB X it will produce .cof files from the code.  This is an extra debugging file that will allow you to see the code as you step through the simulation.  If you use a regular .hex file you'll only see uncommented assembly instructions.
3. Hit the play button at the bottom to start the simulation, then hit the pause button.  Now you can step through the instructions by pressing F11.

You can also look at the oscilloscope, play with the settings, and probe various voltages around the circuit.  It's pretty fun to play with.


 




bluejets -> RE: CDI gr8flyer55 (8/8/2012 7:31 AM)

Jake,
I use the Oshon Pic simulator IDE. Maybe no pretty graphics but as far as infomation gathering goes, I think it is hard to beat.
I've been told that Nyemi uses the same.

Send over a pm and I'll email to you if you like.




jakestew -> RE: CDI gr8flyer55 (8/8/2012 8:01 AM)

Looks like a handy program.  Seems to have a pretty slick interface for looking at the PIC.
I just chose Proteus because I can use my uni license and it siumulates the whole circuit and you can use virtual instruments to check the output at any location you like.  I think the free version does most of the things we need.  Looks like the pay version is mainly for the PCB layout part.

Can you check it out and see if my file works right in the free version?

Here's a screenshot with the multispark code loaded and pulses at 1500 RPM...





bluejets -> RE: CDI gr8flyer55 (8/8/2012 9:17 AM)

Sorry...... currently in a part of the world where downloading is very slow to say the least.




COM -> RE: CDI gr8flyer55 (8/8/2012 10:44 AM)

Hi Jake,

that's what the scope showed.




COM -> RE: CDI gr8flyer55 (8/8/2012 11:04 AM)

Jake,

I am not able to download Your attachment . It just opens a new browser page.




jpanhalt -> RE: CDI gr8flyer55 (8/8/2012 11:23 AM)

I use just the simple and free MPLab simulator. Since Proteus is far more powerful, can you model the whole circuit including the inductor and diode, not just the PIC part?

John




jakestew -> RE: CDI gr8flyer55 (8/8/2012 3:10 PM)

  >  I am not able to download Your attachment . It just opens a new browser page.

It seems to work for me.  I'm using chrome as my browser at the moment.  It wants to name the file "Zw69373.txt", but it still gives the right file, you just have to rename it.

can you model the whole circuit including the inductor and diode,

Sure, I'm working on it.  I just got the timer board working in the sim, but will try to get the rest done tonight or tomorrow.  One difficulty is knowing all the components.  The schematic I have looks a little different than the board John sent me and I'm trying to sort out the difference (if any).





jpanhalt -> RE: CDI gr8flyer55 (8/8/2012 10:35 PM)

If I get time, I will try LT Spice. Its problem will be the inductor too, but I will wing it. It will not be until the weekend at least.

John




jakestew -> RE: CDI gr8flyer55 (8/14/2012 10:05 AM)

FYI for anyone following along, the simulator in MPLAB X has some major bugs with the eeprom.  MPLAB 8 seems to work just fine though.
It really pissed me off for awhile.  I just got my programmer, so hopefully work on the program will go a little easier.

The only real improvement I have planned for the 12F683 code is having two curves that can be selected between and storing them in the eeprom so that the program doesn't have to be recompiled for every curve change.  I figure two curves will make it easy to test which one is better by switching back and forth.
If anyone has any other features they'd like to see feel free to post them!





gr8flyer55 -> RE: CDI gr8flyer55 (8/14/2012 1:13 PM)

Hi Jake.
Will the selection between the two curves be accessed by a jumper on the timer board?
If so, I'll have to make changes to the board. Let us know which pins will be used. I can make minor adjustments to the etch pattern to accommodate the jumpers. Making it jumper selectable I think will be the best choice, going between chip pin inputs and a ground connection. Right now, since I use a socket for the chip, to test curve changes I remove the chip and replace with a changed, programmed pic chip. Not that hard, but time consuming. Jumpers would be the better choice.
In the past with a previous version of timer board, we had a test routine for spark operation. This was jumper selectable and worked quite well. Although it used some space on the board, I thought it was very useful.

John




nyemi -> RE: CDI gr8flyer55 (8/14/2012 3:45 PM)

Hi jakestew

Two curves eeprom?
For only 256 bytes.

It's just one, ignition curve.
How to solve this problem?





jakestew -> RE: CDI gr8flyer55 (8/15/2012 4:57 AM)

 I figure only the inflection points need to be stored.  The actual value will then be calculated on the fly.  Some of the calculation can also be precomputed if needed.

A big limitation of the 683 is that it can't write it's own memory.  Otherwise we could compute the table and store it in flash.  We'll just have to see how things go, it is possible I'm overestimating what is possible.  I'll never know if I don't try.

Looks like you've got the timing maxed out already.  I'll probably have to increase the osc to 8mhz just to cover the overhead of writing it in C.


I think it should be pretty easy to use a switch or jumper.  I kind of like the idea of repeatedly switching back and forth between curves to see how the engine sounds, so maybe a momentary button would work well.  You'd probably only need this for testing so just tacking on a switch as needed would probably work fine.  With a momentary type setup you could also just ground a pin with a wire for a sec to switch back and forth.

What is the max RPM and max advance people want to achieve?
At 10,000 RPM, 30 deg. hall position, and 27 degrees advance there's only 50 instruction cycles available before firing when running at 4mhz.  Even running at 8mhz that's only 100 instructions, and that's hardly anything to work with.





nyemi -> RE: CDI gr8flyer55 (8/15/2012 5:36 PM)

Hi Jake
I do not understand.
Now your new code to work?
Or,  old  code,  repair?
Because in my opinion: Old code can not be much of renewal.
Because 12f683 microcontroller hardware are great limitations.
If you want to change.
My proposal: The type microcontroller, a USB to Communication.





Sorry.
I work with translator.






Page: <<   < prev  7 8 [9] 10 11 12 13 14 15 16   next >   >>  

Valid CSS!




SITE MAP!   : :   FORUM RULES

RC Universe is a service of Internet Brands, Inc. Copyright © 2001-2013.
0.125