Bidirectional mosfets in 3 phase inverter - stepdown/stepup

Hey SimpleFOC

Our simple FOC steppers has been working flawlessly in the turbine. And we have accumulated a couple of weeks of continuous runtime with the stepper drives. (previous post SC60228DC + NEMA17 Stepper + DRV8841 + ESP32 Simple FOC system).

We have a rather special need for our generator. Ideally we want the generator to be able to supply power to both 12, 24 and 48 Volt battery systems as well as charge PV MPPTs.

I’m wondering if would be possible to control the phase currents when the bus voltage drops below the phase voltages. Seems like it should be possible to have a primitive control of the current flowing out of the generator. Higher duty cycle would allow more current to flow.

Do you think this would be a viable approach?. The benefit would be to eliminate/reduce the need for additional passive components in an additional DC/DC converter step.


My intuition is that I haven’t understood the question fully, or that it can’t work this way - but I’d be really interested to read more on it.

Why are you trying to control the current in the first place? Is it for constant current charging? To prevent overcharging?

Looking at the circuit above, I think what you actually need is a “branch” on each phase that discharges via FET and power resistor. That way you can select whether you open the high side FET, to charge the battery, or dump the energy via the resistor.
I don’t know enough about it TBH, but my intuition is you can’t “trap” the energy and wait for later. Either you let it out, or the voltage rises until it overcomes one of the barriers (body diode or air gap to somewhere), or there’s just no circuit.
But I’d be happy to learn more about it, really!

Hmmm… I was reading up on it a bit - perhaps what you want is more like an alternator?

Why are you trying to control the current in the first place? Is it for constant current charging? To prevent overcharging?

Controlling the motor current is the best/only way (to my knowledge) to accurately control the torque and power produced by the turbine. This is necessary for optimal aerodynamic/turbine performance, but it’s also useful if there is limitations on the about of energy the battery can absorb.

Currently we are using a VESC based system. We have been using Flipsky 4.20 mini ESC for the past 1.5 year. The generation is very efficient, but the bus voltage is not really suitable for a system that needs to charge many different kind of batteries. The ESC’s that able to work with 75V bus voltages are designed to handle 100’s of amps and are very costly.

For a regular ESC (also goes for a simple FOC based one). The bus voltage is/should always be higher than BEMF generated by the motor in order to stay in control. If the motor/generator is driven past this point the body diodes will start to conduct.

The goal of the above mentioned design would be to avoid this phenomenon and “stay in control”. Thinking a bit more about it. I believe I have realised why this is never done in practice. Once the BEMF = Bus voltage the above design would still be unable to control the phase current. There would be zero torque. So there would be a deadband.

I’m still contemplating making our own controller board based on SimpleFOC or VESC (with the conventional design). Optimised for working with voltages up to 75V, but limited to 15 Amp.

@runger did that also clarify how we normally use the ESC for generation?