Press enter to see results or esc to cancel.

Power Factor Improvement plant using AVR Microcontroller | Part:01

Power Factor:

Voltage and current are always in phase for the resistive load.But for inductive load voltage always leads current & for capacitive load current leads voltage.

Power factor is the cosine of the phase difference between voltage & current.

Power Factor Improvement:

Power factor Improvement is minimizing the phase difference between voltage and current so power factor maintains close to unity.

Why Power factor correction is important???

We know Real power or active power,
$${P_{real}} = {V_{rms}}{I_{rms}}cos theta $$
Think about a situation where a system is consuming 2KW of real power and RMS voltage is almost constant, but power factor is changing depending on the load connected with the power system.
  • P=2KW, Vrms=220V, cosθ = 1, so load is resistive$${I_{rms}} = {{{P_{real}}} over {{V_{rms}}cos theta }} = {{2kW} over {220×1}} = 9.09A$$
  • Now P=2KW,Vrms=220 &  power factor cosθ = 0.6 for inductive load
    $${I_{rms}} = {{{P_{real}}} over {{V_{rms}}cos theta }} = {{2kW} over {220×0.6}} = 15.15A$$ 

SO we can conclude that,

vlower power factor increase current flow and creates extra load for power system.
vUtility bill is same for both unity power factor & lower power factor.
vFor lower power factor like less than 0.9 , surcharge added.
So let’s see our project demo

Theory to Implementation:

We know instantaneous power, 
$$p(t) = v(t)xi(t)$$

Real power or average power,
$${P_{real}} = {1 over T}int_0^T {p(t)dt}  = {1 over T}int_0^T {v(t)xi(t)dt} $$
We know another equation for real power,
$${P_{real}} = {V_{rms}}{I_{rms}}cos theta $$
Equating both of the equation we can easily find power factor,cosθ 
  & {P_{real}} = {1 over T}int_0^T {p(t)dt}  = {V_{rms}}{I_{rms}}cos theta   cr
  & cos theta  = {{{1 over T}int_0^T {v(t)xi(t)dt} } over {{V_{rms}}{I_{rms}}}} = {{{mathop{rm Re}nolimits} al_Power} over {Apparent_Power}} cr} $$
This is how we determine power factor. So If we know voltage and current signal, it is very easy to obtain power factor from above equation.

Voltage & Current Signal Sensing:

We use atmega32 microcontroller. Atmega32 has 8 Analog to Digital(ADC) pins.

  1. We sense current using current transformer model TA21CM-5A/5mA and then read the current signal by ADC0 pin of atmega32 microcontroller. In the simulation, we use current controller current source as C.T(There is no proteus model of our C.T). As turns ratio of C.T is 1:1000, So gain of Current controlled current source would be 0.001.
  2. Voltage signal will be sensed directly using voltage divider and read the voltage ADC value by ADC1 pin of atmega32
For safety reason, I use a 220V to 12V step down transformer and developed power factor improvement plant in the 12V AC system.

There are 3 challenges for a microcontroller to read ADC value of voltage and current.
  1. Our AC signal is +12 to -12V peak to peak. Microcontroller adc can only read voltage from 0v to 5V.
  2. It cannot read negative voltage.
  3. A microcontroller cannot read current.

To solve these problems, 

  • I select voltage divider resistor such a way so that voltage signal peak t to peak value remains within +2.5V to -2.5V
  • Then I use a 2.5V dc offset, AS a result voltage signal always remains between 0V to 5V. By this, we can sense  clamped AC voltage.
  • We use a resistor across current transformer to convert the current into voltage.

Extracting original signal:

In proteus simulation taking serial data and plot the ADC value of voltage and current, we found such graph.
Current signal.
  • Then we are converting the ADC value into corresponding voltage value and find the average value of voltage and current. 
  • So average value of voltage and current are the DC-offset what we added in hardware using voltage divider.
  • I think you got the point. To obtain original voltage and current signal we have to subtract average value from the every sample.
    see the animation to visualize what is actually doing in the coding section to extract original signal(animation is bit slow 🙁   )

  • In the same way, we extract original current signal.

    Next part of this tutorial is here: