Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
For any add-on boards such as VR conditioners, optos and OEM interface boards
#45534
Hi All

For everyone that is interested: I designed and tested a Low-z injector PWM driver board. The idea is that it would generate a lot less heat than solutions with the LM1949, CS452/453 or Resistors.

I have not run it on any car yet. But is is very thoroughly tested on the bench. I used some LPG injector coils as dummy injectors. Some pictures of the heat generated and some scope images of the current thru the coils are in the Measurements folder.

https://github.com/Tjeerdie/Peak-And-hold-Driver

Regards,
Tjeerd
#45553
That type of PWM peak-hold injector is not usually used with injectors, the use of a window-comaparator for the hold current is more conventional. The PWM driver has a very slow decay from the peak, as you can see in your waveform captures, that gives non-linear closing times at short pulse widths.
have you measured the voltage across the current sense resistor during avalanche clamping? I have some concern regarding inductive spikes, you have no filtering or protection on the comparator input and no hysteresis, without any amplification your switching threshold is quite close to ground. You also have no filter on Vref.
You have an 18V varistor, that is going to clamp before any other electronics in the vehicle so your board will become the central clamping point for any load dump pulse - it is not going to survive that.
You have no decoupling caps on the logic chips.
What is maximum inrush current for the 1mF caps? I would expect to see some current limiting. As a filter they don't have any series impedance, an inductor in the supply line would make a big difference. You also don't have any high-frequency de-coupling.
I can't make out what the top transistors are supposed to be, most of the peak-hold circuits that I've worked with have been high side/low side pairs but thats not you've got, you have a transistor in series with a recirc diode, are you trying to turn off the recirc diode and then clamp the flyback energy through the OR gate? why do you have two transistors in parallel?
What are your injector characteristics?
#45603
Hi JHolland

Thanks for the comment. This gives me the opportunity to explain my rational behind the design. Very long answer unfortunately.

The reason for peak + hold in my opinion is to get a high electromagnetic force to open the injector quickly (Peak). The hold current is just lower to not overheat the injectors but still enough keep them open. So the exact wave form of the hold current is of lower interest to me. As long as the energy in the injector coil resistance is reduced enough. The difference for an injector driver peak and hold compared to an coil driver peak and hold is the last part where in the injector case you want to get rid of your coil energy as quickly as you can (quick close). That means to get as high a fly back voltage as you can without destroying any components during the closing time.

The idea for the design is a simple lowish complexity PWM peak and hold injector driver. But with a fast injector closing time by using a high flyback voltage ONLY during closing of the injector. (during PWM mode a diode is employed to keep the system efficient and reduce heat in on PCB components). The following steps are created using the logic gates:

Step 1 (Peak): Open the injector when injector pulse is starting. Ramp up the current until peak value sensing that with the comparator and current sense resistor. When peak is reached set the flipflop to let the system remember for this injector pulse the peak has been reached.

Step 2: (Hold) Now the hold current needs to be set. This is done using a fixed PWM duty cycle where the duty cycle chosen such that it meets Ihold ~= (Vbat * Dutycycle)/Rinjector. This is only true for steady state but simplifies the system greatly! (only one fixed duty PWM signal needed for 4 injectors). During PWM the high side driver switches the flyback diode on. So no high inductive voltage during PWM. Essentially making it a badly filtered DC/DC converter during this time.

Step 3: (close) To close the injector quick, release the diode with the high side driver and let the inductance get rid of this energy thru the avalange or clamping of the low side mosfet. Also some zener to the gate of the lowside driver is places to make the clamping voltage lower if desired or when a non repetitive avalanche rated low side driver is employed.

Now for your questions:
“That type of PWM peak-hold injector is not usually used with injectors, the use of a window-comaparator for the hold current is more conventional.”
Can you explain a bit more about the window comparator in use case in this situation? I guess that could be used during the hold phase to get some defined hold current with hysteresis? Or is this to get the peak current and then reduce the setpoint to the hold current?
“The PWM driver has a very slow decay from the peak, as you can see in your waveform captures, that gives non-linear closing times at short pulse widths. “
Yes the decay is slow. Especially because the fixed PWM duty cycle start directly after the peak. The high flyback voltage during closing gets the energy out as quickly as possible but 2 times the initial current gives you 2 times as long to get rid of the inductor energy. The whole energy dissipation is expected to take 0.14 for 1.1A or 0,22ms for 1.6A and a 40V inductive peak voltage. That is easily accounted for in the VE table I think (need to try indeed). A second note: These LPG injectors are not ideal for short pulse widths anyway. The opening time is 1.8ms the closing time 1.2ms so anything less than 3ms total is really bad anyways. So better use them with full sequential and longer pulsewidths.
“have you measured the voltage across the current sense resistor during avalanche clamping?”
Yes this is always 0 or maximum 0.4V if 4A peak is reached. One side of the resistor is to ground other is to the mosfet so the inductive energy (and voltage) is put into the mosfet. Not the sensing resistor.
“I have some concern regarding inductive spikes, you have no filtering or protection on the comparator input and no hysteresis, without any amplification your switching threshold is quite close to ground. You also have no filter on Vref.”
For the design it would have been better to separate the signal ground for comparator and such from the power ground so these currents to not “lift” the ground to skew the measurements , And yes you are right I should make some filter on the comparator inputs/Vref. But at the moment I have seen no issues. Good input for the next iteration. To keep the design simple no amplification is employed. The peak voltage is ~0.4V so also not extremely low.
“You have an 18V varistor, that is going to clamp before any other electronics in the vehicle so your board will become the central clamping point for any load dump pulse - it is not going to survive that.”
Hmm good point should have put that one behind the fuse, If your car has enough energy in spikes >20V to break the voltage protection something must be really really wrong already. Next iteration I put it behind the fuse so that it blows with over voltage.
“What is maximum inrush current for the 1mF caps? I would expect to see some current limiting. As a filter they don't have any series impedance, an inductor in the supply line would make a big”
Inrush is indeed big (obviously). The wires connecting the board in the car have some series resistance to help. Inductor in series is an option next iteration but what value? It must be small enough not to cause inductive spikes. I didn’t see it as a big problem this inrush current.
“I can't make out what the top transistors are supposed to be, most of the peak-hold circuits that I've worked with have been high side/low side pairs but thats not you've got, you have a transistor in series with a recirc diode, are you trying to turn off the rectifier diode and then clamp the flyback energy through the OR gate? “
Yes, see my explanation this is to close the injectors quickly with high flyback voltage clamp over the low side mosfet but to make PWM possible with a rectifier diode so not to get all that coil energy in the lowside mosfet constantly.
“why do you have two transistors in parallel? “
Because these are in a sot23 casing making way to much heat with the 100mOhm on resistance. So i used two in parallel to reduce the heat per transistor by a factor of 4. (half the energy because it is shared + half the restive energy dissipation because R/2 in total). Also note the high side driver is reverse to what you would normally do. This is to keep the body diode of the high side driver blocking during inductive voltage spikes when closing the injector.
“What are your injector characteristics?”
For the LTspice model I used 3.5mH and 2 Ohm. That happens to be the LPG injectors I have around here. Advertised as 3.5A peak and 1.5A hold (max). But these get really hot with 1A hold already. So I keep them to 1A hold 3.5A peak. The pictures in the measurement folder are of some other LPG injectors with unknown inductance and 3.1Ohm resistance.
#45612
Interesting concept, and I can see you put a lot of thought into it. I had an old 4-channel PWM module design I did years ago for a different system, that used a PIC, two caps, two resistors, and two 2ch FET/IGBT drivers. Very similar to the Speeduino ignition outputs. ;) The FETs could be swapped with IGBTs to delete the flyback diodes and switching. So, a test unit might be a Nano plus the drivers, for around $5.

The up-side is that the P&H can be directly programmed for duration and duty cycle for a clean switch. Perhaps (random example) 0.5ms at 100% DC, switching directly to 25% DC for the duration of the INJ signal input. All coded in microseconds, of course. Just some thoughts if they help brainstorming. There hasn't been much dev for P&H, as most common injectors do rather well on resistors, but which doesn't appear to be the case for your LPG types.
#45616
The window comparator is used to control the hold current to ensure that you have a constant current, a fixed PWM duty cycle doesn't compensate for the termperature coefficient of the injector. If your injectors are mounted close to the head and/or in a coolant heated manifold then they will run around 90C plus internal heating at normal running temperature so you would need to set the current level to around 1.3A at 20C which increaes power dissipation around by 70%.
Because the closing time of the injector increases with hold current then thats another variable to take into account.

The slow decay looks to be an issue with your circuit, it should be much faster, with a higher voltage turn off you should decay faster than you rise.

Your FET avalanches at over 55V, your gate clamp is the voltage across the 100R + 39V(?) + 0.7V so the gate clamp should turn the FET on long before the FET can avalanche. The FET needs at least 2V to start to turn on which would give 20mA minimum into the logic gate, there will be some current sharing so you could see up to 50mA which is a bit high for a 74HC device. You could make the resistor a higher value but a conventional gate clamp uses a zener between the gate and 0V to ensure that the
maximum Vgs can't be exceeded be inductive spikes. 0.4V means that the FET isn't turning on so is it avalanching? something seems a bit wrong there.

The standard model for a load dump in a 12V system is 100V peak through a 1.5 Ohm resistance so the energy is huge, the pulse is inductive so its an exponential rise and fall, the lower you go with the clamping voltage the greater the energy that you need to dissipate. To meet automotive standards your module needs to function correctly through that pulse, in the real world because most systems clamp at around 43V and there is a large degree of energy distribution, if you aim for 43V clamping then you have little to worry about.

I assume the high side circuit uses a PFET, the schematic needs tidying up.
#45620
current, a fixed PWM duty cycle doesn't compensate for the termperature coefficient of the injector.
Luckily the biggest factor is compensated already and that is the voltage difference of the battery. (compensation works perperfect between 10V to 15V volt current thru coil stays the exact same. above and below it starts to over/under compensate. As i said before i am not too worried about the exact hold current varying a little over various temperatures. as long as it stays open its good. Its not as perfect as possible, but from what specification or requirement you get EXACTLY 1A hold current? (The spec of the injector states only 1.5A max, no min). Doing a windowing comparator per channel means a LOT of extra components that i do not want. And its a feedback system that is prone to oscillations. Its certainly possible, but if i can get away without i do that :-D.
If your injectors are mounted close to the head and/or in a coolant heated manifold then they will run around 90C plus internal heating at normal running temperature so you would need to set the current level to around 1.3A at 20C which increase power dissipation around by 70%.
Yes indeed! So it heats up nicely to a toasty ~50C from electrical only with 21C ambient. (that was what i am measured with the heat camera at least). Bringing the current down to the 1.15A or something around that temperature. Some extra heat from the engine and you are done. But indeed you need to set the hold current preferably with running engine temperatures
Because the closing time of the injector increases with hold current then thats another variable to take into account.
As stated before getting current to zero from 1.6A takes 0.22ms and 1.1A takes 0.14ms so the maximum impact on closing time is at most 0.08ms or 80microseconds. Total closing time is 1.2ms according to spec but that is mechanical i assume. This is not a big enough impact for me to worry about. If that would be something impacting the closing time so much this would be even worse with petrol injectors. The resistance and therefore current dependency on temperature is the same. And no compensation is done at all for temperature. Only for battery voltage. And that compensation is mainly for the much slower current rise in the injector and therefore is compensating the opening time.
The slow decay looks to be an issue with your circuit, it should be much faster, with a higher voltage turn off you should decay faster than you rise.
The slow decay is because of the diode keeping the current in the coil with minimal voltage drop. So the loss is minimal (0.6V drop over diode). The charging is done with the full battery voltage so it is intentional to have a slow decay making the system much more energy efficient reducing the heat on the PCB. Getting rid of the energy with high voltage is done during closing ONLY. (see the steep current decline at the end of the injector pulse) The rest of the (open) time the energy in the induction is now kept in the induction and not dissipated (as much) on the PCB components. It is supplemented just enough to keep the injector open by the PWM pulses.
Your FET avalanches at over 55V, your gate clamp is the voltage across the 100R + 39V(?) + 0.7V so the gate clamp should turn the FET on long before the FET can avalanche. The FET needs at least 2V to start to turn on which would give 20mA minimum into the logic gate, there will be some current sharing so you could see up to 50mA which is a bit high for a 74HC device. You could make the resistor a higher value but a conventional gate clamp uses a zener between the gate and 0V to ensure that the
yes the ~20ma is what i was counting on (74HC output at 0 volt, keeping it there with the driver). that is a short pulse (~200us) and only every injector closing cycle. not every PWM cycle. So i did not seems too much to ask for the 74HC. It is actually clamping the Vds not Vgs. That is intentional and clamping Vgs is not implemented here. No need.
maximum Vgs can't be exceeded be inductive spikes. 0.4V means that the FET isn't turning on so is it avalanching? something seems a bit wrong there.
The Vgs is going up to Vth or a little more during the inductive spike. Because as soon as the Vgs(>Vth) mosfet starts conducting the inductive voltage spike does not go higher. This is verified by simulation in LTspice. On the actual board i used the avalanche of 55V from the mosfets. The diodes where there for debugging purposes. Also this exact clamping construction is what i found in various datasheets of mosfets that have clamped Vds. That is what i copied it from.
The standard model for a load dump in a 12V system is 100V peak through a 1.5 Ohm resistance so the energy is huge, the pulse is inductive so its an exponential rise and fall, the lower you go with the clamping voltage the greater the energy that you need to dissipate. To meet automotive standards your module needs to function correctly through that pulse, in the real world because most systems clamp at around 43V and there is a large degree of energy distribution, if you aim for 43V clamping then you have little to worry about.
In my case the clamp is behind the fuse so the fuse will blow. The board is at least protected. To be honest i copied the idea from the speeduino design, only i used a lower voltage rating clamp maybe. What induction is rated for this automotive specification in [Henry]? And what current is flowing thru the inductor when it is released? Because that will tell me the energy it REALY is. (or it can state the enegry in the pulse in [J]). Voltage and ohm resistance say nothing about energy content, only maximum power at the start of the decay.
I assume the high side circuit uses a PFET, the schematic needs tidying up.
The high side IS already a P channel fet. The parallel fets can be spaced apart a bit more to make it easier on the eye but it is correct. Maybe you are confused? because as stated earlier the P channel fet is in opposite direction as you would expect for "normal" high side driver. I can tidy up the schematic a bit yes, but i only care if the end result is working for my hobby projects :-D. Not if it is neatly in a schematic.
#45621
rrcflip wrote:
Mon Sep 28, 2020 8:03 am
i've been looking for P&H driver board to directly drive lpg injectors since a while but haven't found anything available.

i'm of no help in developing boards or electronics but im following with great interest.

Thankyou for your initiative
I could not find anything either so that is why i started this. Somehow resistors do not work for some LPG injectors. Maybe for some it still works.

Sorry but i was not planning to sell those boards. Its just the design i want to share. I build 2 myself and need to still make 1 spare part.
#45622
Interesting concept, and I can see you put a lot of thought into it.

Thanks! Yes it took a lot more time than i anticipated!
I had an old 4-channel PWM module design I did years ago for a different system, that used a PIC, two caps, two resistors, and two 2ch FET/IGBT drivers. Very similar to the Speeduino ignition outputs. ;) The FETs could be swapped with IGBTs to delete the flyback diodes and switching. So, a test unit might be a Nano plus the drivers, for around $5.
Hmmm Do IGBT's not have the body diode? That would be interesting! I need to brush up on my bjt/igbt knowledge :-D.
The up-side is that the P&H can be directly programmed for duration and duty cycle for a clean switch. Perhaps (random example) 0.5ms at 100% DC, switching directly to 25% DC for the duration of the INJ signal input. All coded in microseconds, of course. Just some thoughts if they help brainstorming. There hasn't been much dev for P&H, as most common injectors do rather well on resistors, but which doesn't appear to be the case for your LPG types.
The concept with MCU i did think about. But that also means writing and maintaining firmware somewhere. It needs a programming interface, but it makes the whole system lost smaller. Also current feedback per channel would be an option. In the end this is a hardware only design and i kind of liked that.
Perhaps (random example) 0.5ms at 100% DC, switching directly to 25% DC for the duration of the INJ signal input. All coded in microseconds, of course.
This is exactly as i started out! :-D. making it as part of the speeduino code and with hardware PWM channels. Two things that made it difficult is the switchable fly-back diode (needed 2 out pins per channel for that to work, or some logic gates). And with fixed peak pulse width the peak current reached is very dependent on temperature and battery voltage so i tried to avoid that because this has a potential effect on opening time (which is crucial, just like the closing time). Well in the end there are multiple ways of getting it to work. This is the route i took :-D.
#45624
Tjeerd wrote:
Mon Sep 28, 2020 7:22 pm
In my case the clamp is behind the fuse so the fuse will blow. The board is at least protected. To be honest i copied the idea from the speeduino design, only i used a lower voltage rating clamp maybe. What induction is rated for this automotive specification in [Henry]? And what current is flowing thru the inductor when it is released? Because that will tell me the energy it REALY is. (or it can state the enegry in the pulse in [J]). Voltage and ohm resistance say nothing about energy content, only maximum power at the start of the decay.
The inductance and current is not specified, it depends primarily on the design of the alternator. The alternator will be designed such that it will not exceed the requirements of ISO16750 section 4.6.4. which is available here:
http://www.compel.ru/wordpress/wp-conte ... 2010E-.pdf
If you're familiar with LTSpice then you will have seen that it already has this waveform included.
I assume the high side circuit uses a PFET, the schematic needs tidying up.
The high side IS already a P channel fet. The parallel fets can be spaced apart a bit more to make it easier on the eye but it is correct. Maybe you are confused? because as stated earlier the P channel fet is in opposite direction as you would expect for "normal" high side driver. I can tidy up the schematic a bit yes, but i only care if the end result is working for my hobby projects :-D. Not if it is neatly in a schematic.
I couldn't see what the FET was from the schematic, I assumed that it was a PFET because I could make out the body diode. I would expect it to be that way round, Megasquirt published a similar circuit some years ago although I've not seen it in an OEM application. It would help others to test the board if the schematic was easier to read.
Toyota 1MZ-FE PNP

Protoypes have arrived!

injector sizing question.

Assuming like for like set up, check out engines w[…]

easiest way I have found is to set up your ign sys[…]

sounds a bit similar to my 1zz. try missing tooth […]

Still can't find what you're looking for?