Electronic – AC motor Low RPM problem

motormotor controller

I'm working on a controller for ac induction motor and it's spec is given below. I could control the speed without any trouble at higher speeds like 2000 rpm and above. I'm using TRIAC phase angle control topology in the controller. But at lower RPM like below 1000 RPM but motor takes so much time to reach the set rpm which is not desired as it will add error to the set time period (a timer is there to run the motor @ set RPM for a set period). Also is there any problem if I don't increase the speed gradually.

Motor Spec

1/8hp ,230v/50Hz ,6000 RPM @ No load, I'm using a load of around 1KG

Best Answer

Assumption: Some mechanism exists to sense RPM, either through an encoder attached to the motor shaft, or via back-emf sensing.

An approach to achieve better results that what the question describes, for low RPM operation of a motor, is to use a PID controller algorithm thus:

  • Motor is provided maximum rated power at start-up, as specified in the motor datasheet
  • As the RPM sensed approaches the desired set-point, the power is systematically reduced my modifying the triac trigger phase
  • Once the RPM set-point is achieved, the PID controller continues to sustain that RPM by increasing or decreasing power to compensate for loading effects
  • If load drives the motor to stall, or beyond acceptable power ratings, the controller initiates a controlled fail-safe spin-down of the motor, and also triggers an alarm indication.

From the Wikipedia article linked above, this graph might help explain this process visually:

PID graph

Depending on the acceptability of overshoots (or not) and desired system behavior, the Proportional (P), Integral (I) and Derivative (D) values of the PID algorithm need to be tuned. The diagram above specifically covers tuning the I value: For absolutely no overshoot of RPM, but with greater time to reach set-point, the red line on the graph shows the preferred behavior, as achieved with a Ki = 0.5.

On the other hand, the black trace, with Ki = 2, achieves (and overshoots) the set-point fastest, and then over/undershoots the set-point in diminishing cycles till it settles down.


There exist excellent motor controller ICs which incorporate both back-EMF sensing (if applicable to your type of motor) and PID controlling, in one package.

Also, assuming the OP has limited experience in designing such systems, off-the-shelf PID controllers for motors are available for a variety of power ratings. These allow a set-point to be interactively set, along with tuning parameters or constraints.

There are also several projects by hobbyists out there, designing and implementing PID AC motor control using microcontrollers or microcontroller boards. For instance, see this YouTube video, for one such Arduino-based PID controller for AC motors.

Links to details are provided in the description text of that video.