Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Load regulation problem in sinewave Inverter

Status
Not open for further replies.

gopal_amlekar

Junior Member level 1
Junior Member level 1
Joined
Jun 14, 2009
Messages
17
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,283
Location
Pune, India
Activity points
1,468
Hi,

I am doing a firmware for PIC16F72 based inverter. It is a 800VA pure sinewave inverter.
PWM frequency I am using is 6.4KHz. PWM is generated totally in software using two timers T0 and T1. There are 4 branches of 3 MOSFETs each (3 MOSETS in parallel in each branch). 4 PWM ouputs drive these MOSFETs.

I am stuck up in getting poor load regulation for the sinewave. I have tried two different techniques to get regulation.

1. Use a lookup table to get sine values. The values are initially too low. Multiply these values by some scaling factor to achieve 230V output. Then as load increases, the load voltage will fall down so scaling factor is increased by 1 and then load is checked again for 3 cycles. If it is still low, scaling is increased again and so on.
Now there is a limit on the scaling factor such that at maximum value of scaling factor, the ON time of a pulse is slightly less than the total period of the pulse. So if the period is 156usec, the maximum ON time is set to be 150usec.
Problem in this case is, to get 230V at the output, I need to increase the scaling factor to the maximum value. So if I slightly increase the scaling factor sinewave gets too much distorted since the ON time increases such that the center pulses short to each other and remain fully ON.
Multiplication is done in software using a fixed latency routine. The total overhead of the timer interrupt routine is little higher about 25usec. Still what I think is it should be possible to generate 230V at much smaller multiplication level so that there is room to further increase the voltage in case of load.


2. In the second technique I tried addition of scaling factor instead of multiplication. This technique gave little better results as I can scale up the voltage to higher levels to about 280V or so at no load. But the waveform gets distorted in such a way that it gets difficult to measure the peak. The sinewave top portion does not remain flat, rather it generates a very narrow peak on top of the flat portion. Due to this, it gets difficult to establish relationship between scaling factor and the measured load voltage.

Can you suggest me some clue to help solve this problem?

Sorry for a too long post..

Thanks a lot again..
 

Do you have negative feedback to adjust the PWM automatically?

Do you know about the PID (Proportinal, integral, derivative) technique?
 

ljcox,

Feedback is there. The inverter output is scaled down with resistors and given to an op-amp whose output is a level shifted sinewave centered around 2.5V. This is input to the ADC of microcontroller. ADC is 8-bit.

I know about PID but this controller has no hardware multiply even. So only a P type control seems a good possibility. I have no choice of other controller due to cost reasons.

Another thing I must have mentioned in my earlier thread that the hardware is already proven on the same controller and I am trying to clone it. It is a reverse engineering project.
 

You could do the multiplication in the PIC.

I'm not an expert on PID, but I was told by someone who is, that it is usually only necessary to include the P & I functions. He said that the D is rarely necessary.
 

I know about PID but this controller has no hardware multiply even. So only a P type control seems a good possibility. I have no choice of other controller due to cost reasons.

Even for the P-action you already need the multiplication.
 

I was told by someone who is, that it is usually only necessary to include the P & I functions
Yes, this is right for a wide range of control applications. I heard from your initial explanation, that the problem is probably more in the fact, that the hardware won't achieve the necessary output voltage at full load, rather than in software difficulties. The question can be anwered by adjusting the output at full load without using a controller: Is it sufficient or not?
 

I'm puzzled by this point.

I know about PID but this controller has no hardware multiply even. So only a P type control seems a good possibility. I have no choice of other controller due to cost reasons.

The point of ljcox was that he was unsure that it was possible for the PID control application because of the multiplication in his microcontroller. A bit further he said that P-control was probably possible. I just wanted to tell him that even for a P-control he needs already a multiplier action. That's all.
 

Even for the P-action you already need the multiplication.
Yes but I can do multiplication in hardware with a fixed latency. But it takes definite time and adds to overhead so including P and I both is practically difficult.
I heard from your initial explanation, that the problem is probably more in the fact, that the hardware won't achieve the necessary output voltage at full load, rather than in software difficulties. The question can be anwered by adjusting the output at full load without using a controller: Is it sufficient or not?
FvM, Yes the problem is that necessary output voltage is not achieved at full load. If we suspect hardware, it is already proven with another controller and I am not able to guess what is really done in that controller..
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top