I'm looking at making a BLDC controller with an MCU, and have be reading through the atmel guide AVR444 which steps through a design and software needed for a sensorless back-emf timing controlled driver.
I'm broadening my understanding of the subject. The application I am looking at is for a RC quadcopter, so the level of speed precision isn't critical as long as the overall thrust can vary with a pretty quick response. The load isn't going to vary much either. The motor will be 3 phase (Y windings), around 5-10V, <10A I imagine.
I understand the concept of back-emf in the floating windings to sync up rotating the electrical field. However, my understanding is also that the torque experienced at the rotor is proportional to difference in rotation between the electrical field and the permanent rotor field. So the rotor usually lags slightly behind, causing torque to force it to try and catch up.
The AVR444 app note designs the software to drive the motor blind (using a fixed timings) to begin with, and speed it up to a point then let the back-emf control software to take over. This makes perfect sense to me, but what I am curious about is what is the limitation of driving the motor blind?
As long as there isn't a huge difference between the rotor rotational speed and the electrical field rotational speed, the torque will speed up the rotor and force it to match the electrical field. Since the electrical field is controlled by the software, what would be the issue with blindly driving the electrical field and assuming the rotor keeps up? It is likely to slip rotations every now and then I imagine, but at reasonably high speeds (1000 to 5000rpm) and with some degree of inertia, surely this will average out? If the speed varies by say 100rpm back an forth, I'm not too fussed.
Using a fixed voltage for the motor drive, and a fixed rotation frequency, I expect the current in the windings to vary with the amount of torque needed for the rotor to match pace with the electrical rotation. A current limiter on the power supply could stop anything too crazy.
Thoughts? I realize the preferred method is to use back-emf in a control loop, but I'm looking for an idea as to what the limitations of not using a control loop and blindly driving a BLDC motor would be.
EDIT: In addition to being an interesting research point, it also has practical use. Blindly driving BLDC motors is a fairly trivial task, that a single control MCU could perform. The current design I'm looking at requires small, separate MCUs to run tight control loops per motor. In a design with 4 motors (possibly more), it's the difference between 1 and 5 MCUs on the board.