Donations towards server fund so far this month.

 
£0.00 / £100.00 per month
Page:
Home > MS Code Discussions > Siamese code update

jbelanger

1267 Posts
Member #: 831
Post Whore

Montreal, Canada

I just wanted to let everyone know that I have done some progress on the code.

I have been slowed down by the fact that my oscilloscope has stopped working which makes it a bit more difficult to know if the code is actually doing the correct injection timing. I also wanted to based the code on the latest MS2/extra code which was only released on Jan. 6.

I should be able to finish the initial version of the code soon and I have a few ideas on how I'll check that the timing is correctly done.

I'll update this thread when I have more news. I apologize for the multiple delays that this project has had.

Jean

http://www.jbperf.com/


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

Jean, thank you for the update. I am sure everybody appreciates your efforts and how much work this is.

I personally think your right to use MS2 extra as a base and thus the wait will be worth it.

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


Bat

User Avatar

4559 Posts
Member #: 786
Post Whore

Bermingum

Hi,
Excellent news, I've been lookong forward to an update.
As Roger said above, use the best base code to start with.
Having really struggled to get my server up and running I have to take my hat off to programmers.
Now I'd better get my finger out and get my car sorted!
Good luck.
Cheers,
Gavin :)

Edited by Bat on 15th Jan, 2007.

VEMs Authorised Installer / Re-seller. K head kits now available!

WB/EGT gauges. Click here for customers write-up

Visit www.doyouneedabrain.co.uk

My Mini build diary


Paul S

User Avatar

8604 Posts
Member #: 573
Formerly Axel

Podland

Jean,

Great news - I'm sure your efforts will be much appreciated.

I've been following things on the Megasquirt forums. I think that TM members should know that you were posting on the MS forum on Christmas Day - Now that's dedication!

Saul Bellow - "A great deal of intelligence can be invested in ignorance when the need for illusion is deep."
Stephen Hawking - "The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge."


TurboDave16V
Forum Mod

10980 Posts
Member #: 17
***16***

SouthPark, Colorado

Good stuff fella :)

On 17th Nov, 2014 Tom Fenton said:
Sorry to say My Herpes are no better


Ready to feel Ancient ??? This is 26 years old as of 2022 https://youtu.be/YQQokcoOzeY



jbelanger

1267 Posts
Member #: 831
Post Whore

Montreal, Canada

Well, I have code that does some coarse injection timing but I'm kind of flying blind without an oscilloscope. One idea I had for going around that issue turned out to be more work than anticipated.

I need to refine the injection timing since I'm only timing to the closest tooth at the moment and after that the code will be ready for public testing. I'll need someone to bench test this before anyone tries it on an engine. Also this will still be alpha code based on the MS2/extra alpha code so caution will have to be observed.

Jean

http://www.jbperf.com/


TurboDave16V
Forum Mod

10980 Posts
Member #: 17
***16***

SouthPark, Colorado

I have scopes, trace recorders, signal genrators and all else needed if you require some bench testing...

On 17th Nov, 2014 Tom Fenton said:
Sorry to say My Herpes are no better


Ready to feel Ancient ??? This is 26 years old as of 2022 https://youtu.be/YQQokcoOzeY



jbelanger

1267 Posts
Member #: 831
Post Whore

Montreal, Canada

Dave,

Can you generate a 36-1 signal and do you have an MS2? If so, I'll take you up on the offer to bench test.

Jean

http://www.jbperf.com/


TurboDave16V
Forum Mod

10980 Posts
Member #: 17
***16***

SouthPark, Colorado

The way I'll generate a 36/1 is with a pole wheel mounted on a a mabuchi 540RS - I've already made for my friend...

As regards the MS2 - well, no i haven't. I need to at some point, so if you can help me out and tell me what / where to purchase, then I'll buy one.

PM me :)

On 17th Nov, 2014 Tom Fenton said:
Sorry to say My Herpes are no better


Ready to feel Ancient ??? This is 26 years old as of 2022 https://youtu.be/YQQokcoOzeY



jbelanger

1267 Posts
Member #: 831
Post Whore

Montreal, Canada

Well, for all the folks who have been waiting for this, it seems I have a first functional version of the siamese-port code ready for testing. I say "it seems" because, as I mentioned above, I don't have a working 'scope to verify that the code does the correct timing. However, with the stim testing I have been doing, I can see that the injection timing is actually being affected by the code.

So, I will need people to test the code before attempting to actually control the injection on an engine. I know Dan (danc8000) had a setup for that and I will email him to see if he can test the code. If anyone else has a 'scope, an MS2, and a 36-1 source ready, then I will send them the code for testing.

I'm sure there will be issues with the code but this is a first major milestone. There's still a lot to be done but at least there's some foundation to build upon now.

Jean

http://www.jbperf.com/


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

Jean,

I am assuming that the code varies injection timing relative to RPM in such a way that the actual start of injection is such that the fuel arrives were it needs to be at the correct time to minimise the effects of the charge robbing.

If this asumption is correct it will also need a variable to cover the injectors positions (1 for each injector ideally????) as the time for the fuel to reach the valve (constant?) and injector opening delay (constant) will I belive be a time term and the timing of the injection (variable) will be an angular term based on crank position. Is this how you've got it all set up to operate?

The only other thing I can think of is if that term would be constant during changes in boost (assuming a boost linked fuel pressure regulator), I'm not sure of the answer to this as I am not used to working with injectors far from the back of the valves.

Are you hoping to use a direct correlation algorithm or a map for injection timing?

Please take this as intended rather than anything negative. I am just trying to understand how this code will function. I design diesel fuel injection systems for a living so the sequential injection isn't a mystery to me .... having the injector as far from the valve as it will be in an A-series is however ... even my other engines running MS have the injectors as close to the valves as I can get them!

Edited by RogerM on 5th Feb, 2007.

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


jbelanger

1267 Posts
Member #: 831
Post Whore

Montreal, Canada

Roger,

I don't see your comment as being negative at all and if you have more, keep 'em coming!

I've simplified the first version to be a single table identical to an ignition map of advance as a function of RPM and MAP. This defines the start of injection. The next version will have the possibility to use the middle of the pulse or the end of the pulse instead of the beginning. The middle of the pulse will be computed taking into consideration the injector opening time such that the timing is done on the effective pulse width, i.e., during actual fuel delivery. Together with that, I will also implement the possibility of having a single value for the injection timing across the range but one per injector.

Once these are implemented and some people start testing, it will be interesting to see if we can see a trend in the timing tables, if the single timing value is close enough, or if we can establish some correlation algorithm.

Jean

http://www.jbperf.com/


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

Jean,

can you please explain "the middle of the pulse"?

What I think you mean is the point during the control pulse that you actually get an effect at the injector nozzle needle.

I think we need some form of clear terminology to base this around before we all go off calling the events something different to each other and end up in a state of total confussion!!

My I suggest the follow (based on diesel injection terminology)

Logic pulse duration = T1

Injector opening response delay (time from start of pulse to opening) = T3

Injector closing response delay (time from end of pulse to closing) = T4

Effective logic (period during which fuel is injected) = T2

Thus;

T2 = T1 - T3 + T4

This works well as T3 is a fixed time (usually) as is T4 and any forming of triming of the pulse needs to reflect the fact that no modification of these times are possible in software.

It also leaves the easy to follow convention;

T1 = pulse duration at controller
T2 = effective duration at nozzle (ie delivering fuel)

Just an idea, what does everybody think????

Edited by RogerM on 5th Feb, 2007.

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

When we get there it would also allow a simple table giving the detail of the opeing and closing times of each injector allowing for exact triming of the pulses such that each injector then gives exactly the same delivery ......

I can post some usable trimming algorithms for both opening, closing and nozzle flow at a later date if needed.

No point in trying to run before we can walk though. I'm not sure but some of these might be in the base code for sequential. Some of it might be totally irrelevent for a petrol engine as it's air controlled not fuel controlled as diesel is ....

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

Even if "triming" is deemed a step too far it might be useful to generate an opening and closing delay table for the popular injector types so people can roughly calculate a change to their maps if they change from brand A to brand B of injector. Obviously nozzle flow can just be calculated out as a factor of the flow ratio multimplied by the effective period, T2.

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

Sorry, am I getting carried away???? LOL

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


robert

User Avatar

6745 Posts
Member #: 828
Post Whore

uranus

T2 = T1 - T3 + T4

Roger ,do you mean T2=T1-(T3+T4) ??

Medusa + injection = too much torque for the dyno ..https://youtu.be/qg5o0_tJxYM


Paul S

User Avatar

8604 Posts
Member #: 573
Formerly Axel

Podland


On 5th of Feb, 2007 at 07:45pm robert said:
T2 = T1 - T3 + T4

Roger ,do you mean T2=T1-(T3+T4) ??


That's what I thought to start with, but I think he's right!

Saul Bellow - "A great deal of intelligence can be invested in ignorance when the need for illusion is deep."
Stephen Hawking - "The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge."


robert

User Avatar

6745 Posts
Member #: 828
Post Whore

uranus

OH YESSS DOH ,,, I READ T4 AS TIME FROM END OF FUEL FLOW TO END OF PULSE NUMPTY LOL
THANKS AXEL .

Medusa + injection = too much torque for the dyno ..https://youtu.be/qg5o0_tJxYM


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

I hope I;m right .... fuel injection control stratergy is what I do for a living ...

Note, edited original post as in the T4 definition I said start of pulse not end of pulse ..... might be where I confused people ..... sorry

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


stevieturbo

3588 Posts
Member #: 655
Post Whore

Northern Ireland

Obviously know feck all about this. SO if Im way off, just slap me

Wouldnt a sequential based system, that had individual injector timing for each cylinder, with timing based on end of injection like most aftermarket ecu's be sufficient ???

Or does the charge robbing occur at the start and end of a cycle ?

9.85 @ 145mph
202mph standing mile
speed didn't kill me, but taxation probably will


jbelanger

1267 Posts
Member #: 831
Post Whore

Montreal, Canada

Roger,

I agree with your formula but for most people the T3 and T4 get combined into a single term which is basically the difference between the commanded pulse duration (T1) and the effective duration (T2). MS uses the term opening time for these combined delays which in a non-sequential setup is sufficient. In our case, we want to time the injection pulse so we may want to differentiate between the 2 delays but for now I'm assuming that the opening delay is the major contributor to the difference between commanded (T1) and effective (T2) duration.

Having said that, what I meant in my previous post is as follows. The current scheme is to start injection at the angle found in the timing table regardless of any duration. The angle gets transformed into a reluctor wheel tooth number and time delay which depend on the wheel configuration (number of teeth, number of missing teeth, position of missing teeth) and the time interval between the last 2 teeth (or an average of a few intervals or some weighted average,...).

Another scheme I'm proposing to implement is to time the injection pulse with respect to the end of the pulse. This means that the commanded pulse (T1) gets transformed into angular number which is subtracted from the timing table angle. This new angle is then transformed into a tooth number and time delay as above. This mean the injection pulse will start at some computed point and end at the timing table value.

The last scheme I'm proposing, and the one which holds more promises in my opinion, is to time the injection pulse with respect to the middle of the effective injection pulse (T2). In this case, the effective injection pulse value is divided by 2 and the opening time is added (T2/2 + T3). This value is transformed into an angular number which is subtracted from the timing table value as above. Again the angle is converted into a tooth number and time delay.

This last scheme means that an injection pulse will always fit within a window which (hopefully) corresponds to the intake valve opening time and the commanded angle in the timing table corresponds only to the fuel propagation delay between the injector tip and the intake valve. What I'm curious to see (and which is what some have suggested) is if this propagation delay is constant throughout the RPM/MAP range in an angular value. If this is the case, then the timing table can be replaced by a single value which is dependent on the injector position and the engine intake characteristics. This would also mean that tuning could be simplified a lot.

Let me know if I'm clear in my explanations and if I'm making sense. Also, if you have any suggestions for naming conventions regarding what I call start-of-pulse, middle-of-pulse, and end-of-pulse timing, please let me know.

Regards,
Jean

http://www.jbperf.com/


jbelanger

1267 Posts
Member #: 831
Post Whore

Montreal, Canada

On 6th of Feb, 2007 at 01:26am stevieturbo said:
Obviously know feck all about this. SO if Im way off, just slap me

Wouldnt a sequential based system, that had individual injector timing for each cylinder, with timing based on end of injection like most aftermarket ecu's be sufficient ???

Or does the charge robbing occur at the start and end of a cycle ?

Charge robbing will occur when the fuel meant for the outside cylinders reaches the outside cylinder intake valve and the valve is either closed or the valve is open but the intake valve for the inside cylinder is also open. That fuel will then be ingested, at least partially if not totally, by the inside cylinders. That means that charge robbing will occur if the timing for the fuel injection is either late or early or that the injection pulse is larger than the time when the intake valve is open with no overlap.

The issue with what is usually done in a conventional ECU is that you have a single value for the timing which might not be good enough in the a-series engine and also the fact that you have a single injector servicing 2 cylinders which means 2 injection pulses per cycle which may not be planned for in conventional ECUs with sequential injection. I haven't played with aftermarket ECUs other than Megasquirt but from what I've heard from others who've tried many different ECUs, none of them had these possibilities.

Jean

http://www.jbperf.com/


RogerM

User Avatar

2514 Posts
Member #: 1217
I like nice quiet girly Minis

Cheltenham, Gloucestershire

Jean, thank you for your explaination.

I would be very suprised if the timing table doesn't end up as a map due to the mass flow of the charge (momentum and inertial components of the charge movement) and also the pressure in the intake having an effect on this.

It will probably end up being a function of several things including these and cam overlap. Might also be fun for those people trying throttle per port arrangements (ie equivelent of twin carbs) unless the runners are linked due to only having the one MAP sensor and assumption being the mother of all cock ups!!!!

I think for intial testing you are going to need both NA and forced induction motors. If I had anything close to running I would stick a WBO2 in both a centre adn outer branch and offer to run some for you. I'll let you know.

If anybody near me (Cheltenham, Gloucestershire) wants to borrow scopes etc then I am more than happy to help.)

I'll keep thinking about it now the code is on the horizon.

Every day is a school day ...........

How fast and how expensive ...... the same question...

On 27th of Sep, 2007 at 12:45pm Jimster said:

why do you you think I got a girlfriend with small hands?


robert

User Avatar

6745 Posts
Member #: 828
Post Whore

uranus

totaly ignorant of the experimentation done so far so going to ask a basic q ...has two injectors per port running batch fire non sequ ,been proven not to work by somebody ?
sorry if this has been tested allready and iv not been around
regards
robert

Medusa + injection = too much torque for the dyno ..https://youtu.be/qg5o0_tJxYM

Home > MS Code Discussions > Siamese code update
Users viewing this thread: none. (+ 1 Guests)   Next ->
To post messages you must be logged in!
Username: Password:
Page: