Ok, so I've come up with this:
This Falstad simulation(yes the link text is long, it encodes the entire simulation setup within it, but I can share the link easily, so you can see exactly what I've been trying)
The potentiometer "resistance" slider lets one control the total current supplied by the power source, and the 3 "duty cycle" sliders let one set the relative current in each coil. In theory then, this will let one run a BLDC from a supply with limited current driving capability.
So now I'll list what I think might be wrong with the design, and problems which would occur when implementing in the real world:
I'm representing the half-bridges with analog switch units in the simulator, so these don't show the dead times you'd get when using real half-bridges of two mosfets. But I'd guess the diodes I've added to each wire of the BLDC would, in the real world, suppress any voltage spikes caused by the dead times in switching the currents coming through inductive coils?
I've used an op amp as a comparator in the sim, the real thing might need a proper comparator though (using the spare op amp in a package you've already included for other op amps is so convenient though) if slew rate matters. It seems an overly limited slew rate makes the current drawn from the power supply vary in a trianglular fashion, I tried with a "realistic op amp" option before using the ideal one in the sim. As this triangular waveform was still pretty fast compared to the timescales things will mechanically move on I suspect it wouldn't be too problematic really.
I've simulated the 3 PWM inputs with different frequencies, just to avoid having a situation where they stay in phase such that the high of one always aligns with the low of another. I think though that given the inductance of the motor coils they are PWMed fast enough for this not to matter. But during initial startup it will matter to ensure that the PWM signals are not all in phase with one-another and of equal duty cycle, else no current flow will be able to occur.
I haven't modelled anything in the sim to account for back EMF, because I'm initially consiering the "static" case of using currents of different magnitudes and directions in each coil as a way to control the angle of the rotor. To rotate the motor one adjusts the PWM duty cycles so that the currents in the coils draw the rotor to a different angle.
Inside the BLDC coils there can be >12 amps circulating even though the limited current from the battery is being kept around 470mA (in the example, the voltage set on the potentiometer in mV equals the current limit in mA).
The lack of control of current in the coils seems a problem, the exact curent within the coils can be quite variable (for any fixed current setting at the DC shunt) depending on factors such as the precise level of parasitic resistance (I modelled it as 0.01 Ohms on each coil, but it could easily be more when resistances of solder joints and wire conectors are accounted for) in the coils. I'd rather not design something where the torque I get for a given current is strongly affected by whether a connection is 10s versus hundreds of milliOhms, I don't think I can reliably control resistances that small.
The huge currents in the coils also mean I'd need to use much beefier half-bridges to handle them than if these coil currents could be directly measured and controlled. 10 amps is still a lot to deal with in a localised area even if one is free from the problems of having to supply it at the power source. These large currents could also be pretty nasty for diodes during the switching deadtimes. Is there a way I could control these currents, not only control the overall DC current? I tried having current monitoring shunts on each of the 3 coils, but they would need to work birectionally, and in the real world they would get exposed to voltages well in excess of those that the op amps I'll be using can tolerate. Current monitoring shunts per coil also don't seem feasible to be smoothed with a capacitor, the way the shunt at the ground end of the coils is here. And, monitoring within the coils doesn't give one such a clear idea of which half-bridge's state needs toggling so as to keep the current below a limit, it's nowehere near so simple a problem as taking all the half-bridges low when the ground end DC shunt current gets too high.
Has anyone got suggestion relating to these potential problems?
Or can anyone suggest problems with building this circuit in reality which I haven't foreseen here?
Also: BLDC motors. I've bought one, but the delivery time is slow, delivery chaos in my area continues for a while after the Christmas break. So before they arrive, can anyone give some very rough example specifications for a typical outrunner drone-style BLDC*? Particularly:
..inductance
..shaft torque at a few example coil currents
These sort of motors are usualy sold for drones or fixed wing RC planes, so the specs usually quote trhust, for given prop sizes, but not actual shaft torques or matters which will apply when one wants to fit a gearbox instead of a prop.
*kV of around 1000, 14 poles, "2830" or "2212" physical size,
Thanks