Can I maintain a fixed speed under variable load?

Quite simply, yes.

There are several ways to do this.

Using an Encoder, a pot or Hall Effect Sensors

By using an encoder or pot on the back of a motor it is possible to actively monitor the exact speed of the motor and adjust it at any time to the speed required. This is called a closed loop system. An incremental encoder works by pulsing as the shaft turns and then sending these signals back to controller. This enables the controller to read the speed of the pulses and therefore accurately calculate the speed. An absolute encoder or pot works in a similar way but uses the variable resistance of the pot or the electromechanical construction of the encoder to enable the controller to calculate the absolute position of the shaft. Hall effect sensors are largely used in brushless DC motors as a method for sensing the position of the shaft within the motor itself. These sensors are (perhaps rather predictably!) only found in sensored brushless DC motors and not in sensorless brushless DC motors. Bear in mind that sensored brushless DC motors can be driven by sensorless brushless DC motor controllers but that sensorless brushless DC motors cannot be driven by sensored brushless DC controllers…

Fundamentally then it can be seen that all of these methods can be used to accurately judge the exact speed of the motor shaft and therefore make adjustments. In all of these cases a change in the actual speed of the controller which was caused by an increase in load would be instantly picked up by an intelligent controller such as the ZD10 Stepper Motor Driver or the ZDDC Brushed DC Motor Controller and the ZD10 or ZDDC could then be programmed to increase the power going into the motor to correct the speed.

Please note that in such systems safety features can become very important as there is obviously a cut off point at which the controller will not be able to deliver the power required to turn the motor if too much load is applied. By having maximum current settings and other protective measures it is possible to protect the motor and controller by simply stalling the system and highlighting the error accordingly.

Using Back EMF

Speed monitoring and constant speed can also be achieved without encoders and similar devices by using a brushless motor driver (brushless ESC) such as the ZDBL10 which can measure the back EMF from a brushless motor and therefore determine the speed of the motor and make adjustments accordingly. Back EMF stands for Back Electro Motive Force and is a force generated by the action of the motor turning. Because Back EMF frequency is directly related to the speed of the motor (it is similar to the way in which power is generated using a wind turbine for example) this frequency can be read and the speed of the motor calculated. It should be noted that this is generally a much lower cost option than using encoders and similar devices.

Conclusion

The nature of your application and the budget that you are working to will ultimately determine the most appropriate way to set your system up but the key thing to note is that there are several ways in which constant speed under variable load can quickly be achieved.