Hi Dayama,

You are right that only a single PWM can be used and done exactly the same. It is modulated with a sine table (32 samples). The transformer needed is a 50Hz type. The transformer, output choke and capacitors form a low pass filter (actually the sinewave is integrated) and the output waveform is a sinewave.

Your approach of using a B/B converter would rather complicate things up and also be costly. That is basically a dual conversion design if I understood right. With a MCU you can tune , upgrade your design without actually increasing the production cost. If you are in India then you may be aware of the latest buzz of "DSP" sinewave inverter. Here the approach is same.However a DSP gives you much better ADs and fast computation with dedicated hardwares (for e.g a 32 x 32 Multiply) so you can keep your sinewave undistorted with inductive or mixed load.

I could not post the whole code due to professional restriction but here is what it does :

1. On Interrupt it fetches the sinetable vaue (indexed) for PWM

2. Offset it with ERROR from previous and current sample (a PID style error loop)

3. Turn on the MOSFETs with the calculated value.

What I don't do is dynamically correct a voltage error in the same index pointer. My ADC conversion time does not allow me to do that. To mess up things more I actually take 4 samples and do and average to deal with noise. Then I have a nifty LCD routine, a battery monitor, RS232 interface (to shutdown my computer and inverter when not needed)

BTW where is Pramod who kicked this thread into existence again.

Regards

Sougata