I am working on a project where I'd like to deliver variable DC control voltages to a continuous solenoid motor in order to achieve different velocities of actuation.

To buffer my DC control voltage for high current to drive the solenoid I tried using a Darlington buffered LM358 op-amp like so: Buffered Op-Amp For the Darlington I am using a TIP120 which is the following circuit in a TO-220 package. As you can see it includes a flyback diode: TIP120 Darlington

I had thought the internal TIP120 diode between the collector and emitter would deal with flyback current. However I'm experiencing an issue where if I give the solenoid DC for too long I get massive flyback current when the op-amp input swings low again (I can see the flyback going crazy on my scope) and the op-amp ends up blowing itself up.

What is causing this to happen? Is there a way I can modify my circuit to protect again flyback current?

  • 3
    \$\begingroup\$ Isn't that diode in the wrong place to absorb a flyback pulse? If there's an inductive load between the emitter and the negative power supply rail, then I would expect a big negative voltage spike at the emitter when the transistor turns off... Unless, there was a north-pointing diode in parallel with the coil. \$\endgroup\$ – Solomon Slow Jul 26 '18 at 21:29
  1. Put a resistor in series with the opamp negative input. That will limit the current into the opamp when voltage spikes happen. 10 kΩ should work.
  2. Check the stability. Perhaps the opamp is oscillating. With the resistor in there from #1 above, you can add a small cap directly between the output and negative input to add stability. That will also slow the response, so you have to juggle the tradeoff. A few 10s of pF up to maybe 100 pF should be all you need unless this is a very unusual opamp.
  3. I'd add a Schottky diode in reverse from the output to ground. That will clip any negative spikes.
  • \$\begingroup\$ For suggest #1 are you saying instead of having the output directly connected to IN- it should be connected via a 10k resistor? \$\endgroup\$ – thegrinch Jul 26 '18 at 20:23
  • \$\begingroup\$ @the: Yes. ---- \$\endgroup\$ – Olin Lathrop Jul 26 '18 at 20:35

Pulling solenoid low to draw current results in overvoltage on collector when turned off quickly.

Must Have

A diode from collector (anode) to Vcc (cathode) to clamp the positive spike to Vcc+Vf at same current rating.

This assumes ground shift is minimal and no large inductive current loops to solenoid to prevent induction over-voltage. A base resistor <<1k is possibly needed to saturate collector and/or regulate current.

For example if the Op AmP was powered by an LDO there may be no Over Voltage Protection).

V=LdI/dt describes how much overvoltage the Op Amp Vcc supply would see, not the output stage. Reducing the slew rate of turn off only might also be an improvement with diode RC input control filter.

  • \$\begingroup\$ How would a 1k resistor affect the op-amp feedback loop in terms of output voltage accuracy? My reason for selecting this particular solution was that it would follow input voltage in a very linear sense. \$\endgroup\$ – thegrinch Jul 30 '18 at 6:36

Here's how I solved this. A diode in series with the output of the op-amp, preventing any positive flyback current from reaching that point: Solution

I'm not sure about the necessity of the flyback diode to VCC from the solenoid coil. Perhaps someone else can advise me on that point.

  • \$\begingroup\$ Very inefficient with all the switch losses \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jul 27 '18 at 3:33
  • 1
    \$\begingroup\$ Two of the three diodes are pointless. \$\endgroup\$ – Olin Lathrop Jul 27 '18 at 10:44
  • \$\begingroup\$ @Olin Which two diodes would those be? If there's a way to improve this circuit I'd be happy to learn. \$\endgroup\$ – thegrinch Jul 30 '18 at 6:30
  • \$\begingroup\$ @Tony Yes but the diode from the output to coil is VERY necessary. Otherwise the flyback current starts interacting with the op-amp feedback loop and the op-amp starts acting like a small volcano. Not pretty 😅 \$\endgroup\$ – thegrinch Jul 30 '18 at 6:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.