DC motor driver - Page 1
Forum section: electronics / projects

author: learnfromfailures
author_rank: Contributor
timestamp: June 14, 2021, 11:09:16 pm
content: I'm designing a new motor driver for a DC motor which has starting peak current of 30A and 28Volts power supply. Previous engineer used an integrated motor driver IC solution (VNH3SP30-E) that has a MOSFET (Full H-bridge) inside an IC. There are so many customer complaints that it is blowing up in the field. When I look at the IC there is not good separation and everything things runs off the high power line. I dont know what is the advantage of using a integrated driver solution over original MOSFET/IGBT approach. I personally think having external FETs would be a safer approach. Has any one used the integrated solutions before ? if yes, is it better than original power electronics. I'm trying to see which is a better approach.

author: fourtytwo42
author_rank: Super Contributor
timestamp: June 15, 2021, 10:38:34 am
content: IMOP you need to find out why the existing circuit is failing before attempting to redesign it. What do you mean by "When I look at the IC there is not good separation and everything things runs off the high power line" ?You say nothing about the application now how the IC is protected against overvoltage or motor braking, also the pcb layout is critical to provide adequate heatsinking and of course manufacturing need to actually be soldering it down properly!An integrated solution provides much more sophisticated protection than you can realise in a discrete design and the latter will also be much much bigger and more expensive, likely as not it will blow up too for the same reason the chip is failing now.

author: Psi
author_rank: Super Contributor
timestamp: June 15, 2021, 11:34:44 am
content: Quote from: fourtytwo42 on June 15, 2021, 10:38:34 am+1 for this.I've found ST power electronics to be very reliable.I used to have issues with a mosfet based solenoid PWM solution blowing up, so I moved to an ST integrated high-side driver chip (VN5E010) and have not had a single one explode since.So if you are blowing up an automotive rated VNH3SP30 you probably need to figure out why before trying to replace it.If I had to take a blind guess, the solution to stop it blowing up is probably going to be adding a big TVS diode or cap somewhere. The VNH3SP30 is probably getting motor spikes over 40V.

author: learnfromfailures
author_rank: Contributor
timestamp: June 15, 2021, 05:30:40 pm
content: QuoteThis is the new job I started and I'm still trying to investigate. One reason I heard that the IC is blowing up because of back emf which was around 90V. So another engineer added a clamping solution (TVS diode & resistors) to absorb the back emf. They can't send this back to the battery. Another reason I saw, the peak current is 30 Amps (+10% overhead) at 650in-lb of torque from load. The IC is rated for max 30Amps peak current and I think previous engineer should have picked an IC H-bridge that can handle close to 3x Voltage, Current, and Heat-Dissipation-Ratings of the system.QuoteThe chip is powered off the main power supply and there is no filtrations(see the attached schematic). Any large transient on the power supply would probably blow it.

author: learnfromfailures
author_rank: Contributor
timestamp: June 15, 2021, 05:35:38 pm
content: QuoteThanks for sharing that, VN5E010 has higher tolerance than VNH3SP30Max supply voltage VCC 41 VOperating voltage range VCC 4.5 V to 28 VCurrent limitation (typ) ILIMH 85 A

author: jmelson
author_rank: Super Contributor
timestamp: June 15, 2021, 05:44:33 pm
content: Quote from: learnfromfailures on June 15, 2021, 05:30:40 pmThe back EMF can never exceed the motor supply voltage unless an external mechanical source is spinning the motor faster. What that person might have meant is that an inductive pulse from the motor is producing 90 V. That is a bit different. The back EMF would be supplied by mechanical energy, and could last a long time, making it hard to absorb that much energy. The inductive spike, however would be of short suration, and therefore TVS methods ought to work.Jon

author: fourtytwo42
author_rank: Super Contributor
timestamp: June 15, 2021, 06:38:55 pm
content: Quote from: learnfromfailures on June 15, 2021, 05:35:38 pmI have never found here-say or Chinese whispers any help at all, you need to investigate this thoroughly yourself. A tiny piece of schematic like that is no help at all, how about the rest of it and some application information together with some artwork, this could even be a crap layout problem.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 15, 2021, 06:58:57 pm
content: Good IC is OK, custom solution is OK. Some ICs may have "catches", I prefer own solutions.Remember, current sense is essential!!A simple low-side shunt + amplifier feeding back to microcontroller ADC works.Quick look at VNH3SP30-E: "linear current limiter" - W T F?? This chip sounds like a brainfart. I wouldn't use it.

author: learnfromfailures
author_rank: Contributor
timestamp: June 15, 2021, 08:48:44 pm
content: QuoteThere is a-lot of external force specially from moving water, that is pushing the motor generating EMF. It been a real struggle to absorb that kind of energy in the system.QuoteWhat is wrong with the current limiter ? shouldn't it be a good thing.

author: langwadt
author_rank: Super Contributor
timestamp: June 15, 2021, 08:51:51 pm
content: Quote from: learnfromfailures on June 15, 2021, 08:48:44 pmlinear

author: learnfromfailures
author_rank: Contributor
timestamp: June 15, 2021, 11:32:39 pm
content: I think what you are trying to say is that it will dissipate alot of heat because it is linear in nature ? correct ?

author: Siwastaja
author_rank: Super Contributor
timestamp: June 16, 2021, 12:30:29 pm
content: Tiny chip is dissipating hundreds of watts for absolutely zero reason. Linear current limiter onlyaddscomplexity; switch-mode operationis already present, and is the only sane choice when using semiconductors. There is nothing to add except proper control. Which is trivial, for example a PI loop for current works, or a hysteretic "too much -> turn off until next PWM cycle" operation.The designers have been smoking pot likely. Or copied some ghetto design which used large resistor banks for linear current limiting, into silicon!!Remember, fundamentally a DC motor is a load like a battery or LED which can pull nearly unlimited currents; especially large or high-efficiency motors. Active current control / feedback is needed. Voltage feedback is unnecessary.You just need to control current. Which is utterly trivial due to the absolutely massive amount of inductance available making current triangle ramp sloooow. For unidirectional operation, half-bridge is needed, one of the switches can be a diode unless regen braking is needed. Turn on -> measure current -> once exceeded, turn off. Rinse and repeat. Or use a PWM, measure current, feedback the PWM with a PI controller from the current measurement.Speed loop can be implemented on the top, so that error in speed controls current setpoint.Current (~ torque) is the only right control parameter.

author: fourtytwo42
author_rank: Super Contributor
timestamp: June 16, 2021, 04:35:04 pm
content: Quote from: langwadt on June 15, 2021, 08:51:51 pmOMG I completely missed that when glancing at the data sheet, I saw current limit in the block diagram and assumed it was sane! This is a complete c*ckup by ST there current limit is useless and most likely the cause of failure! Sorry for the oversight me not spotting it, OK I agree dump the chip it's useless however if you can find a sane DIGITAL lockout current limit chip it may do the job excelently but power dissipation is also one to watch in an smt device.

author: learnfromfailures
author_rank: Contributor
timestamp: June 16, 2021, 04:49:55 pm
content: I'm trying to sum up all the ingredients for motor control power electronics:High Inrush current circuit –The short circuit and starting current rating of the DC motor is 7 times higher than the steady state operating state.Current Sensing circuit -Active current control/feedback is needed as torque (~current) is the only right control parameter.Current limiting circuitProtection circuit from transient/spike from power supplyOverheating protection/Thermal shutdownOvervoltage ClampingOvervoltage and undervoltage shutdownBetter heat dissipation IC & Board layoutBack EMF protection circuitReverse current protection– Charge builds up can cause damage back to the circuit by a reverse current surge when switch is closed. The electrical energy stored in the windings that have inductance in the DC motor. Flyback diode is a solution that dissipate the stored charge.PWM Interface- Use a PWM, measure current, feedback the PWM with a PI controller from the current measurementI have covered it all, unless I've missed anything.

author: langwadt
author_rank: Super Contributor
timestamp: June 16, 2021, 07:11:09 pm
content: Quote from: fourtytwo42 on June 16, 2021, 04:35:04 pmlinear current limiting can work in some cases, it'll just trigger the overtemperature shutdown. But with some inductive loads that'sa good way to kill a chip because when it shuts down from over overtemperature the back EMF gets dumped though the diodesand heat the chip even more

author: Siwastaja
author_rank: Super Contributor
timestamp: June 17, 2021, 08:05:05 am
content: Quote from: learnfromfailures on June 16, 2021, 04:49:55 pmYou are maybe overcomplicating it a bit, just like many IC designs do due to the legacy of inefficient / fundamentally wrong solutions.You just need the current to be the controlled parameter; this is easy to implement because the huge motor inductance means, when you apply a voltage, the current starts rising slowly, when you apply ground level (i.e., short the motor), current start decaying slowly. So just measure the current and turn on and off. This way,* there is never any inrush* there is never "overcurrent event" (or you can say it's there every cycle, normal part of the operation)* current "limiting" becomes a poor choice of words. It's the primary control.Power supply transients rarely are an issue with the usual supplies (batteries, mains, etc.), because you tend to use quite a bit of DC link capacitance.Thermal shutdown is good to have against hot environments but it can be slow and inaccurate, like a MCU's own internal temperature sensor. This is because you can do thermal analysis from Tj through Tc through thermal interface material to the final heatsinking and work back to calculate max Tj in certain max Tambient. Or you can just oversize heatsinking and do lab testing. Usually high efficiency is the target to ease the thermal design. This is fairly easy because the large motor inductance (again) allows slow PWM such as 10kHz, which again allows low switching losses, which allows you to use MOSFETs with lower Rds_on despite them having larger Qg.My motor controllers consist of these fundamental parts* DC link capacitance, a combination of low-ESL (i.e. small; place them close to the loop) low-ESR parts, for low voltage stuff that is 0805 MLCCs; and larger higher-ESR electrolytics* Power MOSFETs - 2 for unidirectional brushed DC, 4 for bidirectional brushed DC, 6 for 3-phase AC like BLDC* MOSFET gate driver - usually for low voltage medium power just a half bridge bootstrap driver IC. For higher voltage/power, isolated gate drivers with isolated power supplies.* Current sense, usually a low-side shunt resistor, often in a 2512 or 1206 package with Kelvin sensing under the pads, going to a current sense amplifier IC, usually something like 50x gain. In larger drivers, possibly an off-the-shelf hall sensor unit.* DC link voltage measurement; basically a resistor divider into ADC. This way you can shut down (hi-Z) the bridge if regeneration is causing excessive rise of the DC link.* Microcontroller; current sense to ADC and/or internal analog comparator. Gate driver driven from a timer PWM output pin.* Some software. With brushed DC this is all less than 100 lines of code. The classic solution is a PI controller, curr_err = curr_setpoint - curr_meas; curr_err_cumul += curr_err; pwm_output = p_term * curr_err + i_term * curr_err_cumul; And of course, because your p_term and i_term are not Perfectly Tuned^tm, if(curr_meas > MAX_CURR) safety_shutdown();Now one way to deal with the issue of motor being driven with external forces to higher speed than the supply voltage could, is just to increase maximum allowed supply voltage, i.e., rate the FETs and capacitors for that max back-EMF voltage. This lets the motor freewheel, no energy needs to be dissipated. Series diode can be used to prevent that high voltage from messing up the supply side, but that prevents regen, too. Note that you have had to oversize MOSFET voltage ratings already due toringingpresent while switching fast; but as the DC link voltage rises, you stop switching, there is no ringing, and you can then utilize this new margin. I think this is the way to go for slight overspeeds.Other options include isolating the motor with a large contactor/relay capable of handling that voltage and current, or dissipating the power somewhere causing the motor to generate and act as a mechanical load. The last one is good if you know for sure that the external mechanical driver can cause high RPM but doesn't have much of torque in it sustaining the high RPM if you add some load. For an EV going downhill, this isn't an option, the dissipative braking clamp would become huge and expensive.Note that all of the solutions have some point of failure, enough RPM finally generates high enough voltage (with ability to supply a lot of current) that some part in the system breaks. So how fast is that external force really going to turn the motor, in worst case, and how much mechanical energy there is backed up?