I believe i invented this,but i'll share it anyway. If you have power on the rotor you can place an infrared diode pointing downwards (toward the stator). it is powered by a sawtooth signal generator (or in my case a PIC witha trensistor & capacitor) The frequency should be equal as the desired RPSecond. On the stator,facing up towards the diode is placed a IR transistor (used as a photoresistor) It controls (trough some aditional parts) the power level of a computer impulse power supply (with disabled internal safety's to allow more output variations) That in turn powers the motor.
Each time the rotor makes a revolution the IR tr. "meets" the IR diode and "sees" a particular light level coming from it. That light level determines how much voltage the impulse power sends back to the motor (for example 4 volts) At the next revolution the diode & tr. meet again & if the signal level is the same that means that the RPSec. is in tune with the sawtooth signal thet "feeds" the diode, and the feedback voltage remains the same. If the rotor speed has exeeded thet of the sawtooth freq. gener. the IR tr. sees the diode light at a higher level and automatically decreaces the voltage to the motor. If the speed has decreased it sees a lower light level & sends more voltage to the motor. It can also be done with all electronics on the stator ,the IR diode & the IR transistor facing a small mirror glued to the rotor.