You are on page 1of 15

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/318654258

Microcontroller Based Voltage Stabilizer

Technical Report · August 2015


DOI: 10.13140/RG.2.2.20115.58400

CITATIONS READS
0 608

1 author:

Sabrina Chowdhury
Technical University of Hamburg (TUHH)
5 PUBLICATIONS   2 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Sabrina Chowdhury on 24 July 2017.

The user has requested enhancement of the downloaded file.


Microcontroller Based Voltage Stabilizer

August 08, 2015

Department of EEE

Course No
EEE-4175

Course Name
Optical Fiber Communication

Submitted by
4th Year 1st semester

Group members ID
12.01.05.026
12.01.05.029
12.01.05.031
12.01.05.035
12.01.05.049
12.01.05.050
Microcontroller Based Voltage Stabilizer

Abstract — Voltage stabilizers are nowadays one of the most important requirements for all equipment. This paper deals
with alternative control techniques for load voltage stabilization. The technique of tap-changing transformer switched by
a relay module in a coupled circuit is used. A microcontroller is used to control the switches to stabilize the load voltage
against supply voltage and load current variation. Boosting or bucking effect is performed at low distortion to drive the
relay module .The controlled stabilizer can reduce the supply voltage distortion and adjust the load voltage within very
short time.

Keywords— Bridge Rectifier, Rectification, Filtering, Tap changing transformer, Arduino Nano, Relay, Bulk converter

I. INTRODUCTION

This Paper analyses about different stabilizing topology and different design which is based upon tapping the relay
for different supply voltages to get nearly 220V value for each variation of supply to drive the load risk freely, thus
stabilizing the output voltage.

Following are steps which were taken during the process are charted below:
TABLE I .SPECIFICATIONS OF COMPONENTS

Serial Components Specification Quantity


no.
1. Diode 1N4007 4 piece
2. Resistor 1KΩ,2KΩ 1 piece each
3. Capacitor 10 uF 1 piece
4. 5 volts 1 piece
5. AC supply 180V~230V
(VARIAC) (50 Hz)
6. Transformer I/P:220V~50 Hz 1 unit
O/P:6*2V~600 mA
7. Tap Changing I/P:180V-230V~50 Hz 1 unit
Transformer O/P:220V~2A
8. Arduino Nano 1 unit
9. Bulk Converter I/P: 12V(DC) 1 unit
O/P: 5V (DC)
10. Relay Module 8 Relay Module 1 unit
( Operating Voltage: 5V
DC)
11. LED(Red) 1.8 volts 1 piece
12. Bread Board 1 unit
13. Chords and wires
14. Digital Multimeter 1 unit
15. Bulb(Load) 60 watt, 210~240V 1 unit
50 Hz

II. CIRCUIT DIAGRAM


III. DATA ANALYSIS

TABLE II: Arduino sampling values for different voltages


VARIAC Voltages (Volt) Analog Value of Arduino DC output of A0
(Volt)
130 265-283 1.26
140 293-306 1.36
150 313-335 1.48
160 342-363 1.60
170 369-394 1.73
180 392-413 1.94
190 419-434 1.96
200 451-474 2.08
210 472-506 2.20
215 483-512 2.25
220 488-525 2.32
225 507-542 2.37
228 511-546 2.41
230 519-552 2.43

TABLE III: Output voltage testing for the tap changing transformer for different voltages
For Tap-01 ( Yellow colored wire)

VARIAC Voltages (volt) Tap changing Transformer Output


(In Tap-01) (volt)
150 157.4
160 167.1
170 177.7
180 188.3
190 198.9
200 209.0
210 219.8
215 224.3
220 230.2
225 234.9
228 238.2
230 240.4

For Tap-02 (Orange colored wire)

VARIAC Voltages (volt) Tap changing Transformer Output


(In Tap-01) (volt)
150 164.4
160 174.4
170 185.4
180 196.5
190 206.9
200 218.5
210 229.1
215 234.4
220 240.7
225 245.5
228 248.3
230 250.9

For Tap-03 (White colored wire)

VARIAC Voltages (volt) Tap changing Transformer Output


(In Tap-01) (volt)
150 170.4
160 182.3
170 192.4
180 204.4
190 216.1
200 227.3
210 238.7
215 243.9
220 250.1
225 255.8
228 259.4
230 261.1

For Tap-04 (Black colored wire)

VARIAC Voltages (volt) Tap changing Transformer Output


(In Tap-01) (volt)
150 149.9
160 160.4
170 169.7
180 179.9
190 190.3
200 200.3
210 210.1
215 215.5
220 220.1
225 224.9
228 227.9
230 229.4

For Tap-05 (purple colored wire)


VARIAC Voltages (volt) Tap changing Transformer Output
(In Tap-01) (volt)
150 143.3
160 152.3
170 162.6
180 172.2
190 181.8
200 190.3
210 200.1
215 205.5
220 210.7
225 214.3
228 217.6
230 219.4
For Tap-06 (Blue colored wire)

VARIAC Voltages (volt) Tap changing Transformer Output


(In Tap-01) (volt)
150 136.1
160 144.6
170 155
180 163.5
190 172.7
200 182
210 191.2
215 194.8
220 200
225 204.2
228 207.2
230 209.1
For Tap-07 (Yellow colored wire)

VARIAC Voltages (volt) Tap changing Transformer Output


(In Tap-01) (volt)
150 129.1
160 138.2
170 146.7
180 155.3
190 163.8
200 173.8
210 180.6
215 185.3
220 190.2
225 194.4
228 196.2
230 198.2
TABLE IV: Result from the testing operation of Tap Changing Transformer :

Input Output Tap-1 Tap-2 Tap-3 Tap-4 Tap-5


Voltage Voltage
(Volt) (Volt)
180 207.4 OFF OFF ON OFF OFF
190 212.8 OFF OFF ON OFF OFF
200 215.8 OFF ON OFF OFF OFF

210 218.9 ON OFF OFF OFF OFF


215 223 OFF OFF OFF ON OFF
220 225 OFF OFF OFF OFF ON
225 228 OFF OFF OFF OFF ON

230 228 OFF OFF OFF OFF ON

IV. ARDUINO CODE

I. VOLTAGE SAMPLING CODE

int acval=0;

void setup()
{
Serial.begin(9600);
Serial.println(" Let's begin the sampling !");
}

void loop()
{
acval=analogRead(A0);
Serial.print("acval ");
Serial.print(acval);
Serial.println("");
delay(100);
}

II. FINAL CODE

int acval = 0;
int relay1 = 3; Serial.begin(9600);
int relay2 = 4; Serial.println("meaw");
int relay3 = 5; pinMode(relay1, OUTPUT);
int relay4 = 6; pinMode(relay2, OUTPUT);
int relay5 = 7; pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
void setup() { pinMode(relay5, OUTPUT);
digitalWrite(relay1, 1);
digitalWrite(relay2, 1); else if (acval >= 313 && acval <=
digitalWrite(relay3, 1); 335)
digitalWrite(relay4, 1); {
digitalWrite(relay5, 1); Serial.println("Voltage is
around 150V ");
} digitalWrite(relay1, 1); //
void loop() { tapper 1
digitalWrite(relay2, 1); //
acval = analogRead(A0); tapper 2
Serial.print("AC analog VALUE digitalWrite(relay3, 1);
"); //170 >>192.4 tapper3
Serial.print(acval); digitalWrite(relay4, 1); //
Serial.println(""); tapper 4
delay(100); digitalWrite(relay5, 1); //
tapper 5
if ( acval <= 263)
{ }
Serial.println("Voltage is else if (acval >= 342 && acval <= 363)
less than 130V "); {
digitalWrite(relay1, 1); Serial.println("Voltage is
digitalWrite(relay2, 1); around 160V ");
digitalWrite(relay3, 1); digitalWrite(relay1,1); //
digitalWrite(relay4, 1); tapper 1
digitalWrite(relay5, 1); digitalWrite(relay2, 1); //
} tapper 2
else if (acval >= 263 && acval <= 283) digitalWrite(relay3, 1);
{ //170 >>192.4 tapper3
Serial.println("Voltage is digitalWrite(relay4, 1); //
around 130V "); tapper 4
digitalWrite(relay1, 1); // digitalWrite(relay5, 1); //
tapper 1 tapper 5
digitalWrite(relay2, 1); //
tapper 2 }
digitalWrite(relay3, 1); else if (acval >= 369 && acval <= 394)
//170 >>192.4 tapper3 {
digitalWrite(relay4, 1); // Serial.println("Voltage is
tapper 4 around 170V ");
digitalWrite(relay5, 1); //
tapper 5 digitalWrite(relay1, 1); //
} digitalWrite(relay2, 1); //
else if (acval >= 293 && acval <= 306) digitalWrite(relay3, 1);
{ //170 >>192.4 tapper3
Serial.println("Voltage is digitalWrite(relay4, 1); //
around 140V "); digitalWrite(relay5, 1); //
digitalWrite(relay1, 1); //
tapper 1 }
digitalWrite(relay2, 1); // else if (acval >= 392 && acval <= 413)
tapper 2 {
digitalWrite(relay3, 1); Serial.println("Voltage is
//170 >>192.4 tapper3 around 180V ");
digitalWrite(relay4, 1); // digitalWrite(relay1, 1); //
tapper 4 digitalWrite(relay2, 1); //
digitalWrite(relay5, 1); // digitalWrite(relay3, 0);
tapper 5 //180 >>204.4 tapper3
} digitalWrite(relay4, 1); //
digitalWrite(relay5, 1); // digitalWrite(relay1, 1); //
tapper 1
} digitalWrite(relay2, 1); //
else if (acval >= 419 && acval <= 434) tapper 2
{ digitalWrite(relay3, 1); //
Serial.println("Voltage is tapper3
around 190V "); digitalWrite(relay4, 0); //
digitalWrite(relay1, 1); // 215>>215.5 tapper 4
tapper 1 digitalWrite(relay5, 1); //
digitalWrite(relay2, 1); // tapper 5
tapper 2 }
digitalWrite(relay3, 0); else if (acval >= 488 && acval <= 525)
//190 >>216.1 tapper3 {
digitalWrite(relay4, 1); // Serial.println("Voltage is
tapper 4 around 220V ");
digitalWrite(relay5, 1); // digitalWrite(relay1, 1); //
tapper 5 tapper 1
digitalWrite(relay2, 1); //
} tapper 2
else if (acval >= 451 && acval <= 474) digitalWrite(relay3, 1); //
{ tapper3
Serial.println("Voltage is digitalWrite(relay4, 0); //
around 200V "); 220>>220.1 tapper 4
digitalWrite(relay1, 1); // digitalWrite(relay5, 1); //
tapper 1 tapper 5
digitalWrite(relay2, 0); // }
200>>218.5 tapper 2 else if (acval >= 500 && acval <= 535)
digitalWrite(relay3, 1); // {
tapper3 Serial.println("Voltage is
digitalWrite(relay4, 1); // around 222V ");
tapper 4 digitalWrite(relay1, 1); //
digitalWrite(relay5, 1); // tapper 1
tapper 5 digitalWrite(relay2, 1); //
} tapper 2
else if (acval >= 472 && acval <= 506) digitalWrite(relay3, 1); //
{ tapper3
Serial.println("Voltage is digitalWrite(relay4, 1); //
around 210V "); tapper 4
digitalWrite(relay1, 0); // digitalWrite(relay5, 0); //
210>>219.5 tapper 1 222>220.2 tapper 5
digitalWrite(relay2, 1); // }
tapper 2 else if (acval >= 507 && acval <= 542)
digitalWrite(relay3, 1); // {
tapper3 Serial.println("Voltage is
digitalWrite(relay4, 1); // around 225V ");
tapper 4 digitalWrite(relay1, 1); //
digitalWrite(relay5, 1); // tapper 1
tapper 5 digitalWrite(relay2, 1); //
tapper 2
} digitalWrite(relay3, 1);
else if (acval >= 483 && acval <= 512) //170 >>192.4 tapper3
{ digitalWrite(relay4, 1); //
Serial.println("Voltage is tapper 4
around 215V "); digitalWrite(relay5, 0); //
tapper 5
digitalWrite(relay2, 1); //
} tapper 2
else if (acval >= 511 && acval <= 536) digitalWrite(relay3, 1); //
{ tapper3
Serial.println("Voltage is digitalWrite(relay4, 1); //
around 228V "); tapper 4
digitalWrite(relay1, 1); // digitalWrite(relay5, 0); //
tapper 1 230>>219.3 tapper 5
digitalWrite(relay2, 1); // }
tapper 2 else if (acval >= 580)
digitalWrite(relay3, 1); {
//170 >>192.4 tapper3 Serial.println("Voltage is
digitalWrite(relay4, 1); // more than 230V .Warning!! ");
tapper 4 digitalWrite(relay1, 1); //
digitalWrite(relay5, 0); // tapper 1
228>>217.6 tapper 5 digitalWrite(relay2, 1); //
} tapper 2
else if (acval >= 537 && acval <= 552) digitalWrite(relay3, 1);
{ //170 >>192.4 tapper3
Serial.println("Voltage is digitalWrite(relay4, 1); //
around 230V "); tapper 4
digitalWrite(relay1, 1); // digitalWrite(relay5, 1); //
tapper 1 tapper 5

}
}
V. HARDWARE PICTURES
VI. LIMITATIONS OF DESIGN:

a) A higher value of the capacitor was used, it took a bit time to discharge fully after being switched off.
b) The input voltage range acts an important role to give a constant voltage output across the capacitor. If
this range exceeds, the constant voltage rises or fall. This may give rise to the quantization error. From
the practical values we’ve found that the input voltage of the Arduino analog pin A0 is about 2.32 V DC
at 220v AC input of the Transformer. Where the voltage should have remained in the range of 4.50~4.75V
DC. That means there’s a good amount of Quantization error in our work.
c) There may be an improper AC-DC conversion done in the work. And due to the existence of the ripple
voltage the output voltage was not so error-free.
d) The Transformer (I/P 220V, O/P 6V*2 ~ 50 Hz, 600 mA) became too weak to drive the Relay module ,
thus we had to use a DC 12 V adapter and a 5V DC Bulk Converter to drive the Relay module separately.
e) The Tap changing Transformer was not being properly designed or there may be some faults exist in the
manufacturing process of the transformer. For that reason, we witnessed a rapid fluctuation of switching
between the taps of the transformer. The tap voltage ranges being very close to each other and 2 of the
taps being manufactured to work below the 180 Volt, we couldn’t make those workable. Thus the 3 relays
of the relay module remained idle during the prototyping process.

VII. ASSUMPTIONS OF DESIGN:


a) The proper value of capacitor for this work can be calculated using the formula
= , in order to perform the filtering process more efficiently.
b) A simple AC-DC converter module could be used to get the sufficient DC voltage for sampling process
of ARDUINO. So that the Quantization error may decrease to some extent.
c) We could easily avoid the unnecessary arrangement of DC 12 V adapter and a 5V DC Bulk Converter
to drive the Relay module by replacing the Transformer (I/P 220V , O/P 6V*2 ~ 50 Hz, 600 mA) with
The Transformer ( I/P 220 V , O/P 12V*2 ~ 50 Hz, 1000 mA).
d) The appropriate designing procedure of the Tap changing transformer would lead the prototyping process
to more error free output.
The assumption made in the designing process is somehow like below:

For, 180 Volt we’ll have to get the output of the tap changing transformer= 220 Volt
,, 1 Volt ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, =220/180 Volt
,, 220 Volt ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, =220*220/180
=269 volt

Similarly for 190 Volt 254 V, 200 Volt242 Volt, 210 Volt230Volt , 220 Volt 220 Volt and so on
If the above designing technique could be followed the each tap of the transformer would exactly give 220
V each time of the variation of the input voltage from 180 V up to 230 V. Thus the output would be more
stable and there would remain a possibility of having less fluctuation of tap switching .

VII. RESULTS AND DISCUSSIONS:

There are 5 tap settings Tap 1,2,3,4 and 5 in random tap settings which are- 210,200,190,215,230Volt
respectively. The input voltage to the tapping transformer is set to 180v to 230 V and the output is 220V each
time. The load current is 2A. At this condition, the taps settings will be ON for the respective taps having the
voltages similar to the input voltages (Tap 1 in at ON when the voltage is 210 V and others remain OFF). This
prototype was tested for its reliability by measuring the output voltage of the transformer when the input voltage
was increased steadily. Each time the tap changing transformer changes its tap changing settings the output
voltages were recorded and the recorded values were being compared with the voltage 220V to ensure the stable
driving of the load.

VIII.CONCLUSIONS
Any variation of the output voltage of the transformer will be detected by the Arduino microcontroller , which in
turn computes and executes necessary command instruction to be passed on to the VARIAC. The relay will
change the tap position if variation is out of the permissible range. Thus the voltage of the system could be
maintained at nominal value. From the result it's been found that, if the tap changing transformer could be
designed in the proper way it would have been possible to regulate the power more efficiently for any variation
of the system voltage.

View publication stats

You might also like