jump to navigation

Fuel Injector Drivers 2010/03/22

Posted by Michael in 2JZduino.

[Edited April 10th 2010: Initially I had installed FQP4N20L MOSFETs. These generated too much heat (on resistance of ~1.2 Ohms). I have since switched to IRL640 which has an on resistance of only ~0.15 Ohms.]

The stock 2JZ-GE fuel injectors are 12V 12.5 Ohm solenoids.  There are 6 injectors total.  When the ECU requests fuel for each cylinder it switches the respective fuel injector wire to ground through a MOSFET of it’s own (I opened the ECU box to have a look at the PCB. It was indeed a MOSFET, although I didn’t record the actual part number).

2JZduino intercepts these fuel injector signals and recreates them through a custom designed Fuel Injector driver circuitry.  Below is a schematic of the fuel injector driver circuit for one of the 6 injectors. (Note the schematic shows IRF640, but IRL640 is the correct p/n.)

The stock injector ground path through the 2JZGE engine ECU (2JZGE ECU pin 10) is connected to one of the 2JZduino digital I/O pins (D21).  This pin is configured with the pull-up resistor ON; the firmware logic treats itas active LOW.  When the stock ECU requests fuel the 2JZduino firmware decides when to drive pin D35 output; this pin is active HIGH and controls the IRL640 MOSFET.

The Avalanche Diode (P6KE150 ) is used to protect against kickback from the solenoid.  After the solenoid has been ON, the instant the MOSFET gate is turned OFF (low) the energy in the solenoid coil (inductor) will be driven into the gate of the MOSFET as a voltage spike.  The Avalanche diode protects against this over-voltage by breaking down at 150V.  The selected breakdown voltage is a compromise between minimizing potential for damage to electrical components and maximizing the reverse voltage to ensure short “off time” of the fuel injector (the time required for the fuel injector to close).

Note that the IRL640 has a built-in diode that breaks down at 200V.  Relying on this internal protection however puts excess burden on the MOSFET to regularly dissipate energy (heat) every time the injector closes (every other engine revolution).  Instead, the dedicated diode takes on this responsibility.

The last two components are the 10k pull-down resistor connected between gate and ground, and the 220 Ohm resistor at the Arduino output.  The 220 Ohm limits the current rush out of the Arduino into the MOSFET gate.  The 10k pull-down ensures safe operation in the event that the 2JZduino loses power and the digital output connected to the MOSFET gate floats.  This resistor pulls the gate low so that the MOSFET is kept OFF unless explicitly driven HIGH by the digital output of the 2JZduino.

There are some necessary considerations for the power source of this circuit.  At 12.5 Ohms each of the 6 injectors will draw about 1 Amp when energized.  It is important to draw 12V power from a circuit that can supply the current.  Using the IS300 Overall Wiring schematics I found pin A5 which is part of the 25A EFI circuit.

This circuit has so far successfully driven all 6 fuel injectors on my 2JZ-GE engine during idle and up to ~3000 RPM (unloaded).  Additional testing is necessary to ensure the MOSFET heatsinks and thermal dissipation of the electrical enclosure provides adequate cooling.



1. mindogas - 2010/10/01

Nice review. Did you found solution for MOSFET cooling? I’m searching for a MOSFET capable to feed 2A for my project, but without luck.

tejonbiker - 2013/12/23

Hi, you can use an IRFZ44N (with RDSon= 17.5mΩ) but this MOSFET needs 9 V for VGS to get the this resistance and his breakdown voltage is low (55 V), you can use a diode to clamp to 40 V (I read that you can use diodes to clamp to this voltage), with this resistance you don’t need heatsink.


Michael - 2013/12/31

The IRLZ44n (logic-level version of the same MOSFET) would be a better choice. I think I evaluated this MOSFET during design and opted for a higher breakdown voltage since this sets the back EMF of the fuel injector when it tries to close. I had concerns that too low of a voltage would result in a slow “off” time for the fuel injector.

Nothing conclusive though. And for a ~$1 heat-sink there have been no issues with the IRL640.

2. Michael - 2010/10/05

So far the IRL640 has been ok in testing for heat. I haven’t tested extremely long-term temperature but I expect it will be fine since injector duty-cycle is pretty low when cruising.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: