# Current regulation problem

#### oussema

Joined Jan 24, 2020
8
[/QUOTE]
define what you want to achieve
i want to maintain the current in a specific value that i define with the DAC reference. Say i want to drive the solenoid with 5A for a specific period of time (100µS for example) i use the OA2 to amplify the voltage across the shunt resistor (because i will be reducing the value, 15mohm or less) and OA2 (which is a comparator LM393) to make the comparison with the reference (with a hysteresis of 0.5A for example). This is the main goal of my circuit. Sorry for any miss understanding.

#### Alec_t

Joined Sep 17, 2013
10,913
Say i want to drive the solenoid with 5A for a specific period of time (100µS for example)
That is going to require careful selection of OA2, which should be fast-acting with a high slew rate if you want good current control. My sim didn't anticipate such a brief current pulse.

#### ebeowulf17

Joined Aug 12, 2014
3,165
i'm scoping the between the source of the FET and the sense resistor.
I think if you want to see the current through the inductor (which I assume is the only thing that really matters,) you need to find a different way to scope it. You might have to add a second sense resistor in series with the coil and scope across that (you'd need two probes set up to display a differential signal, or you'd have to float your ground reference, which might be tricky or inadvisable.)

#### MisterBill2

Joined Jan 23, 2018
5,221
At this point I still am not aware of exactly what is to be gained by using the circuit. I think that the goal is to have the solenoid pull in much faster than ? Is there a specific required pull-in time, or is ti just " as fast as it can be done?" AND, is there a specific holding current desired? Or just as enough to hold it reliably. And how often does the solenoid operate? And for how long will i be energized each time? There are much simpler ways to achieve fast pull in of a solenoid. What is the "high voltage" ? and what is the available Holding voltage?

#### BillB3857

Joined Feb 28, 2009
2,519
Many, many years ago (yes, I'm old) we had a problem with punched tape readers overshooting the EOB hole. Our answer was 1) raise the voltage to the brake magnet, 2) insert a resistor to reset the current to the same value as it was with the original voltage, and 3) place a fair sized electrolytic cap across the resistor. When the brake apply signal was initialized, the cap, being discharged, allowed a pulse of higher than normal current. As the cap charged, the current dropped to the value set by the resistor. When the magnet was de-energized, the cap discharged through the resistor. That was all before ICs were common. Op amps were still made with tubes. We tried to live by the KISS principle as much as possible.

#### ci139

Joined Jul 11, 2016
1,194
even when the TLC277 were configured as a "gain 1" Amp - the voltage on C2 would be affected by it's output (due it's finite slew rate) . . . and not even if it were an ideal op Amp - coz the C2 connects the "different avg./RMS potentials" ... see #10 (the LMx39 can pull down no more than 16mA < 11.6V/470Ω e.g. making divider 7.52V : 4.48V)
// if i remember right the shunting capacitor at the op amp's inputs can be used to protect the inputs from narrow spikes

if you are using what it shows the TL081 it's d/s never shows the load capacitance higher than 100pF , also the Functional Block Diagram (p.14) hints the min. series output resistance is 192Ω ... ?about it's ability to pull down the 12V through 470Ω is questionable . . . the TL081 abiliti to drive this mosfet fast is questionable as it's not designed to drive capacitive loads + it's moderate output power

Last edited:

#### MisterBill2

Joined Jan 23, 2018
5,221
Many, many years ago (yes, I'm old) we had a problem with punched tape readers overshooting the EOB hole. Our answer was 1) raise the voltage to the brake magnet, 2) insert a resistor to reset the current to the same value as it was with the original voltage, and 3) place a fair sized electrolytic cap across the resistor. When the brake apply signal was initialized, the cap, being discharged, allowed a pulse of higher than normal current. As the cap charged, the current dropped to the value set by the resistor. When the magnet was de-energized, the cap discharged through the resistor. That was all before ICs were common. Op amps were still made with tubes. We tried to live by the KISS principle as much as possible.
That is the scheme that I would suggest as well, but first verifying that this application could use such a scheme. When it can be used it works very well.

#### oussema

Joined Jan 24, 2020
8
That is going to require careful selection of OA2, which should be fast-acting with a high slew rate if you want good current control. My sim didn't anticipate such a brief current pulse.
the TLC277 has a slew rate of 3V/µs, i guess it should work. The frequency of driving the solenoid goes from 10Hz to 80Hz, each period has two stages : the first one is a high voltage(50V->90V) high current(15A->40A) for 100µs, the second step is a low voltage (12V or 24V) and a sufficient current to maintain the solenoid active for (200µs->2000µs).

#### MisterBill2

Joined Jan 23, 2018
5,221
the TLC277 has a slew rate of 3V/µs, i guess it should work. The frequency of driving the solenoid goes from 10Hz to 80Hz, each period has two stages : the first one is a high voltage(50V->90V) high current(15A->40A) for 100µs, the second step is a low voltage (12V or 24V) and a sufficient current to maintain the solenoid active for (200µs->2000µs).
For that frequency range it is my guess that the solenoid is a fuel injector for an engine. That application will also require compensation for the temperature rise increasing the coil resistance. It also means that the entire cycle could be controlled by varying the times and just using a regulated voltage, based on the temperature, instead of regulating the current in real time. That will be much simpler.

#### tindel

Joined Sep 16, 2012
704
@ci139 obviously understands linear feedback systems. Go back and reread his/her post.

I would also add that a resistor probably needs added to the output of OA1 due to it driving a capacitive load (the nMOS). This will add an additional pole, and associated phase lag.

#### oussema

Joined Jan 24, 2020
8
For that frequency range it is my guess that the solenoid is a fuel injector for an engine. That application will also require compensation for the temperature rise increasing the coil resistance. It also means that the entire cycle could be controlled by varying the times and just using a regulated voltage, based on the temperature, instead of regulating the current in real time. That will be much simpler.

#### MisterBill2

Joined Jan 23, 2018
5,221
My comment about "temperature control" is based on the fact that the resistance of copper increases with temperature, and my guess that the solenoid has a copper wire coil. Thus in an application where there is both constant pulsing and a hot ambient temperature, the copper wire resistance will increase. My guess is that this is such an application, and on an engine in a car the temperature rise has been up to 100 degrees in some vehicles. That is why my guess is that there may be a need to compensate for that increase. Please note that my guesses about conditions are only guesses, since no information about ambient conditions have been provided. But the statements about copper wire are based on physical reality.
Since electronicly driven fuel injectors have been in use for many years it is reasonable that methods of driving such solenoids have been developed by others and may be already available to copy.

#### ci139

Joined Jul 11, 2016
1,194
since i don't understand the application - the following is a random test - not a "reference"

i ran a simulation of the 10kHz drive for a p-p sine output of 0.5 to 5 A ( with 15mΩ shunt , 1 op amp 1 mosfet + an input pre-amp from mosfets + PNP-NPN Mosfet driver to cancel gate current ringing ) . . . it showed that driving the inductance grater than 10µH adds in a lot of delays/distortions . . . any reasonable size solenoid likely has a lot greater one . . . ( the mosfet control feedback was prone to ringing at rising slope - the instant ramp up caused some overhoot with later 2-bit triangle wave 01232101... 0.5 to 5 A ? so it can jump but not sine ? )

. . . the much higher impedance 8 ohm speaker goes up to 100kHz with class AB . . . which is weird
____________________
without mosfet (100kHz) .. + with mosfet (10kHz) , Sine/Stepped .. + initial without AB drive , Sine
... i just grabed the schematic out of thin air - might've been "not that day" - other wise the current amplification is 3000x ?
_______

Last edited:

#### Alec_t

Joined Sep 17, 2013
10,913
That is why my guess is that there may be a need to compensate for that increase.
The OP's circuit inherently compensates, since it is a controlled current source for the inductor.

#### MisterBill2

Joined Jan 23, 2018
5,221
The OP's circuit inherently compensates, since it is a controlled current source for the inductor.
Yes, I understand that the plan is a circuit that is a controlled current driver. Given that the actual characteristics of the solenoid can be known, the idea of a much simpler circuit seems worth consideration. For a multi-cylinder engine several drivers would be required and that gets a bit large and even expensive to build. And the large number of components and connections has an unfortunate negative impact on reliability. Thus my consideration of an alternative. We still do not know the actual application of the circuit, a fuel injector driver is just my reasonable guess.

#### ci139

Joined Jul 11, 2016
1,194

#### MisterBill2

Joined Jan 23, 2018
5,221
THis link does indeed go to the application note tha I was thinking about. Bur still, if the application is driving fuel injectors for a multi-cylinder engine, a simpler arrangement would seem to be another option, since a controlled fixed voltage source for all cylinders would be much simpler.

#### oussema

Joined Jan 24, 2020
8
Yes, the application is to drive a fuel injector for bench tester. I have looked in many resources on the internet and the most common way to do it is through this technique. Maybe i'm using the wrong components or values, but this way is simple too as i see it.

#### Alec_t

Joined Sep 17, 2013
10,913
What is the inductance of the injector coil? That may prove the limiting factor in trying to achieve a 100uS pulse of >15A (as per post #28) if your supply is 50V-90V.

#### MisterBill2

Joined Jan 23, 2018
5,221
Yes, the application is to drive a fuel injector for bench tester. I have looked in many resources on the internet and the most common way to do it is through this technique. Maybe i'm using the wrong components or values, but this way is simple too as i see it.
If the tester is for production testing then using a charged capacitor for the high current pulse may be quite a simple way to deliver the fast part, and a simple diode feeding the hold voltage for the longer duration voltage. If the tester is for a service application checking a variety of different parts then the more complex circuit is the better choice. Of course the correct values are important and that will take some experimenting. What sort of arrangement is there to verify the correct spray operation and proper response time?

Is this by any chance a test system for the Delphi Diesel aftermarket group? Yhey owe me bigtime!

Last edited: