|
|
|
Using Bosch BIP373 Ignition Modules with MegaSquirt
Updated 9/15/2009
The Bosch BIP373 transistor has served in many different Bosch ECUs and
ignition modules. They've been available to ECU and ignition module
manufacturers for some time in wholesale lots, but now we are making these
transistors available in retail quantities for the hobbyist market. We've
done extensive testing on them and found these make a great drop-in replacement
for the now-discontinued VB921 IGBT ignition drivers commonly used in
MegaSquirt ECUs. Not only do they drop right in, we've found they are much harder to
destroy if the output or dwell settings are incorrectly configured. In
fact we've been trying really hard and we haven't been able to burn one up yet!

Like the VB921, the BIP373 is a transistor in a TO-220 package designed to
drive ignition coils. The pinout is exactly the same as a VB921. There is
one key difference in building a Megasquirt using BIP373s: The BIP373 is not in
an insulated package, so you must use a mica insulator when mounting it
on a heat sink. Other than that, it works in any circuit that you can use
a VB921 in. When driving a single BIP373 from a processor output, we
recommend using a 330 ohm resistor in the wire connected to the base for both
MS1/Extra and MS2/Extra applications. When driving two BIP373s from one
output for firing coil-on-plug applications in a wasted spark mode, use 660 to
680 ohm resistors, one resistor per BIP373.

Bosch BIP373s have both output current limiting and thermal shutdown built
in. The data sheet puts the typical current limiting at 11.5 amps with a maximum
of 16 amps. The thermal shutdown range is between 185 and 210 degrees C
with a typical shutdown at 195C. Basically that means the BIP373
will provide a hotter spark that a VB921, and if you configure it wrong and it
gets hot, it shuts itself down instead of turning on the pyrotechnics.
According to the datasheet and confirmed by our tests, the BIP373s can charge
up more current than a VB921s could and can do so fairly safely due to
the very functional current limiting and thermal shutdown. There is
however still a need to responsibly set your dwell and configure your spark
output setting properly. If you let it get out of control the BIPs will
not be the weak point now, they'll get hot and thermally shut themselves down
and stop sparking until they cool down. You'll know something is wrong
because your spark will go away and your ECU and particularly the BIPs will be
HOT... but the spark will come back after they cool down. Correct the
problematic setting (spark output reversed or too much dwell) and try again.
Note that with the BIP373 IGBT component no longer being the weak link, the next
link in the chain could be the coil itself if you overdwell it or invert the
spark output. Coils can melt too. We tried really hard on our test
rig and weren't able to melt one, but there are a ton of coils out there, your
mileage may vary.
The proper way to set dwell is with a scope, using the trick we're about to
share as a backup. As a 'quick and dirty' method of setting dwell without a scope we
recommend checking the temperature of the BIP373s while slowly increasing dwell.
Maybe start at 1.2-1.5ms and increase it .2ms at a time while idling the car - if
they become too warm to the touch, back the dwell off a bit until they stabilize at
ambient temp or barely above. Check it again after running the car at
different RPMs to verify the same results. They shouldn't run hot all the
time...
Bosch does not have a data sheet for the BIP373 posted online but we were
able to dig it up,
here
it is if you'd like to take a look, you can
also find out more about their BIP product line at
this section of the official Bosch website.
Here a couple tips on installing the BIP373 in V3.0 and V3.57 ECUs. This
covers just the outputs; inputs will depend the engine.
BIP373s on a MS1
Hardware mods required:
- Jumper IGBTOUT to
IGN to send to IGBT ignition coil driver signal out of pin 36 on the
DB37. (V3.0 only)
- Cut out R57 if
fitted on a V3.0 (This won't be there on my units, though.).
Now for constructing the
outputs...
- Get a 330 ohm 1/4w
resistor and cut the leads down to about 1/2" at each end. Maybe a
bit less.
- Tin each end of the
resistor with a bit of solder.
- Cut a 5" piece of
hookup wire (22ga is fine) and strip just a 1/8" or so. Tin the
stripped wire with solder.
- Melt the tinned
wire tip to one end of the tinned 330 ohm resistor tip and let it
cool.

- Heatshrink wrap
this wire/resistor assembly.

- On a V3.0, use this
wire/resistor combo to jumper the 'top' (top as in when you facing
the silkscreen side of the PCB, with the text so that you can read
it normally) lead of R26 on a V3.0 to IGBTIN on the opposite side of the PCB.
(On a V3.57, this is kind of tricky. It's easier to use pin 7 on the
U1 socket instead.) On a V2.2, you'll run this to the right of R25
instead.

- Now, you will be constructing duplicates
of this BIP373 circuit for each coil output you need, if you're
using more than 1 output. You can mount the additional BIP373s on
a second heat sink stacked on top of the first, attached on top with
long screws. Or you can mount the BIP373s to the case.
- Each BIP373 will need a resistor-on-a-wire
assembly, running to its left leg. You will get the BIP373 input
signal from the following locations:
| Output |
Input Location (V2.2) |
Input Location (V3.0) |
Input Location (V3.57) |
| Spark A |
Right of R25 |
Top of R26 |
U1 pin 7 |
| Spark B |
Right of R28 |
Top of R29 |
U1 pin 8 |
| Spark C |
Right of R26 |
Top of R27 |
U1 pin 9 |
| Spark D |
Top of R14 with R14 removed |
Bottom of R1 with R1 removed |
Bottom of R1 with R1 removed |
| Spark E |
U1 pin 10 |
JS7 |
JS7 |
| Spark F |
JP1 pin 5 |
JS10 |
JS10 |
- The center leg of the BIP373 is its spark
output. We have found that the IAC traces on a V3.0 or V3.57 can carry enough current
for normal use, so you can use one IAC trace for each spark output.
You may need to add an extra connector on 12 cylinder applications
if you are not using a V3.57.
This is our recommended pinout, which we use in our assembled ECUs,
for up to 8 cylinder engines.
| Output |
V3.0 / V3.57 board connection |
V3.0 / V3.57 DB37 pin |
| Spark A |
IGN |
36 |
| Spark B |
IAC2B |
31 |
| Spark C |
IAC2A |
29 |
| Spark D |
IAC1B |
27 |
- V2.2 traces are a bit thinner. You can
solder to the underside of the DB37 directly, or cut a hole in the
case and add a second connector for the spark outputs. Your call.
- Connect the right leg of each BIP373 to a
ground, preferably the DB37 ground pins, the right leg of R37 or
R38, or the bottom hole of R43. The proto grounds can be used but
this creates more noise on the signal ground plane. On a V2.2, solder these
to the ground pins on the DB37, or route them out second ground
wires on the added connector mentioned above.
External wiring:
- Connect the negative terminals of the coil
to the pins specified in the above pinout.
MegaTune settings required:
Under Spark Settings:
- Set Spark Output Inverted:
Yes.
Setting this wrong will overheat the BIP373.
Enable dwell control and adjust as needed to
match the coils you are using. Set the dwell at a very low value to
start with (we've found Ford EDIS coils have especially short dwell
times) and increase it slowly. Back it off if the BIP373s become hot to
the touch.
|
The instructions below work for either MS2 B&G code or MS2/Extra.
BIP373s on a MegaSquirt-II V3.0 or V3.57 -
Single Coil
Hardware mods required:
- Jumper IGBTOUT to
IGN to send to IGBT ignition coil driver signal out of pin 36 on the
DB37. (not needed on a V3.57)
- Cut out R57 if
fitted on a V3.0 (This won't be there on my units, though.).
- Our assembled V3.57
boards, if not fitted for direct coil control, will have a jumper
from JS10 to the center hole of Q16. Remove the jumper from the
center hole of Q16, and reroute it from JS10 to IGBTIN.
- Solder a BIP373
into the Q16 slot, using a mica insulator.
External wiring:
- Connect the negative terminals of the coil
to pin 36.
MegaTune settings required:
- Set Spark Output to "Going High
(Inverted)." Setting this wrong can
overheat the BIP373s or damage the coils.
- If using MS2/Extra, set Spark A output pin to
JS10.
Enable dwell control and adjust as needed to
match the coils you are using. Set the dwell at a very low value to
start with and increase it slowly. Back it off if the BIP373s become hot to
the touch.
|
This is an MS2/Extra only version, for V2.0.0 or later code.
BIP373s on a MegaSquirt-II V3.0 or V3.57 -
multiple coils
Hardware mods required:
- Jumper IGBTOUT to
IGN to send to IGBT ignition coil driver signal out of pin 36 on the
DB37. (not needed on a V3.57)
- Cut out R57 if
fitted on a V3.0 (This won't be there on my units, though.).
- Our assembled V3.57
boards, if not fitted for direct coil control, will have a jumper
from JS10 to the center hole of Q16. Remove the jumper.
Now for constructing the
outputs...
- Get a 330 ohm 1/4w
resistor and cut the leads down to about 1/2" at each end. Maybe a
bit less.
- Tin each end of the
resistor with a bit of solder.
- Cut a 5" piece of
hookup wire (22ga is fine) and strip just a 1/8" or so. Tin the
stripped wire with solder.
- Melt the tinned
wire tip to one end of the tinned 330 ohm resistor tip and let it
cool.

- Heatshrink wrap
this wire/resistor assembly.

- Use this
wire/resistor combo to jumper the 'top' (top as in when you facing
the silkscreen side of the PCB, with the text so that you can read
it normally) lead of R26 to IGBTIN on the opposite side of the PCB.
(On a V3.57, this is kind of tricky. It's easier to use pin 7 on the
U1 socket instead.)

- Now, you will be constructing duplicates
of this BIP373 circuit for each coil output you need. For a 1
cylinder, you'll use 1 output; for more cylinders, you will use 1
output for every 2 cylinders. You can mount the additional BIP373s on
a second heat sink stacked on top of the first, attached on top with
long screws. Or you can mount the BIP373s to the case.
- Each BIP373 will need a resistor-on-a-wire
assembly, running to its left leg. You will get the BIP373 input
signal from the following locations:
| Output |
Input Location (V3.0) |
Input Location (V3.57) |
| Spark A |
Top of R26 |
U1 pin 7 |
| Spark B |
Top of R29 |
U1 pin 8 |
| Spark C |
Top of R27 |
U1 pin 9 |
| Spark D |
JS11 |
JS11 |
| Spark E |
JS5 |
JS5 |
| Spark F |
JS4 |
JS4 |
- The center leg of the BIP373 is its spark
output. We have found that the IAC traces can carry enough current
for normal use, so you can use one IAC trace for each spark output.
You may need to add an extra connector with the V3.0 on 12 cylinder applications,
or if you are running a stepper IAC. You can use this pinout
if you are not running a stepper IAC, for up to 8 cylinders.
| Output |
Board connection |
DB37 pin |
| Spark A |
IGN |
36 |
| Spark B |
IAC2B |
31 |
| Spark C |
IAC2A |
29 |
| Spark D |
IAC1B |
27 |
- Connect the right leg of each BIP373 to a
ground, preferably the DB37 ground pins, the right leg of R37 or
R38, or the bottom hole of R43. The proto grounds can be used but
this creates more noise on the signal ground plane.
External wiring:
- Connect the negative terminals of the coil
to the pins specified in the above pinout.
MegaTune settings required:
- Set Spark Output to "Going High
(Inverted)." Setting this wrong can
overheat the BIP373s or damage the coils.
- Set Spark A output pin to D14.
Enable dwell control and adjust as needed to
match the coils you are using. Set the dwell at a very low value to
start with (we've found Ford EDIS coils have especially short dwell
times) and increase it slowly. Back it off if the BIP373s become hot to
the touch.
|
For further information please see the
Conditions of Use page.
|