S1000RR Motorcycle Engine

Your chance to introduce yourself and your vehicle
Post Reply
arsenix
Posts: 8
Joined: Sun Oct 11, 2020 3:24 am

S1000RR Motorcycle Engine

Post by arsenix »

I've been interested in RusEFi for a long time but never done a project with it... I'm hoping this might be a good candidate for a first. I've done a number of megasquirt projects (including custom microsquirt carrier PCBs).

I'm putting a 2013 S1000RR engine in a racecar. The factory ECM is a total bear to get working in non OEM applications and I'd rather sell it working and put something aftermarket on it than deal with that science fair.

It is a fairly "normal" 4 cylinder motorcycle engine with a few unusual characteristics:
  1. Redline is 16,000 rpm
  2. It has staged injection - 4 injectors at the port, 4 up in the trumpets
  3. Active exhaust and intake - fairly simple butterflies that go on/off at different rpm setpoints
Will 16,000rpm be a problem for RUS? I believe it uses a 60-2 trigger wheel, unsure of the cam trigger yet (need to look). Has COP ignition.

The factory ECM runs full sequential on the injection (at least at low RPM). I don't think sequential is that important here. I note that the RUS docs say staged injection is supported. How does this work? Can I set the two banks up with independent VE tables?

Excited to try out RUSefi. I've been a disgruntled megasquirt user for many years ;-)


James
User avatar
AndreyB
Site Admin
Posts: 14327
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: S1000RR Motorcycle Engine

Post by AndreyB »

16K at 60/2 should be possible. Can you confirm if that's in fact 60/2 or less?

Staged injection we do not have at the moment :( I am happy to correct the page which says that we does if you can please help with with the URL. Do you have any software development skills? Do you want to start the project without staged?

Fairly simple butterflies that go on/off at different rpm setpoints - we have General Purpose I/O and more advanced FSIO, so you are covered here.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
mck1117
running engine in first post
running engine in first post
Posts: 1494
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: S1000RR Motorcycle Engine

Post by mck1117 »

Do you need staged? It's a racecar, who cares about idle :lol:
arsenix
Posts: 8
Joined: Sun Oct 11, 2020 3:24 am

Re: S1000RR Motorcycle Engine

Post by arsenix »

I am an embedded systems developer in my career so I'm happy to poke around with the software. I don't have unlimited time but I do love this stuff :) I'm pretty familiar with ChibiOS on STM32... have used it on a number of projects in the past.

My MS projects are all running slightly modified code to add I/O logic for a few things.

I think the main page mentions "staged/sequential/batch" injection. Not mentioned anywhere else though!


I think without staged injection I would be stuck running the port injectors because it wouldn't run at partial throttle using only the upper injectors (they would be dumping into the closed ITBs!). It will lose some power with just the port injectors especially at high RPM, although I think it would run. Might have to put larger port injectors on to run them alone though.

How difficult would it be to setup a 2nd VE table for the 2nd set of injectors? I have poked around with RusEFI source over the last few years and it seems architected in a very modular fashion. I suspect this is the "right" way to do it. Maybe with just alpha-N VE tables based on throttle position. I could also just do a simple linear map based on throttle/rpm to decide the fueling "split". I have not yet seen any other tunes for this engine that deal with the injector mapping. I know people tune these bikes with piggybacks like power commander. It would be nice to map out the split on the factory ECM before trying to RUSefi it but I'm not sure that is possible. I doubt I'm even a decent enough rider to even get into the secondary injectors!
arsenix
Posts: 8
Joined: Sun Oct 11, 2020 3:24 am

Re: S1000RR Motorcycle Engine

Post by arsenix »

It is here:
https://rusefi.com/wiki/index.php?title=RusEfi:About

Under "Features" "Fuel Injection: staged, batch & sequential options."

This is the "out of date" wiki... so I guess it should not be trusted anyway!
mck1117
running engine in first post
running engine in first post
Posts: 1494
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: S1000RR Motorcycle Engine

Post by mck1117 »

arsenix wrote:
Sun Oct 11, 2020 3:55 pm
I think without staged injection I would be stuck running the port injectors because it wouldn't run at partial throttle using only the upper injectors (they would be dumping into the closed ITBs!). It will lose some power with just the port injectors especially at high RPM, although I think it would run. Might have to put larger port injectors on to run them alone though.
Is there anything wrong with just running the lower injectors?
arsenix wrote:
Sun Oct 11, 2020 3:55 pm
How difficult would it be to setup a 2nd VE table for the 2nd set of injectors? I have poked around with RusEFI source over the last few years and it seems architected in a very modular fashion. I suspect this is the "right" way to do it. Maybe with just alpha-N VE tables based on throttle position. I could also just do a simple linear map based on throttle/rpm to decide the fueling "split". I have not yet seen any other tunes for this engine that deal with the injector mapping. I know people tune these bikes with piggybacks like power commander. It would be nice to map out the split on the factory ECM before trying to RUSefi it but I'm not sure that is possible. I doubt I'm even a decent enough rider to even get into the secondary injectors!
If it does get implemented, I'd recommend not adding a second VE table, but instead adding a table that defines what fraction of the fuel mass goes to each injector under some [rpm, load] condition.
User avatar
AndreyB
Site Admin
Posts: 14327
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: S1000RR Motorcycle Engine

Post by AndreyB »

arsenix wrote:
Sun Oct 11, 2020 4:57 pm
https://rusefi.com/wiki/index.php?title=RusEfi:About
Under "Features" "Fuel Injection: staged, batch & sequential options."
Thank you! I've just removed "staged"
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
arsenix
Posts: 8
Joined: Sun Oct 11, 2020 3:24 am

Re: S1000RR Motorcycle Engine

Post by arsenix »

mck1117 wrote:
Sun Oct 11, 2020 6:29 pm
Is there anything wrong with just running the lower injectors?
I would guess we'd lose power. Based on dyno tuning I've done with long runners and injection at the top of the plenum... I suspect it would be around 10% at high RPM. They put those guys up there for a reason!

Agree on the split table. That would seem easier to tune. That way the "total fuel injected" will stay constant, just distributed across the injectors. I guess the only reason not to do that is if there is some reason to abstract the VE/duty table for other uses. Like... water injection or dual fuel? Where the total injection is not constant.
mck1117
running engine in first post
running engine in first post
Posts: 1494
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: S1000RR Motorcycle Engine

Post by mck1117 »

arsenix wrote:
Mon Oct 12, 2020 4:49 am
Agree on the split table. That would seem easier to tune. That way the "total fuel injected" will stay constant, just distributed across the injectors. I guess the only reason not to do that is if there is some reason to abstract the VE/duty table for other uses. Like... water injection or dual fuel? Where the total injection is not constant.
Right - but that would alter the airmass (by displacing some air with not-air), or stoichiometric ratio (replacing fuel with other fuel). Right now we have very clear delineation between [airmass] -> [fuel mass] -> [injection duration]. For example, flex fuel operates in the first arrow, and variable fuel pressure (or staged injection) fits in the second arrow.
arsenix
Posts: 8
Joined: Sun Oct 11, 2020 3:24 am

Re: S1000RR Motorcycle Engine

Post by arsenix »

That makes sense. For a single fuel staged injection it would make sense to do it in the third part of those calculations. Since the desired amount of fuel is mostly constant. Although I believe that with the upper injectors on the desired total fuel mass will be a little lower (this is where the extra power comes from) since the burn is more efficient due to better atomisation/evaporation of the fuel before burn. That would mean that the overall VE table would get leaner in the areas where the staged injection is engaged right?
mk e
Posts: 486
Joined: Tue Dec 06, 2016 7:32 pm

Re: S1000RR Motorcycle Engine

Post by mk e »

arsenix wrote:
Mon Oct 12, 2020 5:22 pm
That makes sense. For a single fuel staged injection it would make sense to do it in the third part of those calculations. Since the desired amount of fuel is mostly constant. Although I believe that with the upper injectors on the desired total fuel mass will be a little lower (this is where the extra power comes from) since the burn is more efficient due to better atomisation/evaporation of the fuel before burn. That would mean that the overall VE table would get leaner in the areas where the staged injection is engaged right?
Yes, I think so. Anytime you're setting VE based on O2 readings its really "apparent VE" so if the fuel is burning better it will appear VE is dropping....less fuel is needed to maintain O2 reading is interpreted as lowed mass air flow....lower VE, assuming you're using speed-density or alpha-N, if you use a MAF sensor it will look like a fuel flow control issue.

i spent some time looking into this setup before I was talked out of it as not worth the complexity on a street V12. What my plan was to align the staging with points on the VE table (I use speed-density) so as I added upper injector flow I could at the same point recalibrate VE to keep the O2 readings matching the AFR table. Seemed simplest.
mck1117
running engine in first post
running engine in first post
Posts: 1494
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: S1000RR Motorcycle Engine

Post by mck1117 »

mk e wrote:
Mon Oct 12, 2020 6:01 pm
arsenix wrote:
Mon Oct 12, 2020 5:22 pm
That makes sense. For a single fuel staged injection it would make sense to do it in the third part of those calculations. Since the desired amount of fuel is mostly constant. Although I believe that with the upper injectors on the desired total fuel mass will be a little lower (this is where the extra power comes from) since the burn is more efficient due to better atomisation/evaporation of the fuel before burn. That would mean that the overall VE table would get leaner in the areas where the staged injection is engaged right?
Yes, I think so. Anytime you're setting VE based on O2 readings its really "apparent VE" so if the fuel is burning better it will appear VE is dropping....less fuel is needed to maintain O2 reading is interpreted as lowed mass air flow....lower VE, assuming you're using speed-density or alpha-N, if you use a MAF sensor it will look like a fuel flow control issue.
Right - of course it'll probably change the value you need in the VE table a bit, but it'll be minimal, and your VE table will still be VE-table-shaped. But that's the case with anything you change, really. Change ignition timing significantly? It'll need VE table tweaks. Change boost level/wastegate settings? It'll need VE table tweaks.
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: S1000RR Motorcycle Engine

Post by kb1gtt »

AndreyB wrote:
Sun Oct 11, 2020 8:41 pm
Thank you! I've just removed "staged"
Can't staged be done with flex IO? AKA if RPM or load is above xyz, then injector on, else injector off.
Welcome to the friendlier side of internet crazy :)
mck1117
running engine in first post
running engine in first post
Posts: 1494
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: S1000RR Motorcycle Engine

Post by mck1117 »

kb1gtt wrote:
Tue Oct 13, 2020 8:32 am
AndreyB wrote:
Sun Oct 11, 2020 8:41 pm
Thank you! I've just removed "staged"
Can't staged be done with flex IO? AKA if RPM or load is above xyz, then injector on, else injector off.
That's not how staged injection works. The point of staged injection is that the second injector slowly takes over as the duty cycle increases on the first one. On car engines, it's used for engines that make huge horsepower, but need to still idle. So they might have a 300cc injector that operates idle and highway cruising, but when you're making 2000hp out of a 2 liter 4 cylinder, the requisite injector would be so enormous you wouldn't be able to idle. So you idle on one, then when that one hits 80% duty cycle or something, you add the second injector to fill on top of it.
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: S1000RR Motorcycle Engine

Post by kb1gtt »

I understand there are different algo's and different methods for how the injectors are blended. Of course you can do lots of things with FSIO, and you can potentially implement many different algo's with FSIO. For example,
If load above 50% then injector PWM = 20%
if load above 60% then injector PWM = 40%
if load above 70% then injector PWM = 60%
etc etc.

I understand some blending algo's are discrete as I originally mentioned. As well some are a fairly rapid transition, such that at low load you are only small injectors and at high loads you are only large injectors. Other algo's do a more continuous blending, so that your large injector's are starting to kick in a much lower loads and your small injectors are full open when the larger injectors are open. As well some people use manifold large injector with small port injectors, or vice versa. I also understand that some algo's use load, other use RPM and some use commanded PWM of the small injector. There are lots of staged algo's. I believe pretty much all of the algo's I've seen can be done with FSIO.
Welcome to the friendlier side of internet crazy :)
mck1117
running engine in first post
running engine in first post
Posts: 1494
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: S1000RR Motorcycle Engine

Post by mck1117 »

kb1gtt wrote:
Tue Oct 13, 2020 8:47 am
I understand there are different algo's and different methods for how the injectors are blended. Of course you can do lots of things with FSIO, and you can potentially implement many different algo's with FSIO. For example,
If load above 50% then injector PWM = 20%
if load above 60% then injector PWM = 40%
if load above 70% then injector PWM = 60%
etc etc.

I understand some blending algo's are discrete as I originally mentioned. As well some are a fairly rapid transition, such that at low load you are only small injectors and at high loads you are only large injectors. Other algo's do a more continuous blending, so that your large injector's are starting to kick in a much lower loads and your small injectors are full open when the larger injectors are open. As well some people use manifold large injector with small port injectors, or vice versa. I also understand that some algo's use load, other use RPM and some use commanded PWM of the small injector. There are lots of staged algo's. I believe pretty much all of the algo's I've seen can be done with FSIO.
FSIO can't handle it. Remember, you're splitting fuel mass, not injector pulse width. Each bank of injectors is probably a different flow rate, and might even be different pressure! It really does need to be integrated in to the fuel model. Not to mention, FSIO can't do the actual injector scheduling.
mk e
Posts: 486
Joined: Tue Dec 06, 2016 7:32 pm

Re: S1000RR Motorcycle Engine

Post by mk e »

mck1117 wrote:
Tue Oct 13, 2020 8:35 am


That's not how staged injection works. The point of staged injection is that the second injector slowly takes over as the duty cycle increases on the first one. On car engines, it's used for engines that make huge horsepower, but need to still idle. So they might have a 300cc injector that operates idle and highway cruising, but when you're making 2000hp out of a 2 liter 4 cylinder, the requisite injector would be so enormous you wouldn't be able to idle. So you idle on one, then when that one hits 80% duty cycle or something, you add the second injector to fill on top of it.
A lot of it is for that reason. the F1 cars and now sport bikes started doing it to give the fuel more time to atomize...they generally call it a high/low setup vs "staged"...but it is also staged. At lower rpm and lower load when they spray low often on the closed valve, at higher rpm they spray from the top into a moving air stream and claim some hp gain. I talked to a couple race tuners and they told me that try as they may they never saw any gain on normal engines....usually saw a loss. 9k rpm just isn't enough to need the injectors up top I guess......but ducati was doing it on 9k engines which is what got me thinking I needed it. Anyway similar but different to traditional staging.
Post Reply