I am not an expert in this, but I have built some basic BLDC motors. I was recently reading up on induction motors. While I understand the idea of the AC causing a rotating magnetic field, the part I don't understand is how the speed is controlled precisely in induction motors.
I know BLDC motors are controlled by an Electric Speed Controller (ESC) that changes the magnetic field orientations based on the position of the rotor. The position of the rotor is determined by a hall effect sensor or back EMF through the coils. From my reading, the speed of an induction motor is controlled by a Variable Frequency Drive (VFD). However, when I dig into the details, the result of this is a change in the speed that the field rotates which seems no different from running a BLDC motor without knowing the position of the rotor (i.e. open-loop). The problem being, that without knowing the position of the motor it is easy for the rotation of the field to get our of sync with the position of the rotor. This is easily seen with magnetic coupling as well, where permanent magnets on the rotor are being dragged around my paired rotating magnets. It works up to a point, but once the rotation of the magnets exceeds a certain speed, the system goes out of sync and the rotor stops spinning.
So, my question is - how is the speed of induction motors controlled precisely without knowing the position of the rotor? Or, put another way - why doesn't speed control in induction motors require knowledge of rotor position, but speed control in BLDC motors does?