BLDC buck conversion, where is the power going - Page 1
Forum section: electronics / projects

author: Infraviolet
author_rank: Super Contributor
timestamp: July 18, 2024, 04:06:53 pm
content: I'm trying to consider the efficiencies, and lack thereof, involved in powering a brushless motor (very low resistance coils, kV value around 1000 in volts/rpm). When you are using the half-bridges, one on each of the 3 "legs" of the motor, such that each goes to the Vcc higher voltage supply for a fraction A of a cycle, and to ground for a fraction B of a PWM cycle, assuming the time C during switching over between the two half-bridge states is short in comparison, then why, at standstill, or slow speeds where the rate of rotation isn't generating substantial back-EMF, can't you get "limitless" current at zero voltages from a Vcc power supply of nearly zero amps at whatever voltage (5V, 12V, 24V...) Vcc is?For conservation of energy the current from the power supply by the voltage of the supply I_sup*Vcc will be, ignroing switching losses equal to I_coil*V_coil. Where I_coil is the current recirculating within the coils, averaged over time. The current leaving all the coils to return to the power supply's ground will ofcourse be I_sup again. Why isn't V_coil arbitrarily low? The resistance in the coils is negligible, so even at high currents, you shouldn't be generating much back-emf. The inductance of the coils keeps current recirulating, and ensures the currrent rises at a limited rated when a half-bridge is connected to Vcc rather than instantly spiking to Vcc/R_coil (R_coil being negligible), but the inductance shouldn't be creating voltages in the coils which would apply here? The brief switching time for the current leads to a voltage in the coil of about 0.7 to 1.2V (approx) needed to overcome the diode in the half-bridge which points from the shared ground up to the leg of the BLDC, but that only requires the voltage for a very small fraction of each PWM cycle, and I paralelled a beefy schottky diode with it (rated for something like 0.4V at up to like 20A or so) with this part of each half-bridge.So why am I drawing a whole 2A or so at Vcc=12V to get I_coil=15A or so (time averaged, peak during A part of PWM cycle being higher) reciruclating in coils which, at standstill or slow rotation speeds, have minimal voltages in them? I am PWMing at 7.8KHz, I'm not sure where one would put a voltmeter or an o-scope's probes inbetween to actually measure the "V_coil" I describe, but I have measured the I_coil using tiny valued high power semi-precision resistors as shunts and op-amp methods for amplification. I do know that my current waveform is such that I get a sharp rise in current when a half-bridge is connected to Vcc, gradient as according to 12V vs the coil inductance, then it exponentialy decays to nearly zero in time for the next switching cycle to happen. The system works, it runs fine, I can control the motor and am happy with it, but given there should be minimal voltage within the high-current coils, I can't see why I can't get an arbitrarily high ratio between I_sup and I_coil, subject to practical limits of the amount of current the coils and half-bridges can handle ofcourse, and atleast get I_sup down to something pretty minimal for the present 15A or so running round and round within the coils. If there's a clear reason why I'd like to know what it is? Why isn't V_coil effectively zero??Thanks

author: Infraviolet
author_rank: Super Contributor
timestamp: July 20, 2024, 03:28:56 pm
content: Any thoughts? Thanks

author: Slh
author_rank: Regular Contributor
timestamp: July 20, 2024, 04:04:14 pm
content: Your coils and MOSFETs have non-zero resistance giving you conduction losses (i^2*R) and a measurable voltage drop. You also have switching losses in the MOSFETs (every cycle a tiny bit of energy is lost due to diode reverse recovery and capacitance) and you have iron losses and magnet losses in the motor due to hysteresis in the material and induced currents.You may also find that the 2A that you're measuring is not entirely accurate depending on what you're using to measure it and how much DC link capacitance you have as there could be a lot of ripple.

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: July 20, 2024, 07:53:17 pm
content: Q- Where is the power going?A- What's getting warm or hot?

author: Infraviolet
author_rank: Super Contributor
timestamp: July 20, 2024, 09:42:36 pm
content: I should probably have titled the thread better than "where" is the power going, it is the motor which gets hot while the driver half-bridges stay pretty cool, but the main thing I'm trying to understand here is why I'm not getting much lower voltages within the coils. V=IR for coils of very low resistance should surely not be getting high enough that the power supply needs to provide a whole 2A at 12V (24 watts) (there is a lot of capacitnce in parallel with the power supply so the ripple caused when the half-bridges make a sudden draw of current, then stop drawing when they switch to recirculating curent in the coils, shouldn't be too much) simply to drive 15A (which, ignoring switching losses, implies a 1.6V voltage in the coils) around inside the low resistance coils.Thanks

author: Siwastaja
author_rank: Super Contributor
timestamp: July 21, 2024, 11:06:06 am
content: You are probably underestimating the resistance of the windings. If it is the motor which is getting hot, not the semiconductors or any other part of the circuit, then the resistance must be there.So clearly the motor is dissipating ~20W or so at 15A coil current. Now really the only question is, is that 15A all doing useful work? If it's 90 degrees in advance to the rotor position, i.e. in FOC terms completely Q (not D) current, then it's all fine: it should be generating quite some serious torque. If the timing is off, then part of that 15A is recirculating between the motor inductance and your input capacitors and not doing physical work, but still causing those resistive losses.

author: Infraviolet
author_rank: Super Contributor
timestamp: January 03, 2025, 07:51:34 pm
content: I know it's old, but I'm just giving a little update that might help anyone in future finding themselves in a similar situation.So, looking carefully at the current waveforms, via a shunt resistance and an op amp circuit to make them in to a voltage my o-scope can display, it turns out the waveform consists of a fairly sharp rise in current (rate being limited by the motor's inductance) whilst the relevant half-bridge is in the high position (connecting to +12V) followed by a long negative exponential (looks that shape, did not truly verify it wasn't quadratic or some other non-linear drop-off though) decay whilst the half-bridge is in the low position (to Gnd). As the system is operating in a buck-converter like fashion to produce a much larger time averaged current at low voltage in the motor coils for a higher voltage lower current input from the 12V supply, the time spent in the exponential decay is long compared to the time for the sharp rises, long enough that by the time the next rise comes the current has just about decayed to effectively zero.So what does this come to, I should have seen it at the time but:The torque I'm getting is from the average of the current over a cycle. But the heating is going to be from the average of the square of the current. With this sort of spiky waveform the peaks contribute a lot to the square but not so much to the mean average. I think this does a lot to explain why there's so much heat being generated. I can't do it with the present design as the half-bridges are IFX007 chips which won't work above about 10KHz, but the answer would be to have discrete MOSFET half-bridges capable of much faster switching, so the overall waveform would be a lot closer to flat, with just a small spike up on each cycle to recharge the fairly small loss to expontential decay which would have occured in a shorter time.

author: Benta
author_rank: Super Contributor
timestamp: January 03, 2025, 08:04:15 pm
content: Don't underestimate iron losses when operating above 5 kHz, unless it's some special high frequency motor.They get very substantial.

author: thm_w
author_rank: Super Contributor
timestamp: January 03, 2025, 10:33:51 pm
content: This page says they are using 30kHz:https://github.com/Infineon/IFX007T-Motor-ControlThe IC does seem to be targeted originally for brushed motors?But yeah most high power BLDC drivers will have external FETs, the smaller ones can be integrated (DRV8313PWPR 2.5A).

author: Siwastaja
author_rank: Super Contributor
timestamp: January 04, 2025, 07:49:33 am
content: Quote from: Benta on January 03, 2025, 08:04:15 pmDon't forget that given L is constant, increasing f_sw decreases dI, so iron losses rise much less than you expect because iron loss is a function of both f and flux ripple. So the loss increase is often not that dramatic at all, but of course good idea to test/measure.

author: Slh
author_rank: Regular Contributor
timestamp: January 04, 2025, 09:46:00 am
content: Quote from: Siwastaja on January 04, 2025, 07:49:33 amInductance in electrical steel drops rapidly with frequency. At 30kHz it's probably less than a quarter of what it was as 50Hz. It might be a larger drop (it's been a while since I measured a motors inductance). That will increase iron losses as dI will be greater than expected.

author: Siwastaja
author_rank: Super Contributor
timestamp: January 04, 2025, 10:21:52 am
content: Quote from: Slh on January 04, 2025, 09:46:00 amThanks; yes, it's a complex with at least those three terms, what is the final exponent I don't know, but suggesting 5kHz as some magic limit is wrong. Your number (4x increase in losses from 600x increase in frequency) is at least in correct ballpark. Maybe I would not run an old-school (pre-VFD, pre-high-efficiency, so thick laminations) induction motor at 30kHz PWM without at least measuring first, then again those are happily used with retrofit VFDs so I don't know