Hi All,
Thought I’d drop by to share the findings of my YZ250 EFI project. It has a 2009 CRF450R 50mm throttle body, 3D printed polyurethane throttle boot to a Boyesen RAD valve. Fuel system is returnless with a Walbro GSL-414 pump controlled by a Madhu PWM pump controller/pressure sensor. Fuel filter is a Sytec mini bullet. Injector is the CRF450R 12 hole injector (440cc/min @ 4 bar). It’s controlled with a Microsquirt V3 running MSextra code, triggered by a 20-1 tooth wheel welded to the ignition rotor and a crank sensor from a YFM350.
It’s tuned in Alpha-N strategy (TPS vs. RPM table), with barometric pressure sensor and intake air temp sensor for compensation. It uses a Wideband O2 and logs either EGT or Fuel pressure.
First start was about a month ago, have put 3 tanks of fuel through it so far. Most of the tuning has been automatic based on AFR targets, except idle, light throttle and overrun where it needs to be tuned manually. 50mm throttle feels just as linear as the 38mm carb. I haven’t used any accel pump fuelling yet, so I’m hoping that will sharpen the throttle up a bit more.
Throttle transition at high rpm has been the main tuning issue. When closing and reopening the throttle, the motor would flood and not refire until the revs dropped, so I figured the airflow must drop off at some throttle value. I tried tuning a ledge into the fuel map, it was better than before but still hit and miss, fast roll on was ok, slow roll on or steady part throttle would still flood.
Then I figured that the airflow wasn't just related to the throttle, but when the engine is firing, the airflow is significantly higher than when it isn’t firing, due to the exhaust vacuum after blowdown pulling charge through the engine.
Therefore the fuel required for a cycle can be predicted by whether or not the engine fired on the previous cycle, in addition to engine speed and throttle position.
So my solution is to check whether the cylinder has fired, then adjust the fuel table for the next cycle. The throttle body MAP sensor is connected to the exhaust port and samples the pressure during blowdown. I’ve set up a 2nd fuel table in the ECU with a multiplier for when the pressure is above a threshold, corresponding to the cylinder firing. When the exhaust pressure is high, the main fuel table is unchanged, when low, it is reduced by 50% (will need to be dialled in for various RPM, but seems to work so far). The main fuel table is tuned with the wideband when the motor is firing, then extrapolated into the non-firing low throttle/overrun area. On closing the throttle, once the motor stops firing, fuel flow drops to match the airflow, so the motor doesn’t flood. On opening the throttle, the mixture is correct to initiate firing, then after the first fire fuel flow goes back to the main table value.
I think with some tuning I should be able to get the transition pretty much seamless. At the moment I'm working on getting the fuel table just right around the transition area, then I'll work on the switch threshold and multiplier values. That said, it's pretty decent already, but I'm a perfectionist.
Nathan
https://www.youtube.com/watch?v=4Zsz26QmfAU
Attachment 328790
Attachment 328789
Attachment 328791
Attachment 328792
Attachment 328793
Bookmarks