Siamese-port MS2/extra mod

This is a forum for discussing the development and testing of alpha MS2/Extra code. Documentation
(Runs on MS2 and Microsquirt)

Moderators: jsmcortina, muythaibxr

racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Siamese-port MS2/extra mod

Post by racingmini_mtl »

I have modified the MS2/extra code to allow injection timing for port injection of siamese-port engines such as the A-series BMC engine (which should also apply to the B-series and some VW air-cooled engines). This is very much an alpha (even pre-alpha) version which allows timing of the injection pulses using one of the ignition timing tables. The code should work for a m-n toothed wheel and wasted spark ignition. Other configurations are not supported at the moment.

I have tested that the injection timing is working but there is some inaccuracy if the injection time occurs near a tooth trigger. I haven't tested the ignition yet but it should not have been affected. Only bench tests have been performed because I do not have an engine for testing.

More testing is coming and more options will also be implemented once the basic version is validated. If someone wants to test the code either on the bench or on an engine, please let me know and I'll forward the needed files. There are more discussions and details at the turbominis forum.

Jean

p.s. I hope this is the right forum for such a discussion. I could not find a better one to post into.
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
Kesara
MS/Extra Newbie
Posts: 3
Joined: Tue Apr 04, 2006 8:15 am
Location: Colombo Sri Lanka

Re: Siamese-port MS2/extra mod

Post by Kesara »

[quote="racingmini_mtl"]I have modified the MS2/extra code to allow injection timing for port injection of siamese-port engines such as the A-series BMC engine (which should also apply to the B-series and some VW air-cooled engines). More testing is coming and more options will also be implemented once the basic version is validated. If someone wants to test the code either on the bench or on an engine, please let me know and I'll forward the needed files. [unquote]


I am very much happy to test it on my 1968 Austin Mini 1275 Siamese-port Engine

Kesee
Keesee
danc8000
Helpful MS/Extra'er
Posts: 145
Joined: Mon May 10, 2004 1:23 pm

Post by danc8000 »

Any news on this, did you try any testing on the 1275 yet?
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

Dan,

Have you been able to do some testing on your side?

By the way, I haven't made the code public just yet because I don't think it's ready for a large audience but I can provide it on request. When more testing has been done I will make the code generally available.

Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
mikesb
Experienced MS/Extra'er
Posts: 204
Joined: Sun Dec 19, 2004 1:22 pm
Location: Markham, Ontario
Contact:

Post by mikesb »

Hi Jean, where can I find the details on your modifications?
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

Mike,

The 2 latest threads discussing the code are: http://www.turbominis.co.uk/forums//ind ... tid=132331 and http://www.turbominis.co.uk/forums//ind ... tid=136909.

However, I don't really discuss the details in those threads. What has been done is that I took the MS2/extra code and using code similar to the ignition code, I time the injection pulses using the second timing table present in the code (this was unused in the code I used). I made that visible in the Megatune ini file. In the latest version, I added the possibility to use a single fixed timing value instead of the table and to time the injection with respect to either the start of the pulse, the middle of the pulse, or the end of the pulse.

So from the outside (in Megatune), what you see is the standard MS2/extra interface where the car has to be set as a 4-cylinder engine with a toothed m-n wheel with 2 squirts per cycle simultaneous. The second timing table is named the injection timing table and there is a small additional menu (Injection Timing Settings) to select either table or fixed timing, the timing trigger (start, mid, end of pulse), and the timing values if using fixed timing (one for staged injection off and one for staged injection on).

In the code, I have used the timers 2 and 4 to time the injection so the timing accuracy should be quite good. I switched the function of the pins associated with the timers to output compare from the PWM function. I use the MS2/extra every tooth decoder and compute the needed tooth and time depending on the commanded timing angle. I use the timers to start injecting and then I reassign the pins to the PWM function to allow PWM for low-Z injectors.

That may be more details than most people need but if you have questions, let me know. I will release the code a bit later when more tests have been done. For the moment, if you want the s19 and ini files to do some testing, let me know. If you want more details on the theory behind the code there are other threads which discuss this in details.

Regards,
Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
mikesb
Experienced MS/Extra'er
Posts: 204
Joined: Sun Dec 19, 2004 1:22 pm
Location: Markham, Ontario
Contact:

Post by mikesb »

It may be too much detail for most people Jean, but I'd like more :).

Is there someplace where you're describing what you're trying to accomplish with the changes? Details on the hardware modifications needed? Someplace I can catch up before I ask too many dumb/repeated questions.

Is this a good place for me to ask my questions?
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

Mike,

This is a good place to ask your questions.

The theory behind this is well explained on Marcel Chichak's site. Basically, you want to inject when the intake valve for the outside cylinder is open because that's the only time that this cylinder is going to get the fuel. At any other time, the fuel injected will go to the inside cylinder.

Since the fuel for the inside cylinder can be injected any time the outside cylinder intake valve is closed, you can get by doing one injection per rev (2 injections per cycle) in each intake port. This means that on one port there is an injection pulse with the outside intake valve open (cylinder 1) while at the same time in the other port the injection is done with all intake valves closed (fuel for the inside cylinder 3). 360 degrees later another pulse happens with fuel for the other cylinders (4 and 2) timed for the open intake valve of cylinder 4. Marcel goes into it in details but it's essential to understand this.

Another point is that the fuel takes some time to go from the injector nozzle to the intake valve. And this time varies depending on engine speed and how much air is going into the cylinder. This is why there is a timing table for the injection which has to be adjusted so that all the fuel targetted to the outside cylinders actually reaches the cylinder while the intake valve is open. The tuning of the table will need 2 WBO2 sensors with one in an outside branch and one in the middle branch to see that the AFR is the same.

Due to the fact that there is one squirt per rev, there is only a need for a crank sensor and not for a cam sensor. So you have wasted spark together with semi-sequential injection. The only hardware modifications needed are the ones needed for MS2/extra for wasted spark on a 4 cylinder engine. Nothing else is needed.

So have a look at Marcel's site and the MS2/extra information (very minimal at this time). Like I said before, there is quite a bit of information on the turbominis.co.uk site. There has been some discussions on the MS forum but I'm not sure the threads are still there and there is some information on the old yahoo list.

Regards,
Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
mikesb
Experienced MS/Extra'er
Posts: 204
Joined: Sun Dec 19, 2004 1:22 pm
Location: Markham, Ontario
Contact:

Post by mikesb »

Don't worry, I've got the basics, I've crawled through Marcel's site many times, as well as the BL patent description :).

The main question I have is that I don't understand how a crank based sensor only system works. If I'm not mistaken, for each 360 degree turn of the crank only one of the siamesed ports is drawing air/fuel. First the port for cylinders 2 & 1, then on the next time around the other port for cylinders 3 & 4. If you're using the crank only you still need to figure out the injector set to fire to feed the correct port, right? How is that done?

I'm using a pair of motorcycle TBs with integral injectors, each one feeding a separate intake port. I'm using the stock MGB manifold with the balance tube - is that more or less the same what's supported by this MS feature?
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

mikesb wrote:Don't worry, I've got the basics, I've crawled through Marcel's site many times, as well as the BL patent description :).
Good, essential reading in my opinion.
mikesb wrote:The main question I have is that I don't understand how a crank based sensor only system works. If I'm not mistaken, for each 360 degree turn of the crank only one of the siamesed ports is drawing air/fuel. First the port for cylinders 2 & 1, then on the next time around the other port for cylinders 3 & 4. If you're using the crank only you still need to figure out the injector set to fire to feed the correct port, right? How is that done?
First rev, the injection is timed so that the fuel goes into cylinder 1 in the first intake port while the pulse in the second port just waits. Then 180 degrees later, the fuel in the second port gets drawn into cylinder 3. 180 degrees later, the second injection occurs and the fuel in the second port gets drawn into cylinder 4 while in the first port fuel just waits. 180 degrees later the fuel in the first port get drawn into cylinder 2.

The ECU does not need to know in each rev if it is injecting cylinder 1 or 4 because it's timed the same. So you just need a crank reference to know when TDC for cylinder 1 (and cylinder 4) occurs. Look again at Marcel's site and the graphs there and you'll get it.
mikesb wrote:I'm using a pair of motorcycle TBs with integral injectors, each one feeding a separate intake port. I'm using the stock MGB manifold with the balance tube - is that more or less the same what's supported by this MS feature?
It should be the same but I'm not sure about the balance tube. There may be some exchange of fuel which you don't want.

Regards,
Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

For those who want to have a look at the tuning interface, I have attached the Megatune ini file. You just need to have a MS2 project and activate the attached ini. You can compare it to the Jan 06 MS2/extra ini.

Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
mikesb
Experienced MS/Extra'er
Posts: 204
Joined: Sun Dec 19, 2004 1:22 pm
Location: Markham, Ontario
Contact:

Post by mikesb »

Got it, all is clear now Jean, thanks!

Definitely I'd have to get rid of the balance tube, at low throttle openings I'm pretty sure the ports will draw from both TBs, and that's where my injection is taking place.

Did I read correctly, that if I switch from distributor ign triggering to EDIS I'd have trouble with this version of code? I've been planning to make this change, but it's not possible to use the teeth on the wheel to time the injection pulses?
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

mikesb wrote:Did I read correctly, that if I switch from distributor ign triggering to EDIS I'd have trouble with this version of code? I've been planning to make this change, but it's not possible to use the teeth on the wheel to time the injection pulses?
Actually, you need a toothed wheel for the code to time the injection pulses. It can be the EDIS wheel or it could be another m-n wheel but only the 36-1 wheel signal has been tested.

So if you have an EDIS setup, the only thing you would need when going to the siamese code would be to ditch the EDIS module and connect the VR and coil packs directly to the MS (with the needed additional VB921 for V3.0 or 2 of them for V2.2).

The code does not support the distributor or EDIS ignition modes because these do not provide any indication on the position of the engine as far as which cylinder is being fired.

Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
RickRST
Experienced MS/Extra'er
Posts: 240
Joined: Wed Feb 22, 2006 3:19 pm

Post by RickRST »

Does or will MS2extra not support sequential injection? You could then program when each injector turned on and off. This siamese port mod is semi sequential, but each channel can be timed right?
muythaibxr
Site Admin
Posts: 8230
Joined: Thu Oct 14, 2004 12:48 pm

Post by muythaibxr »

ms2extra will most likely not support sequential. That will wait for ms3.
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

RickRST wrote:This siamese port mod is semi sequential, but each channel can be timed right?
At the moment, the channels are fired simultaneously or in a staged fashion. This is what is required for the siamese-port engines.

I'm thinking of modifying the code to allow the alternating mode which would make the code work in a semi-sequential fashion for "regular" 4-cylinder engines, if there is a demand for this. I also have plans to make the code work in a fully sequential siamese-port mode but this would require hardware modifications similar to what is required for the microsquirt code on the MS2. The step from this to fully sequential for any 4-cylinder engines and semi-sequential for 8-cylinder engines will be small and will likely be implemented.

I'm not sure that these will be incorporated in the mainstream MS2/extra code because there is some reluctance (understandably) in having code requiring hardware modifications to the MS2 daughterboard.

Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
RickRST
Experienced MS/Extra'er
Posts: 240
Joined: Wed Feb 22, 2006 3:19 pm

Post by RickRST »

The channels are fired simulataneously i realise, but aren't they timed so that this firing occurs at a specific crankshaft position, which corresponds to the inlet valve being open on one of the cylinders?

What mods are needed to allow sequential besides a Cam position input? I think there will be great demmand for this in all honesty.
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

RickRST wrote:The channels are fired simulataneously i realise, but aren't they timed so that this firing occurs at a specific crankshaft position, which corresponds to the inlet valve being open on one of the cylinders?
Yes, exactly, well almost. You also have to take into consideration the amount of time the fuel will take to go from the injector nozzle to the intake valve. That's why the code has a table for injection timing which can vary with load and RPM and this requires tuning because each engine can have a different combination of intake manifold, injector position, cam, ..., which can all affect injection timing.
RickRST wrote:What mods are needed to allow sequential besides a Cam position input? I think there will be great demmand for this in all honesty.
There are 2 scenarios here. If you want the code to be able to fire in an alternating way, then I don't need the cam sensor and I just fire the injectors every 180 degrees alternating between the 2 channels while making sure I'm synchronized with the first (pair of) cylinder and the second (pair of) cylinder. This will make the code semi-sequential still but for all 4-cylinder engines, not just siamese port engines.

The second scenario is the fully sequential option. This has 2 issues. First for the code, as you say I need to make sure it works with the cam input already in the MS2/extra code and I synchronize the injections with each of the 4 cylinders. This shouldn't be to big of an issue. The second issue is more problematic: there are only 2 injector channels. This means you have to modify the hardware to provide the 2 missing channels. This can be done by modifying the MS2 daughterboard with jumpers. I won't go in details but that also means you lose the ability to do PWM so you either use high-Z injectors (but you're still missing 2 drivers) or you use 4 peak&hold injector drivers to drive 4 low-Z injectors. This is where my board comes in handy with its 4 peak&hold drivers which can also drive high-Z injectors.

I'm planning to implement this but I'm not sure when that will happen. It depends on a few things because it represents quite a bit of time and effort.

Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
RickRST
Experienced MS/Extra'er
Posts: 240
Joined: Wed Feb 22, 2006 3:19 pm

Post by RickRST »

I run MS1 extra, so am not too familar with MS2 - i'm waiting for beta extra code. I don't like PWM, as i prefer the low z injectors to draw as much current as possible so they snap open as quickly as possible. The removal of PWM - is this a hardware output limitation, or a software space issue as in MS1 extra hi res? If it's hardware, then the GPIO should defo help here?

I am aware of the benifits of properly tuned fully sequential injection - the power increase can be quite substantial. I am not sure how semi sequential would come into play. Every other squirt you would be spraying against a closed valve, but just before the power stroke you would be spraying straight into the combustion chamber. I wonder what difference there is between the two?

An extra 2 channels might be better used for controlling a set of extra injectors placed well back in the manifold. It seems this allows very good atomization due to the longer time taken to reach the combustion chamber, and also substantial charge cooling. Of course this allows small injectors for better low load control too.

Rick.
racingmini_mtl
Super MS/Extra'er
Posts: 9130
Joined: Sun May 02, 2004 6:51 am
Location: Quebec, Canada
Contact:

Post by racingmini_mtl »

RickRST wrote:I run MS1 extra, so am not too familar with MS2 - i'm waiting for beta extra code. I don't like PWM, as i prefer the low z injectors to draw as much current as possible so they snap open as quickly as possible. The removal of PWM - is this a hardware output limitation, or a software space issue as in MS1 extra hi res? If it's hardware, then the GPIO should defo help here?
It's a hardware issue because of the number of timers in the CPU and how you must use them for high resolution. And this will be corrected with the router board, and possibly also with the GPIO board, but those involve additional cost and space. They also allow a lot more expansion but if you don't need it, it's good to have a cheap alternative.
RickRST wrote:I am aware of the benifits of properly tuned fully sequential injection - the power increase can be quite substantial. I am not sure how semi sequential would come into play. Every other squirt you would be spraying against a closed valve, but just before the power stroke you would be spraying straight into the combustion chamber. I wonder what difference there is between the two?
I have no idea how much of the sequential benefits would be kept with a semi-sequential setup. I guess that someone would have to test it to find out. It would certainly simplify the setup because you wouldn't need a cam sensor or any hardware modification to the MS2 board or the injector drivers.
RickRST wrote:An extra 2 channels might be better used for controlling a set of extra injectors placed well back in the manifold. It seems this allows very good atomization due to the longer time taken to reach the combustion chamber, and also substantial charge cooling. Of course this allows small injectors for better low load control too.

Rick.
What I was thinking was that there could be 4 channels used for the 4 drivers for the primary injectors close to the valves and then 4 additional drivers for the injectors up in the manifold controlled by the same 4 channels but they would come on using one of the extra outputs and an AND gate. If the ECU lowers the pulse width at the same time as it activates the output, it would work in a similar fashion as the current staging in MS1/extra and MS2/extra. You would need to have some hysteresis and maybe a delay and/or decay in the pulsewidth variation but I think it could be a solution. If you need to have one single set of injectors active at a time, then 2 extra outputs could be used with 2 sets of AND gates and some transition scheme would have to be devised.

Jean
jbperf.com Main site . . . . . . . . . . . . . . . . . . . . . . jbperf.com Forum
Image
Post Reply