Welcome to Kerala Project Center.
Voltage fluctuations can damage sensitive equipment. This project implements an Automatic Voltage Regulator using Arduino-based servo control of a variable autotransformer. The ZMPT101B sensor measures output voltage. The Arduino compares with the setpoint (230V) and commands the servo motor to rotate the autotransformer in boost or buck direction as needed. This closed-loop system maintains stable output within plus minus 2 percent of the setpoint.
| Components | Hexkart | Flipkart |
|---|---|---|
| Arduino Uno | Buy Now | Buy Now |
| Servo Motor MG996R | Buy Now | Buy Now |
| Autotransformer (Variac) | Buy Now | Buy Now |
| ZMPT101B Voltage Sensor | Buy Now | Buy Now |
| 16x2 LCD | Buy Now | Buy Now |
The MG996R is a high-torque metal gear servo motor capable of delivering up to 10kg-cm of torque at 6V. It features a rotation range of approximately 180 degrees, though modified versions can achieve continuous rotation. In this project, the servo is mechanically coupled to the autotransformer shaft. The Arduino sends PWM signals (typically 500-2500us pulse width) to control the servo position, which in turn adjusts the autotransformer tapping point. The high torque ensures the servo can turn the autotransformer shaft reliably even under load.
A variable autotransformer (Variac) is a single-winding transformer with a movable tap that adjusts the output voltage. Unlike a conventional transformer with separate primary and secondary windings, the autotransformer shares a portion of its winding between input and output. By moving the tap (wiper), the output voltage can be adjusted from 0V to above the input voltage (typically up to 280V with 230V input). In this AVR system, the servo motor rotates the Variac shaft, moving the tap to either boost or buck the output voltage as needed to maintain the setpoint.
The AVR implements a closed-loop proportional control system. The ZMPT101B sensor measures the output voltage as feedback. The Arduino compares this feedback with the desired setpoint (230V). The error (setpoint - measured voltage) determines the correction direction and magnitude. If the output is too low, the servo rotates to increase the autotransformer output (boost mode). If too high, the servo rotates to decrease it (buck mode). A deadband is implemented around the setpoint to prevent constant servo hunting. The control algorithm includes speed limiting to prevent overshoot.

This Automatic Voltage Regulator maintains a stable output voltage despite input fluctuations. The AC mains input is connected to the autotransformer input. The variable tap of the autotransformer is mechanically coupled to the MG996R servo motor shaft. The ZMPT101B voltage sensor measures the output voltage and provides an analog signal to the Arduino. The Arduino implements a closed-loop control algorithm: it reads the output voltage, compares it with the setpoint (230V), and calculates the required servo position adjustment. If the output voltage drops below 230V (due to input sag), the servo rotates to increase the autotransformer output (boost). If it rises above 230V (due to input swell), the servo rotates to decrease it (buck). The LCD displays the input voltage, output voltage, and regulation status. The system can regulate input variations from approximately 140V to 280V to maintain a stable 230V output, making it suitable for protecting sensitive equipment like medical devices, laboratory instruments, and server equipment.
Monday - Saturday: 9:00 AM - 5:00 PM
Sunday: Not Working
2nd Floor, Comptron Arcade, Kallattumukku,
Thiruvananthapuram, Kerala 695012
+91 9633118080