2

I'd like to drive a 30 V motor with this H bridge driver and an Arduino.

The problem is that on top of working in forward motoring and reverse motoring conditions, it will also work in forward braking conditions (the motor will act as a generator), the manufacturer of the driver say that in generator condition, the current will be sent back to my 30 V power supply, I'm not sure it will handle that.

The generator conditions happens when a spring releases all its energy by applying torque on the motor and moving it. My idea, based on what I've seen online, was to add a capacitor that could store the energy of the spring and a Schottky diode to make sure the current only goes in the capacitor:

enter image description here enter image description here

To size the capacitor I could assume that the cap can handle the entire stored energy of the spring (10.3 J), I used the following equation found here:

enter image description here

The spring being very beefy, that gives me a capacitance of 22.9 mF (assuming a maximum allowed voltage of 30 V) which is a lot but I found some that could work.

My question is, will that work? Won't such an important capacitance value be a problem during driving conditions?

I'd like to add that I know the capacitor would be overdimensioned but since the manufacturer does not give any details about inertia/resistive torque of the gearbox, I don't know what percentage of the spring's stored energy will go in the electronic, instead of being mechanically dissipated as heat. Also, I do mechanical engineering and not electronic, I apologize in advance if some things I say do not make sense!

winny
  • 13,064
  • 6
  • 46
  • 63

3 Answers3

2

My question is, will that work?

It will work but your calculations are too simplistic. The capacitor is already charged to 30 volts and, to absorb the spring's energy, the voltage on the capacitor has to rise to above 30 volts. You might do some calculations and decide that 40 volts is OK.

So, assuming 40 volts is OK, your energy equation becomes a tad more onerous: -

$$W \text{(work or energy)} = \dfrac{CV_{(40)}^2}{2} - \dfrac{CV_{(30)}^2}{2}$$

Can you take it from here? I get C to be about 29.5 mF. Of course, if you could allow the voltage to rise to 60 volts, then the capacitance would be smaller. I estimate C = 7.63 mF.

Alternatively, burn off the energy with a braking resistor.

Andy aka
  • 434,556
  • 28
  • 351
  • 777
2

This is the basic way to approach it, yes. There are some catches though.

You also have the option, depending on the capability of the controller, to operate the motor in a braking configuration (terminals shorted part of the time). This uses the motor's internal resistance to dissipate the energy.

The basic omission is that the capacitor starts at the 30V from the power supply. So it takes zero additional energy to raise it to a 30V limit! The correct calculation is merely to take the difference in energies, between (maximum) initial voltage, and final voltage (the limiting value for your H-bridge, most likely). Apply the same equation to each. The difference in energy is what's absorbed from the inertia / spring. All together:

$$ E_\textrm{braking} = \frac{1}{2} C \left( {V_\textrm{final}}^2 - {V_\textrm{initial}}^2 \right) $$

There are considerations:

The final voltage has to be within the ratings of the H-bridge; if not, you may need to get a lower rated supply (and deal with the lower maximum RPM or torque from the motor), or a higher rated H-bridge (or components therein).

The power supply needs to be able to charge the capacitor when it starts up. Power supplies generally don't approve of excessive capacitive loads, so check that it can handle it. An arbitrarily large capacitor can be used if a startup ("soft start" or "inrush limiter") circuit is included, but this adds more complexity as well.

The diode may not be necessary, depending on the power supply's design. Many have diodes internally, so the external diode would be redundant. This isn't often specified in the datasheet, but can usually be determined by inspection. If you're not comfortable with electronics, I don't recommend omitting the diode of course, but just to mention that it is possible.

You can also use a braking resistor, simply across the supply +30V to GND. This would normally waste an obnoxious amount of power (or perhaps even overload the supply, if the motor must stop in a hurry), so it can be wired to a switch to turn it on only while braking is expected (assuming a microcontroller is running operations here), or a voltage comparator circuit so that it comes on automatically when the voltage rises above the nominal maximum level.

An automatic braking resistor circuit might look like this:
https://www.seventransistorlabs.com/Images/ShuntBallast.pdf (Source: my website)

R4/R8 ratio sets the voltage threshold (yours will need to be a bit higher), R7 sets hysteresis (difference between rising and falling thresholds). R1-D1 and sometimes IC1 draw some idle current from the supply, which may be a concern for a battery-operated system. (My use-case is battery powered, hence the switch.) You may not need local capacitors as the H-bridge may have enough on it already, just wire this nearby. Capacitance sets the oscillation rate, which should be at most a few kHz maximum at full load. The number of transistors and resistors required, depends on what you have available, and how much power you need to dissipate worst case.

The circuit switches on and off repeatedly, so the total resistance should be dimensioned for worst case maximum sustained backflow plus some margin, and they will merely come on from time to time as needed. My case had quite a beefy load, but absorbing 10J might not need much, depending on how fast that spring snaps back, and any other potential actions.

Tim Williams
  • 22,874
  • 1
  • 20
  • 71
  • Since it's really hard/impossible to predict in my case when the motor drives or is being driven (the outside world chooses when the spring kicks in, not the electronic). I'm guessing my only option is to use the comparator+braking resistor ? I'm not exactly sure how I would wire it/what voltage I should check ? Any leads ? Also, what if instead of the power supply I use a NI-MH battery pack and add a resistor in parallel with the current diode (see my previous schematic), that could solve everything by slowly charging the battery during generating conditions, or am I missing something ? – Guillaume D Apr 06 '23 at 21:39
  • 1
    A battery may be able to handle the charging current; verify that it can. Added braking circuit in edit. – Tim Williams Apr 06 '23 at 22:18
1

My idea, based on what I've seen online, was to add a capacitor that could store the energy of the spring and a Schottky diode to make sure the current only goes in the capacitor

You've got everything you need to dissipate the braking energy. All you need to implement using those elements is an overvoltage passive shunt.

When either side of the motor winding goes above some threshold - say 31V - the low-side mosfet on that side needs to turn on to shunt this energy to keep the voltage at that limit. Since the mosfets will act as shunts, they need to be properly heatsunk.

For example:

schematic

simulate this circuit – Schematic created using CircuitLab

R1 scales the voltage at the R node. R1 is set so that M5 starts conducting around R=31V. M5 in turn turns on M6, which overdrives the low-side gate driver output and shunts R to ground via M2. At that time, the motor can be modeled as a voltage source. The opposite side - here, the L side - will go below ground, and the M1 body diode will start to conduct, closing the circuit.

C1 provides compensation and may need to be adjusted to have a clean transition between protection and idle states.

R2 needs to be rated 2W, non-inductive (i.e. not wirewound!).

Optionally, a Schmitt-trigger NAND gate NAND1 can be used to force the gate driver to drive the outputs low, to avoid cross-conduction from upper side of the bridge.

An identical circuit would be applied on the other side of the bridge.

This is just one of very many possible approaches. The idea is that the circuit doesn't have very high gain, so it will control the low-side bridge arm linearly, drawing just enough current through M2/M1 to keep the motor voltage limited.