This article explains a simple pure sine wave inverter circuit using Arduino, which could be upgraded to achieve any desired power output as per the user's preference
Circuit Operation
In the last article we learned how to generate sine wave pulse width modulation or SPWM though Arduino, we are going to use the same Arduino board to make the proposed simple pure sine wave inverter circuit.The design is actually extremely straightforward, as shown in the following figure.
You just have to program the arduino board with the SPWM code as explained in the previous article, and hook it up with some of the external devices.

Pin#8 and pin#9 generate the SPWMs alternately and switch the relevant mosfets with the same SPWM pattern.
The mosfst in turn induce the transformer with high current SPWM waveform using the battery power, causing the secondary of the trafo to generate an identical waveform but at the mains AC level.
The proposed Arduino inverter circuit could be upgraded to any preferred higher wattage level, simply by upgrading the mosfets and the trafo rating accordingly, alternatively you can also convert this into a full bridge or an H-bridge sine wave inverter
Powering the Arduino Board
In the diagram the Arduino board could be seen supplied from a 7812 IC circuit, this could be built by wiring a standard 7812 IC in the following manner. The IC will ensure that the input to the Arduino never exceeds the 12V mark, although this might not be absolutely critical, unless the battery is rated over 18V.

If you have any questions regarding the above SPWM inverter circuit using a programmed Arduino, please feel free to ask them through your valuable comments.
Waveform Images for Arduino SPWM

Image of SPWM waveform as obtained from the above Arduino inverter design (Tested and Submitted By Mr. Ainsworth Lynch)
For the Program Code please visit the following link:
Arduino SPWM Generator Circuit
UPDATE:
Using BJT Buffer Stage as Level Shifter
Since an Arduino board will produce a 5V output, it may not be an ideal value for driving mosfets directly.
Therefore an intermediate BJT level shifter stage may be required for raising the gate level to 12V so that the mosfets are able to operate correctly without causing unnecessary heating up of the devices,. The updated diagram (recommended) can be witnessed below:

Video Clip
Parts List
All resistors are 1/4 watt, 5% CFR
- 10K = 4
- 1K = 2
- BC547 = 4nos
- Mosfets IRF540 = 2nos
- Arduino UNO = 1
- Transformer = 9-0-9V/220V/120V current as per requirement.
- Battery = 12V, Ah value as per requirement
Delay Effect
To ensure that the mosfet stage does not initiate during Arduino booting or start up, you may add the following delay generator and connect them at the base of the left side BC547 transistors. This will safeguard the mosfets and prevent them from burning during power switch ON Arduino booting.

Adding an Automatic Voltage Regulator
Just like any other inverter the output from this design can rise to unsafe limits when the battery is fully charged.
To control this an automatic voltage regulator could be employed as shown below.
The BC547 collectors should be connected to the bases of the left side BC547 pair, which are connected to the Arduino via 10K resistors.

For an isolated version of voltage correction circuit we can modify the above circuit with a transformer, as shown below:

How to Setup
To set up the automatic voltage correction circuit, feed a stable 230V or 110V as per your inverter specs to the input side of the circuit.
Next, adjust the 10k preset carefully such that the red LEDs just light up. That's all, seal the preset and connect the circuit with the above Arduino board for implementing the intended automatic output voltage regulation.
Using CMOS Buffer
Another design for the above Arduino sinewave inverter circuit can be seen below, the CMOS IC is used as an aided buffer for the BJT stage

Important:
In order to avoid an accidental switch ON prior to Arduino booting, a simple delay ON timer circuit may be included in the above design, as shown below:

Search Related Posts for Commenting
thanks for the good circuit .
Kindly tell if we want to vary the frequency or if we wants the the output at 1 kHz
Thank you for liking the post!
Yes you an change the frequency to any desired value, simply by altering the “microsecond” values in the code.
As you can see, the above applications works with 50 Hz frequency, therefore the microsecond delays in the code across both the channels are adjusted accordingly to a 20 ms value.
For 1kHz, this total delay for the entire code will need to be adjusted to 1 ms.
Excellent article.
What would need to change to cater for a 24v battery?
Thank you, no changes will be required, except the transformer and the battery. The transformer can be a 12-0-12V for the primary side
здравствуйте. а можно как-то реализовать между переходами мертвую точку или
dead line
dead time already introduced at the end of the codes for each channel
digitalWrite(8, LOW);
//……
digitalWrite(9, LOW);
}
//————————————-//
Thanks for quick reply on my previous comments. I want to know one more thing how output frequency calculated. For some spacial applicatoin i want to lower the frequency about 10Hz to 15Hz. Please help.
It will depend on the specific oscillator circuit, and the RC parts used in the oscillator. The frequency can be changed by changing the RC values of the oscillator.
Thanks for the reply, but think there is some confusion, The frequency shoud be depends on arduino code coz SPWM is generated by arduino itself…?
Yes, for the above Arduino, the frequency is dependent on the delay (microsecond) set for each of the PWM blocks. You can modify them accordingly to ensure the waveform delay coincides with the frequency timing or the Hz rate
Hi, Nice projects is this, I want to make this same project with 110V DC source, can i replace 12V DC source with 110V? Second thing in place of saperate Power On delay circuit, we can also use Arduino itself for the same.
Hi, thanks, for 110V DC input you will need a 110V transformer connected with the MOSFETs.
you can use the same power for the Arduino and the delay circuit
Good day Sir
I am in the first stage of building the inverter with the AVR(not the isolated version)
I want to know if I connect the collectors of the BC547 in the AVR to the bases of the BC547 outputs of the Arduino,won’t it interfere with the output signal of Arduino?
Thank you
Dean
Hi Dean, it will interfere, but due to the transformer inductance and capacitive filter at the output, the waveform will be leveled of, and we might not see the interference happening at the 220V side.
Thank you for your quick response,I really appreciate it.I will keep you updated on the progress of the project.I noted in Mr Atton’s code,he used pin 9 and 10 on the Arduino.Maybe some people building this project used pin 8 and 9 like on the drawing.Maybe just make a note on that.
Thanks for the feedback, appreciate it!
Hello sir,How to communicate and control conventional inverters from Arduino Micro controllers? I want to turn on/off the inverter through Arduino .please tell me how i can do this ?
Hello Arijit, the above explained circuit is switching the inverter ON/OFF 50 times per second, and with PWM
yes ,i saw ,but i will do same thing in grid tied inverter?
Sorry, presently we do not have an Arduino based GTI circuit
Hello Sir,
I need to clear all my basics of circuit designing. Can you please recommend anything on this?
That would be very helpful.
Thank You & Regards,
Mudit
Hello Mudit, you can read the following article;
https://www.homemade-circuits.com/electronic-basics-explained/
Thank you so much. Much appreciated, As a matter of fact, I am kind of your Junior, dipIETE batch 2012-2015.
You are welcome Mudit, Glad to know you are also an dipIETE holder!
Hi Swagatam,
Please assist me with the following:
Please refer to your cct for the Arduino Pure Sine Wave Inverter.
I would like to combine the Arduino cct with the Seven Simple Inverter cct’s ie. UNIVERSAL PUSH PULL MOSFET MODULE WHICH WILL INTERFACE WITH ANY DESIRED OSCILLATOR CIRCUIT
Will it be possible to interface the Arduino with the Push Pull cct by connecting the two 2nd BC548’s collectors to Push Pull cct at the gate of the 1st IRF9540 and IRF540?
I would really like to do this as I like the additional features of the Push Pull Inverter. Especially the transformer with no center tap and the automatic switching between mains and battery. However I would like to keep the Arduino features as well.
Your assistance will be much appreciated.
Regards
Jan
Hi Jan, yes it is possible to interface it with the above Arduino output. But initially try the full bridge without the charger section. You can use the following module, replace the 220 V output points with 0-6V / 220V transformer, and feed the 310V points with 12V battery. Once the working is confirmed then you try adding the battery charger section to see how it responds
Yes the BJT stages will be required, to ensure that the Bridge MOSFETs get the required 12 V for the biasing
Hi Swagatam,
Ref. All P-Channel IRF9540
I hate to admit that I have been defeated by the Mosfet’s virus. To date I have destroyed about 25 of these devices. My project https://www.homemade-circuits.com/arduino-pure-sine-wave-inverter-circuit/ has been very successful so far. All the modules work very well except for the final stage which is the Mosfet Full Bridge.
I have decided that it is not feasible to continue with the Mosfet Bridge. Instead I want to rather use TIP3055 (BDY29 is not available in my country) BJT’s as per your https://www.homemade-circuits.com/modified-sine-wave-inverter-circuit-2/ BJT concept as in https://homemade-circuits.com/wp-content/uploads/2012/02/InverterOutputStage-1.png. The problem is that the transformer I use does not have a center tap. Do you have any suggestions as to how I can overcome this problem and drive 0-6V transformer with BJT’s instead of Mosfets?
Perhaps I will have beter luck with the BJT’s than with the Mosfet’s.
Your assistance as always will be much appreciated.
Regards
Jan
Hi Jan, I am sorry to hear that. The following link shows two H bridge based circuits for motor control, which can be also applied for inverter.
https://www.homemade-circuits.com/full-bridge-bidirectional-motor/
The first diagram employs the same P-channel, N-channel MOSFET topology which you found problematic, and the second one is a BJT based design which is probably a more convenient one, but not as efficient as using MOSFET
Thank you Swagatam
I really appreciate your feedback
Regards
Jan
You are welcome Jan!
Hello Sir,
Can I please have the flowchart for the programming code used in the arduino to have sine wave from this inverter circuit.
Hello Haritha, I think you can create it yourself by understanding how the SPWMs get converted to pure sinewave when induced with an inductive load like a transformer. It is simple, the varying PWM width correspondingly create a varying exponential curve for the sinewave. So thinner pwms cause the low amplitude rising and falling section of the sine, while the thicker PWMs correspond to the peak section of the sine wave curve
Hello Swagatam .. yeah okay – so before I get going… I have sent you a “request email” to your address..?? I do not know, whether you read those emails or not.?? I just wanted to submit a few circuits, for people to build what I consider to be really smart – plain and straight forward, little UPS circuits. So I am not a real fan of Arduino, for almost obvious reasons. I use microchip PIC’s in which the processor is just a chip.. with of course a V-regulator. (I could say to you… look here… here is a 12V PIC chip.. YES a small PCB with circuits to make up a 12V PIC chip). The driver chips are very plain. I have made up a few circuits, which I can deposit here in time.. I find that after about 2 years of examining the math of whatever is needed, I still believe that I am learning. I do electronics as a hobby-practical, and really am busy with a massive – project, which I have been working on for now – close to 20 years… Whatever I will give here is results / experiments / findings – from my project. I need to ask you – if you are interested..?? cause this is quite an involved system… with a program with which we will use to create to programs for the PIC chips.
So please Sir.. try to revue what I have written in your … LAV…… email address and let me know…
Thank You…!!
Hello Spencer, I appreciate your efforts, however when I checked your email, your contribution appeared to be a promotional article, having external links. Moreover, the codes are not free, the readers have to pay a huge amount for the codes, which the readers will not like. I would have published if it was completely free and did not have those external links. I hope you will understand and bear with me!
good morning sir ,
can u send me the code by mail please ?
best regards
Hello, I am stuck with the 2nd diagram and use an 8v (2 pin) power source and notice that the frequency is much higher than 50Hz (150Hz-200Hz) and the voltage drop when plugged. You can update the full circuit diagram including: “Delay Effect” + “Automatic Voltage Regulator”.
Thank you.
Hello, please use an oscilloscope to check the frequency
I couldn’t find the code to throw in arduino, can you help? thank you. for contact;
The link for the code is furnished in the article itself.
Hi Swagatam
Can I use a ferrite core transformer instead of iron core??
yes you can
Hello, I have 5v DC power and want to increase to 220v sine wave, the power is only 10w-20w, how can I edit the above circuit, or have any circuit that meets the above requirements, please. Thank you very much.
Simply replace the shown transformer with a 3-0-3V / 5 amp /220 V transformer
Thanks you. Can I use Transistor C1815 and IRF530N to replace Bc547 and IRF540 in battery powered circuits (3.8v-5v)?
I tried it with the 5v source, the transformer 6-0-6 / 220v, the noise appeared softly, increasing the power to 12v, the sound was even clearer, was this normal ?, or I had to change the Mosfet?\
Thanks you very much.
There will be a slight buzzing noise which is normal with all inverters. By the way 5V will not work with a 6V transformer, it must be a 3-0-3Vv transformer.
Sorry for bothering you so much, but I’m trying to learn from your circuit.
If I want to use the 6-0-6 / 220v transformer, is there any way to adjust the output voltage into a 220v sine wave with the above circuit and 5v DC input source? You can instruct me to adjust the output voltage arbitrarily with a transformer and arbitrary DC input source, thank you very much.
Sorry, it is not possible to get 220V from a 6V transformer and 5V supply and PWM switching. The transformer primary value should be equal to the average DC present at the Arduino output pins to be able to get 220V equivalent at the secondary
Thank you for patiently answering my questions, I would like to ask one more question of how to calculate the capacitor after the AC 220v power source (DC 5v, DC 7.4v ..). As in your circuit of DC12v source, transformer 9-0-9 it is 0.68uF.
Thanks you very much.
Thank you, sorry i don’t have the formula for calculating capacitor filter with AC frequency..in the video demo I have used 3uF/400V
Hello my friend thanks for the post. Here is my problem if you could help.
I have built a similar circuit now the problem is output voltage regulation, when I connect a load the voltage drops, so somehow the pwm duty must increase accordingly to maintain the desired voltage.
Hello Friend, sorry I can’t suggest the code because my Ardino programming knowledge is not good.
Hi,
In order to implement the full bridge inverter circuit using 4 N mosfets, could I use two voltages:
a) One voltage for the load eg. 24V
b) Another voltage 30V for the nand gate ?
thus avoiding the complications of the precharge circuit ?
Hi, the 30V must be across the gate/source of the high side MOSFETs, not across gate and ground…if you can implement this then it may work. By the way NAND gates would burn at 30 V
Hey Thanks for your Valuable information
I need help with Multiple SPWM generation using Arduino.
If you could help me with it?
Thanks Zain, sorry my knowledge of Arduino coding is not good so can’t help in this regard
Hi! Swagatam, hope your goodself is enjoying good health. First of all i would like to appreciate your work that i have gone through your website, its amazing.
Actually i am working on the voltage regulation and voltage control of Self-excited Induction Generator. First i am using AC/DC (rectifier) from output of generator then i want to supply this DC to the SPWM based inverter to get regulated AC voltage. So i wanted to ask that whether i can use your above explained circuit and its code or not because you are feeding the inverter by 12V battery while in my case its upto 220-480v DC. Kindly guide me on this i would be grateful.
Thanks.
Regards,
Zain Ul Abideen, Founder, ZUPGEN.
Thanks Zain, you will nee a full bridge design for your requirement. You can try the following circuit:

Join the HIN with LIN of the opposite ICs, and feed the Arduino SPWM to these HIN/LIN paired outputs.
thanks for all very good ideas
i will ask you ,can i drive relay of delay using arduino itself using some programming without any additional capacitors or transistors?
Thanks for your greate ideas ….
But i will ask if i can drive the relay of delay using same arduino ?
Sorry I have no idea about it!
Hi Swagatam,
I have tried to put some more MOSFETs together to sum up to about 1500W. Please could you help me verify the correctness of the parallel connection? Find a screenshot in the following link:
https://drive.google.com/file/d/1HY1qj8fi9PRGXQcikYCbFhNuPbHkxVFm/view?usp=sharing
Thanks a lot,
Jackson
Hi Jackson,
That looks OK to me, you can go ahead with it!
I connected the transistors and mosfets correctly as per the circuit provided.or maybe I should use all the three batteries to give 36v.then regulate it to 12v for driver circuit instead of using one battery out of the three to supply the components.then supply the original 36v to the trafo middle wire .can this idea help sir.i am now stuck abit.
Thank you sir for assistance.i am yet to assemble the entire circuit.i will TextBack to clarify the outcome of the circuit.i wanted to use it to simply power light bulbs and television at rural home.thanks.
No problem, wish you all the best!
Hello sir.i assembled the circuit but no success.there is a spark of shot when I connect the 36v from the +ve end of the third battery to the transformer middle wire.out of the three batteries I used one to supply the driver components.then I connected the other two batteries to give 36-38v .so I supply the trafo with the +ve end of the third battery.simply by attaching the +36v with it.but a huge spark is observed at the contact.please help.i used the second code in the article.
Hello Yususf, if you connect everything at a time and check, then you are bound to have problems. The correct way is to check any circuit step wise.
In this case first you must begin by checking the Arduino output waveform, and frequency, and confirm it. Then connect the BC547 stages and check the waveform and frequency across the collectors. Then connect the MOSFET and the transformer, and switch ON the Arduino first, and then after a 10/20 seconds switch ON the battery on the transformer center tap through a fuse.
In this way you won’t burn anything and get successful results, and also will know how things are proceeding across all the stages.
Thank you sir.i hope a 3-5A fuse will be fine .for the waveform across the collectors of BC547.is there any other method to verify a waveform other than an oscillocope.i will check the voltage across the collector and emitter of each BC547 to ascertain proper switching.then will see the results.for the frequency,I lack a frequency meter but I think the code surely is a 50hz through the two pins.i used the second code with arrays ,hope it’s ok for the same purpose.
Yusuf, without an oscilloscope and frequency meter it would a trial and error method. so a small scope is the recommended option if you do not wish to lose more devices. You can cheaply purchase a DS0138 Dso138 2.4″ Handheld Pocket-Size Digital Oscilloscope for just $25 online for the testing
Hello sir.i connected the BJTs all two pairs without mosfets and measured at collectors.still one channel reads 9.5v and 9.5v while other only 0.75v amd 2.45v.i wonder what problem.i will try to check and tell you again.
Hello Yusuf, the BJT first stage will invert the Arduino PWM ON time and therefore will show 30% duty cycle…the second stage will invert the first BJT stage 30 % PWM back to 70% replicating the Arduino output, which will be used for switching the MOSFETs.
Hello sir.i disconnected the mosfets from the BJTs and measured the transistors after switching the arduino.i first put meter at DCV and obtained 0.55 and 9.75 for one channel.then the other channel read only 0.03 and 1.55.very low indeed.i then put meter at ACV and first channel read 0.5v and 20.4v.the other channel only read 0.00 and 2.5v.i thought problem was code so itried to interchange the pins 9 and 10 but still the problem remained for the same second channel.so is it the transistors with problem or what.the first channel seems to be ok.(0.55v and 20.4v at ACV.)(0.5v and9.75v at DCV).
Hello Yusuf, as per my reading the DC level which is average DC of the PWM will be 70% of the supply level. For Arduino output this should be around 3.2V for 5V supply, 8.4V for 12V supply, and for 36V this could be around 25.2V DC
Ok sir.so I got 9.70v across collector but I supplied the driver with 13 v.is this approximate.then should the value be the same for all BJTs or can vary from first pair to second pair.here am confused.but the other Chanel still has problems as I said.produces low values .only 1.45v reading instead of 9.7v. then you said 36v supply should produce average of 25.2 v according to the code.but you said earlier that maximum supply for BJTs is 12v DC.did you mean 36v of transformer centre tap.please clarify this point sir.
Yusuf, if you can get 3.2V at the Arduino output, the other values across 12V and 36 V will automatically adjust to the appropriate MS values
Sorry sir.i did not understand.you mean I should get around 25.2v across the collectors of BJTs or what did you mean.excuse me sir.but I supplied the BJTs with around 13v from battery.please clarify.
I guess you meant 36vdc supply should read around 25.2v at the mosfets stage.across drain and source.for(24v 0 24v trafo)
Yes that’s right, I was actually pointing out the duty cycles relevant to the various voltage levels used in your design.
Morning sir.so how do I measure the 3.2v from Arduino output.however one channel produces low values while the other seems ok.my connection is pretty perfect.one channel reads 7.1v and 9.65v at collectors.the other only 0.5v and 1.55v.anyway guide me on how to measure the 3.2v.from which points.i saw in comments you used 1N 4148 diodes across output and you got 3.2v.please assist.
Hi Yusuf, you simply have to connect the positive prod of the DC voltmeter with the Arduino output, and the black prod with the ground terminal or the negative terminal of the Arduino.
Please delete the code and upload it afresh and then check the response again
Yusuf, if you separately measure the Arduino outputs it will show the RMS for the half cycles, so this average should be around 1.75V
I apploaded the second code again .I connected both output pins one at a time as you said and both read 2.38v .I used a multimeter.the code is the same without alteration.
The total delay of the code is 14 millisecond, or 7 millisecond per half cycle. One full code cycle is supposed to be at the rate of 50 Hz, or 20 millisecond. So 14ms is 70% of 20ms, or 7ms is 70% of 10ms (half cycle half code).
Since Arduino works with 5V, 70% of 5V is 3.5V for full code.
PLease measure by connecting 1N4148 diodes from the two outputs and join their cathodes together and then check the output from cathode to ground
Ok.you mean I should connect anode of diodes to the outputs and join the cathode of diodes together.then measure cathode intersection point with respect to ground.hope it’s that way.
yes that’s correct!
Ok sir.i connected diode cathode end with respect to ground and read 3.25v with multimeter.hope it’s fine.hope I can connect the BJTs now to next step.
I got 3.25v with the diode connection.i will integrate the other circuit(BJTs one pair at a time and measure the value.hope it should be around 8.5-9v at collector and emitter.thank you
OK great!
Hello sir.problem comes when I connect the second pair of BJTs.with one pair both BJTs read same reasonable value.after second pair one channel has low values.voltage at Arduino output is same for both pins(3.25v)
Both the channel codes are identical so the PWM timing should be also identical, I think an oscilloscope will solve the problem quickly
Hello sir .the circuit now works very fine I tested with18w bulb and it glew bright.problem is I only used one pair of BJTs .so is there a problem for that.for the spark it is no longer.i used a 1000mf 25v cap to stabilize the battery power.i will measure output voltage and let you know.my question is can it survive with one BJT stage..
Yusuf, you must connect exactly as shown in the second diagram along with the delay generator. If you use only the first BJT stage, it will produce 30% power at the transformer output, meaning your voltage will not be 220V, it will be 90V
Thanks sir.i will check on that and try to rectify by adding the second buffer stage.is it a must for the feedback circuit.moreover,what about the battery charging circuit you recommended,I hope it works accurate with no problem.i am yet to assemble the battery charger meanwhile.
Hi Yusuf, the problem has occurred because you couldn’t implement it correctly, and you are doing it without proper tools and understanding. All my circuits will work perfectly without problems provided you do them with proper understanding and knowledge…you may find the battery charger also very difficult to build if you do it without understanding the details…so please make sure you learn and understand the stages and the concepts perfectly before trying them because all circuits will require some serious adjustments and tweaking for getting the desired results.
Hello sir.hope u fine.i have faced a problem concerning the voltage level across the BJTs.the voltage drops to 3.5 volts and realized that batteries are low.once I contact the +36 volts to the transformer center.the bulb glows quite bright then becomes dim immediately.i did not use a fuse but I did not expect that to be the reason of that.please help.i am yet to recharge the batteries are try it again.
Bulb getting dim immediately indicates low battery or wrongly matched battery and load, also you have not mentioned the battery Ah, and load’s V, I specs..use an oscilloscope to confirm the response accurately.
Hello sir.the problem of dimming was probably due to low battery since the bulb now works fine after charging them.challenge is that my output is high becoz I am now using a 6v 0 6v trafo.around 40A from UPS.my battery are two in parallel so 7+7=14Ah 12v supply to transformer.my output is 261v but batteries are full 13v.please give some solution for that.
Hello Yusuf, you an reduce the microseconds values slightly to reduce the output voltage proportionately…you can experiment this with some trial and error
Hello sir.i tested the code even before doing the reduction of on time proportionally as you said.i mean I tested the circuit again and the bulb flickered brightly.i think the wave was just noise that made bulb to flicker throught.please help.i will test with high voltage capacitor at the output to filter the noise.
Hello Yusuf, as you can see in the video, the working is perfect, no flickering of light and the waveform is pure sine…so please check your design correctly with an oscilloscope.
Hello sir.i am stuck with a very confusing problem that I once encountered earlier.when I attach my +ve 12v to the trafo center tap there is a spark.i tried to double-check my circuit which was working at first.but still the spark is there.this happens even before I power the arduino.spark is there when i contact the center tap.so it’s like the Arduino is fine but problem is on the power or drive stage.please any help sir.my mosfets is IRF3205.my trafo is 8v 0 8v.
Hello Yusuf, it means your MOSFETs are shorted and damaged. You are saying the Arduino output is fine, how did you confirm this?
Hello sir.about the Arduino output,I checked the rms voltage at the BJTs and they both read same value(8.5v).which I hop is fine.problem comes when I connect the mosfets to ground and to the gates input.if I release the ground terminal of mosfets,no spark but if I place the ground terminal,spark is just observed.once again,this happen even b4 powering the circuit.i will try to purchase suitable mosfets.that can handle higher voltage and also place some caps to reduce voltage spikes.then give feedback.thanks
Hello Yusuf, the Arduino output must be confirmed with an oscilloscope, anyway in your case the problem is definitely a shorted MOSFETs, you can change them and see the response.
Hello sir.i looked some spare of mosfets that i had and tried the circuit and observed some little sparking still.however after powering Arduino and closing the circuit the spark is very small and bulb lights normal brightness.the transformer is also buzzing throught with noise.in summary the bulb lights good but there is still some sparking observed.any help is appreciated sir.
Yusuf, connect an ammeter in series with the battery positive. If the meter reading matches the approximate load current, then your inverter may be working fine, otherwise it may still have problems.
Ok sir.so I connect +ve of meter to -ve of battery and -ve of meter to +ve of battery.then I should measure the current while the circuit is in operation with load and match.according to that ,it means that if there is no load connected the meter should also read zero or very low current in mA when circuit is operating with no load at output.
Ammeter should be in series with the positive line of the battery. Meter positive will connect with battery positive, meter negative will connect with inverter positive.
Hello sir.i was looking to charge my inverter batteries with 50w solar panel I have.i would like to know if it is practical to use the inverter while batteries are in charging mode.i mean using batteries while they are charging through solar.thanks
Yusuf, if the charging rate of your panel is more than the discharge rate by the inverter then you can use it for charging the battery and operating the inverter both simultaneously
Hello sir.i wanted to know if I can charge my batteries using a transformer connected at output of inverter.i have not tried that but it seems impossible for me.please assist if a 12v or 15v trafo at output can also charge batteries simultaneously.
Yusuf, if you are referring to the inverter battery charging by the same inverter output so that the inverter keeps working forever, then that’s impossible.
Hello sir.sorry for any inconvenience.suppose I power Arduino using power bank.as usual the circuit will start working.the Arduino output pins deliver 5v 50mA.i ask if connecting a BJT transistor amplifier and coupling a mosfet with around 5A rating will amplify the current from 5v output to around 2A.then connect this with a DC booster module to give around 14.5v 3A.and work as charger.if it can please assist some approach for that.thanks.
No that will not happen, transistors work like switches only they cannot generate current by themselves.
Hello sir.the issue of sparking of the circuit is persisting and seems to be a tricky challenge to me.the spark is very serious when batteries are fully charged and it can’t stay even a second becomes hot.fuses get blown when I try to place.i wrote another program of square wave by switching high and low just for testing the BJTs and they both produced 11.7v which looks fine(one pair).but still the spark is there.at first I used the same square wave and it worked very fine.now the bulb lights with spark then becomes dim at that moment.i am getting confused here.perhaps I should use IRF540n mosfet instead of IRF3205.please help.
Hi Yusuf, I have already given you the solution in the previous comments. Your inverter MOSFETs are burned. If you don’t change them, your transformer and the battery also will get permanently damaged. You can any, IRF340 or IRF3205 both will work
Lastly.there is observation that I like you clarify it for me.i used a normal led and connected +ve of led to battery +ve and -ve to mosfet drain and it lit bright.then I grounded the mosfet gates and led lit but very dim and not clearly.if I release the gates from ground.the led lits very bright again.any clarification from this.
The best way to check is remove MOSFETs from the transformer and then connect the battery to transformer, if there’s no spark or heavy drain then the MOSFETs are faulty otherwise the transformer can be faulty.
Hello sir.is it possible to use both irf540 and irf3205 combined .I want to add two in parallel but I have extra 3205 with me.then another querry is suppose my solar panel is 50w,it means I can connect a 40w load at inverter and run it continuously throughout using the panel.thanks
Hello yususf, yes you connect the mentioned MOSFETs in parallel. If the output from the panel is consistently 50 watts then you can connect 40 watt load with it
Hello sir.can I charge my lead acid battery using solar panel.then if possible ,i wanted to Know the size of panel required to charge a 75ah battery lead acid.my value was 0.2x75x12v=180w/200w panel.is this correct sir.
Hello Yusuf, you can calculate the parameters using the steps explained in the following article:
https://www.homemade-circuits.com/how-to-calculate-and-match-solar-panel/
Hi, tank you sir for this very educative work! I am about to build this inverter and have the following questions:
1 – in the IRF540 datasheet, i saw that the Gate-Source threshold voltage 4V max. why then do we need level shift to 12V? I thought the IRF540 is one of those MOSFETs suitable to be used with Arduino or other microcontrollers without worrying about level shifts.
Thanks
Thanks Jackson, 4V is the threshold gate voltage. In simple terms it is the minimum level required to just turn ON the MOSFET. Therefore at least 9V should be considered to enable the MOSFET to work with proper efficiency.
For this reason I use IRL540’s instead of IRF540’s. IRL540’s have a 5v max drive voltage, perfectly matched to the Arduino.
That sounds great, thanks for the feedback!
Hi Swagatam,
Thanks a lot for the answer, it’s now understood.
Using a pair of IRF540 as in the diagram should result to about 250W with a 12 volt battery(considering efficiency losses are out), correct?
What kind of transformer is the best recommended to be use here?, what should be the power rating?
About the automatic voltage regulator, does it also regulate in case of reduced voltage due to high loads?.
Thanks in advance.
Jackson
Thanks Jackson, Yes that’s correct.
The transformer wattage must be slightly higher than the desired full wattage output from the inverter.
The automatic voltage correction will not increase the voltage drop due to overload, it will stabilize the output only as long as the output load is within the range and the battery voltage is not below the minimum lower value (11V for 12V battery)
Hello Sir,
Thanks a lot for the response. I’ll keep you regarding the progress of my work!
Regards
Wish you all the best Jackson
Hello sir.can PNP transistors be used in replace of NPN transistor.i have BC557 transistors with me .
Hi Yusuf, PNP will work if the MOSfets are also P channel, otherwise not.
Hello sir.you said the Arduino average voltage x/5v should correspond 24/36v of trafo/battery.so from which points will I measure the voltage(around 3.2v) roughly from output of arduino.then what about voltage btwn the collectors and emitter of each transistor.what should I get roughly.please help sir.
Hello Yusuf, if you adjust the Arduino output, the transistor and the transformer will also get adjusted to the same RMS automatically
Hello sir.so I obtained these values.(first channel at pin 9 transistors,,,at DCV I got 0.55v and 9.71v .at ACV I got 0.5vac and 20.5vac .then second channel pin 10,,,at DCV I got 0.04v and 1.45v.at ACV I got 0.00vac and 2.5vac .so how can I proceed sir .any assistance sir.even if I interchange the channel pins,the problem is still in the same transistors.its like code has no problem.but one channel has very low values.thank.
Helpful
hi sir, do you have the program code for the first circuit ?
My transformer has two wire in the primary coil and two wire in the secondary coil. Can i use this kind of transformer for making inverter? Thank you.
You can try the first circuit from this article:
https://www.homemade-circuits.com/5kva-transformerless-inverter-circuit/
Connect the MOSFeT top line with the IC positive…and connect the transformer 12V side with “AC OUT” points.
Thank you for this comment. I will try this out.
sir,
have you tried the feedback circuit? does the automatic voltage correction works ? I am making this project ..need this information badly
Salman, I have not tested the feedback circuit, but I am sure it will work without any doubts.
Hello Swagatam, I wish to integrate some other functions to the arduino, like attaching an LCD and automatic battery charging. Do you think this will affect the PWM output?
Hello Ubaka, the output will remain unaffected as long as the inverter program code is not changed.
Ok, from your program, the pins used are 9 and 10 the software is correct. Now lets attach LCD for charger, temp and power consumption. how will this affect the Output
I have made this inverter and it seems to be working fine. But when I connect a led blub to it, the bulb flickers. Any suggestion will be appreciated.
Thanks for your time
Please try a philips LED bulb and see the response. I did not try it in this circuit but I tried it in another circuit shown below where the bulb illuminated without any problems. This circuit output is crude compared to the above Arduino circuit:
https://www.homemade-circuits.com/1500-watt-pwm-sinewave-inverter-circuit/
I appreciate your time, I forgot to mention. I am using an UPS transformer, I have not connected the capacitor at the output (waiting for delivery). The bulbs are of Havel, Philips and EverReady etc, this only happens with 18 watts bulb or higher, lower wattage works fine. My whole purpose to make this inverter is to run my 3D printer with it (way too many power cuts in my area). I tired checking the output voltage with a multi-meter (cheap multi-meter) and it blew my meter, but the bulb were still glowing.
If you need any help with 3D printing you can let me know, my email id is rahul.das2904@gmail.com
Can you tell me the voltage and current specifications of the transformer? If only higher watt LED bulbs are flickering it could be due to lack of power or current from the transformer!
I have changed the transformer and it fixed the issue, now I am using 12-0-12 5 Amp transformer. Bulbs are doing good, but when I checked a table fan, it barely moves. Could you please tell me how many watts does it produce.
Appreciate the time.
To get a correct 240V output, a 9-0-9V transformer recommended. With 12V transformer the wattage will be less than 60 watts and the voltage may be less than 220V. Check the output voltage, if it’s dropping when the fan is connected then you may need a 10 amp transformer, or may be the present transformer is not a genuine 5 amps
Hello sir,
Nice to talk you again. Yah i tested with 12-0-12 transformer and it gives around 175v to 180v which is not so good for many home appliances.
Problem is that 9-0-9v transformer is only available in 100 watts in our market. And i need to build a 1kva rated inverter.
Now my question is can i use 6v-0-6v transformer (available in any wattage) in replacement of 9-0-9v ? Is the output voltage goes over 240v ? Please explain pros and cons.
It’s urgent please reply asap.
Hello Sourav,
You can use 6-0-6v transformer, but you will have to adjust the off time in the code so that the average or the duty cycle for the transformer primary becomes around 7V.
Or you can simply increase the dead-time between the two channels.
Increase the microsecond value at the second last line of the first channel code, and also for the second channel code.
Increase it from 500 to 1500 or randomly to any value until the voltage at the collector of the transistor show 7V
Hello sir,
Ok i understood. Then the test points will from the first pairs and 2nd pairs of BC547 collectors individually to the negative terminal. Is that right or i made some mistakes ? Total 4 test points to check the voltage of 7v.
If i use 6-0-6 transformer will it take any effect in the high voltage output side ? Means the voltage goes over 240v. Is this will happen ?
Thank you.
Hi saurav,
You can check across any BC547 transistor for both the channels. Connect the positive probe of meter with collector, and negative probe at the emitter.
If 7V average is maintained for a 13V battery then the output will be always below 240V so it will always safe.
Hello sir,
I understood. Now there are 4 test points to check the voltage of 7v at the 4 nos of BC547 collectors respectively one by one. Am i right ? Please explain.
Thank you.
Hi Saurav, Yes, they must all show approximately 7V. Make sure the collector 10K are connected with 12V
Good afternoon sir,
Thank you so much. I will notify you when i have built this circuit. Yesterday ordered 12-6-0-6-12v 5Amps transformer. 6-0-6v will in use.
Thanks you.
OK great, thanks!
Hi sir,
First of all wish you a very happy Diwali , god bless you !
So, just a minutes ago i have done this circuit. But still some problems i faced with it.
You told me to check the collector voltages at rated with 7v but i got 0.73v. Yes exactly this. Also you told me to rewrite the code to replace the microsecond value from 500 to 1500 at any random point so i chosse 800 and 1200 in a separate time individually. Output voltage from transformer is like in a fraction of second very high(340v) then low (10v) and then 0v , 5v, 15v, 0v respectively showing.
Just remembering that i am using 6-0-6v / 5Amps transformer and 7.5AH battery.
Thank you Saurav, regarding the code modification I suggested to change the second last line of the two channels of the code.
Check the collector with a DC voltmeter it should show the average value of the pwm ON time.
Do not connect the transformer while checking the voltage.
Thanks for your time sir, I will check. I am not able to get a 9v transformer online. I have a few transformers with me, I will check with those and let you know. Thanks again for your time.
No Problem Rahul, wish you all the best!
Good day sir, how do I implement high voltage and low voltage batery cut off as well as charging unit. Thanks.
Good day Leeman, You can use the following circuits for charging the battery
https://www.homemade-circuits.com/opamp-low-high-battery-charger/
Hi sir,
I’m desiging an UPS and we have a DC boost converter (15A, max 37V output), 12V 12A battery, 15-0-15V transformer and lots of IRF3710 mosfets with BC547s for the inverter.
I want to use your inverter design but I have some questions;
Can we use IRF3710 instead of IRF540?
What should be the input voltage of inverter for using 15 0 15V transformer for the 230V output?
I didn’t design boost converter myself, bought as module. Realized that it has constant current output. Will it be a problem?
Hi Atakan,
What is the purpose of the boost converter in your application?
You can use the mentioned MOSFET instead of IRf540
For 15-0-15V the RMS from the Arduino stage should be also 15V. Therefore you may have to use a 20V DC input supply voltage and adjust the Arduino L/H PWM output microseconds to get around 15V RMS.
Hi Mr. Swagatam,
Thank you for your reply.
I’m planning to use the DC-DC boost converter to get 20V DC input from battery, because my battery is 12V.
Is there any other way to get 20V output from a 12V battery instead of a boost converter?
Hi Atakan, I don’t think that would be too beneficial. That would reduce the efficiency cost wise and with the output power also. Instead you can use the 12V battery with a 9-0-9 transformer. In that case the Arduino circuit can be directly implemented without any modifications in the code.
Hi Swagatam, first of all I want to thank you for sharing this project with us. I need some help because I want to make a full-bridge inverter (H-bridge) to convert 12V DC to 6V AC. I will use arduino to control the MOSFET’s in order to obtain the AC signal but my question is how can I decrease the voltage from 12V to 6V and how to obtain a SIN PURE signal from the square wave which I will get as the result of H-bridge circuit ? Thanks in advance
Thanks Omer, do you want to have 12V as the peak and 6V as the RMS at the output? In that case you will have to dimension (by calculating the LOW/HIGH microseconds) the SPWMs such that it produces the mentioned voltage across the full bridge outputs with the desired RMS.
A full bridge version is discussed in this article, which could be modified as described above:
https://www.homemade-circuits.com/arduino-full-bridge-h-bridge-sinewave-inverter-circuit/
I examine the link above and it was really helpful, thank you. So in my case (12V DC as input and 6V AC as output) can I use the same components over there (I mean the MOSFETs types etc.) on condition to change the dimensions of SPWN only ? Is it possible to obtain the signal which is required by behaving as I mentioned above ?
Yes that’s right, but you will need a 12-0-12V / 6V transformer.
Hi Swagatam, I couldn’t find any resource related with calculating the dimension of SPWM produced by Arduino in order to have a 6V AC signal (using 4 n-channel MOSFET, H-bridge inverter), could you help me please? Another point I would like to make is that I supply my H-bridge inverter with 12V DC, I also used your arduino code to produce SPWM but I have a 0.5V Pure Sine Wave in the output (without using a transformer, I used a RC filter only). I think that obtained output is too low, isn’t it ? Do you have any advice ?
Hi Omer, please refer to the conversation between Mr. Serd and me below, you will be able to learn how to adjust the HIGH microsecond timing in the code to get 6V RMS or an average 6v at the output of an Hbridge.
I am not sure what an RC filter result maybe but If you measure the RMS at the collector of the BC547 with 12V as the input then it should show 8.4V.
Hello Swatagam,
How to make the switching frequency from the PWM to be 10 kHz?
Hello Nik, you will have to adjust the “microseconds” on each channel such that they add up to give 0.00005 seconds on each channel.
Hello Swagatam,
I realise that this is a lot to ask, but can you please help me troubleshoot my circuit?
What I’m basically trying to do is shown by this circuit below:
https://drive.google.com/open?id=1Gn6HU8BsW_9DnAlsc72Wo1VqynnC18rl
However, since I’m using my laptop to power up the arduino, few changes has been made to the circuit as below:
https://drive.google.com/open?id=14E2pTDyYGi4bvW-Y5h8MuSi4tathpzso
The signals measured are as below:
Arduino – https://drive.google.com/open?id=1sTQ4Jj0mZyl_bhtqHUtIiANN2sEJjHJK
Transistor – https://drive.google.com/open?id=1MHrwUHCjRse1RBysXNS1wbehh_f-jB04
MOSFET – https://drive.google.com/open?id=1ghb5ARqfiFTMA1cAA72aJjHrN48Uynng
Transformer – https://drive.google.com/open?id=1p4cRx6Ovbqk0dIgXArTDV8Yuwt28v6lm
The signals from the arduino and transistor seems to be right. The signal starts to be unreadable after the MOSFET. I’m not sure what is the problem as I have checked the circuit several times. Please do recommend any solution to make the circuit working. Thank you in advance
Hi Nick,
May I know why you used a single BJT buffer? It should two BJTs as indicated in the above article. For single BJT buffer you will have to invert the entire Arduino code, meaning swap all the LOW and HIGH with each other.
Hi Sawagatm, I have made this circuit on PCB it works 100% correctly. The output of the circuit is 230V and fixed 50 Hz and pure sine wave. Thanks for your sharing, now i want to change the frequency of the circuit from 25 to 75 Hz simply making a VFD. Can this code be modified by using the analog read pin of arduino and a variable. The circuit should be pure sinewave like this. I will be very thankful for your guidance.
Hi Muhammad, I am glad you could make it successfully, however I have no idea how to use the analogue read pin to get an adjustable frequency. I hope one of the visitors here would be able to throw some light on this and help you out with the details.
Thanks for your reply, please share this issue on your wall or mention that visitor. This idea will lead this circuit to a pure sine wave variable frequency drive.
sure, I will, however I think the best place would be to put this question in Arduino.cc forums, one of the experts there would be able to provide some hints….
Hi can you please give specification of the components I want to o this project please.
Hi, I’ll try to update it soon!!
good evening Sir, please I will need you to help with, a circuit diagram, function and working operation of a “WEBSERVER BASED INTERACTIVE PURE SINE WAVE INVERTER “
Hi Abraham, I don’t think I know about this inverter concept, so would be difficult for me to suggest much on this topic?
Hello Swagatam!
I like your idea, I will use it for my same project, which I started few years ago, but never finished it. I`m a little bit confused about choosing the perfect transformer ratio. I`m trying to calculate the RMS value of that signal that you posted. With voltage of 12V, I calculated two values: uRMS= 10,03Vrms and uRMS= 7,09Vrms.
>Data of signal: t1= 10ms, t2= 10ms, T= 20ms. The signal in ON for 7000us= 7ms and OFF for 3000us= 3ms on positive side of signal, the same data is for negative side of signal too.
>First of all duty cycle: D= t1/T= 10ms/20ms= 0,35= 35%
>Positive side of signal: Upeak1^2= Vp^2×t1/T= 12^2×0,01/0,02= 50,4 – the negative side of signal is the same as positive signal, so the value is also 50,4
>Finally uRMS value: 1. uRMS= sqrt(50,4+50,4)= 10,03Vrms
OR 2. uRMS= sqrt(50,4)= 7,09Vrms (I think that one is correct – choosing just one value, because signal is the same, at positive and negative side)
>Am I thinking right? Which one is correct? Thanks for your response.
Greetings to you. Engineer Serđ.
Thank you Serd,
I am glad you liked the idea. If you have carefully calculated them they should be right, due to lack of of time I won’t be able to confirm them at the moment. In my free time I may check them and let you know.
Thank you for you quick reply. Please check them for me and let me know, I think the correct value is 7,09Vrms. I`m very interested in that thing, it`s great project.
Greetings to you. Serđ.
Hi Serd,
according to me the total ON time of one PWM cycle is 14mS, so duty cycle should be 14/20 = 0.7 or 70%, and 70% of the 12V will be the RMS, that’s 8.4V
Let me know if I am right?
Hi Swagatam,
I see, that you calculated the whole period, so 20ms. Pulses are ON 7ms on positive side and 7ms on negative side, together 14ms.
>Then duty cycle is: D= t/T= 14/20= 0,7= 70%
>70% of 12V is RMS value: Vrms= 12V×0,7= 8,4V
>That seems to be ok. If I choose classic equation for sinusoidal waveform at home outlet it is: Vrms= Vp/sqrt(2)= 325V/sqrt(2)= 230V.
So in that case for inverter: Vrms= Vp/sqrt(2)= 12/sqrt(2)= 8,5V
I think that you are right. The best transformer ratio in that case would be 9-0-9V.
I used equations for different timing in positive and negative side of signal. That could be a problem…
There are big voltage differences too, about 17% – when the battery is empty, voltage is about 10,8V and when it`s full about 13V. If the battery charges there is around 14-15V with smart acu charger. There are also some voltage loses on MOSFETS. I still think that 9-0-9V transformer is the best choice in that case.
I didn`t make the circuit yet to measure that values, can you measure it to prove our theory of 8,5V RMS on primary of transformer?
Greetings, Serđ.
Hi Serd, you are right with your assessments.
I confirmed it through the Arduino output by connecting 1N4148 diodes across the two outputs and then connecting the common end of the diodes with the DC voltmeter, and it read 3.2V which is close to the actual average value 3.5V for 5V. Because 70% of 5V is 3.5V. The 0.3V drop is probably due to the diode fwd voltage drop.
Here’s the image: https://www.homemade-circuits.com/wp-content/uploads/2019/03/PWM-RMS.jpg
Yes the battery voltage may vary a lot, and that’s why I have added the opamp voltage regulator circuit. So at full charge you may except an over voltage of 280V which will be regulated at 220V by this circuit, until the battery actually drops to a 220V equivalent value
I checked all variants of sketches for that circuit and I think, that circuit using IC4093 driver and H-bridge is the best. I also looked for ICL7667 dual power MOSFET driver but it`s mean to run 2 N-channel MOSFETS directly, or if you replace P- channel with N-channel in circuit and connect two N- channels together to ICL7667 driver pin and vice versa. Let me know, if I`m right. In case of H-bridge you don`t need center tapped transformer. It`s really hard to get high power center tapped transformers (I looked for 9-0-9V 100W and above. I just found one 150W but it`s expensive as devil :D) and there is problem, that there are two coils which could not be the same (trasformer is in saturation). I`m little confused with 1 coil transformer for H-bridge. Our calculations were 8,4V rms, so in that case you could use 9V/230V – 1 coil transformer right?
Greetings, Serđ.
Yes that’s right, an H-bridge helps you to get rid of the inefficient center tap transformer. However for driving 4 n channel mosfets you will need a special driver IC, there are many excellent variants you can find online.
An example design can be seen in the second diagram below given article:
https://www.homemade-circuits.com/5kva-transformerless-inverter-circuit/
Hello Sir, Good Afternoon. I have some questions about the power rating of this circuit.
1. If i use 5x IRF3205 MOSFETs (approx 200W rated power each) in both sides parallel means total of 10 MOSFETs will in use then what will be the wattage of this circuit or inverter ? Can i use more MOSFETs to increase the wattage of this circuit?
2. With the above if i use 1000W 9-0-9 transformer then will this circuit work fine and what will the output wattage of the transformer?
3. It is the most important question to me. How can i calculate the wattage of any inverter circuit by adding or removing MOSFETs ?
Like if this circuit use 4 MOSFETs and the wattage will 400W then if i add 2 MOSFETs extra the changes of wattage is 600 means this circuit will handle extra 200W.
Hi Sourav, IRF3205 has a maximum tolerable wattage of 110 x 55 = 6050 watts, 200w is the maximum power it can handle without a heatsink. The MOSFET will handle 6kv as long as the case temperature of the device does not exceed 50 degrees Celsius.
You can multiply the ID with the VDDS to get the max wattage of any mosfet, provided it’s kept cool during the operation.
Hello Sir, thank you for giving your time. I understood. So the IRF3205 MOSFET can handle the maximum power of 200w.
My question was that in this about circuit there 2 MOSFETs are used. So if i use IRF3205 by replacing them what will the maximum power of this circuit?
Afterall how can someone calculate the maximum power of this circuit with the following 2 MOSFETs ?
If i add more MOSFETs in parallel will the power increase?
Please give a mathematical example so that i can understand.
Hi Sourav, 200 watt is without cooling, with cooling it is 6000 watts.
MOSFETs are only like switches, they do not decide the power output. The power is decided by the transformer and the battery.
If you parallel them you just have to add the power of the mosfets together to get the maximum tolerable capacity of the devices.
You can read this article for more info:
https://www.homemade-circuits.com/how-to-calculate-and-match-inverter/
Hello Sir, I understood all that you had told. I read the article it’s worthy to a designer who is newbie in this field.
But till now one question is hammering in my mind.
When using 1500W transformer could the two MOSFETs handle 1000W home appliances or i have to use more in parallel ? Please explain thoroughly the use of the more number of the MOSFETs.
Adding more MOSFETs does it increase the output wattage ?
Hello Sourav,
There’s no need to add more MOSFEts if a single pair can handle the full load. The only advantage of using MOSFeTs in parallel is low resistance for the current and therefore less heat on the MOSFET.
For example you can use a single pair of IRF3205 for 6000 watt load, but it will create lot of heat on the MOSFETs, however if you add many IRF540 in parallel that will be create less heat, but both options will work.
As already mentioned MOSFETs do not increase output power, they only work like switches just like our home ON/OFF buttons, which must be rated accordingly. In our homes we have bigger switches for appliances like fridge and geysers, and smaller switches for lights and fans.
For 1500watt transformer you must select 1500 watt MOSFETs to handle 1000 watt load, a single large pair will work or many smaller MOSFETs in parallel will also work
Also i forgot to ask that if my transformer is 1500W rated and i want to run a 1000w appliance are the two MOSFETs ok or if i have to add more then how many FETs i have to use in total?
This portion is annoying me what is the necessity of adding more number of MOSFETs ?
Hello Sir, Good Morning. Again many many thanks to you. You are awesome.
I can’t find this problem anywhere or any article. I didn’t understand how do people calculate those MOSFET’s number to use in inverters cause in many circuit diagram i saw 10 pairs used in parallel , somewhere in H-Bridge usually 2 pairs are used but there 4 pairs were used. So i asked near local markets the designers say “it improves performance …… It produces more power….. etc “. There was no perfect answer i received. Now i can tell people the actual reason of adding more MOSFETs.
I’m building this circuit when it will be done i will contact you through your mail id. Please help me out for further problems.
Have a good day sir.
Glad it helped Sourav,
Always check 3 things in MOSFET datasheet:
ID (current), VDDS (voltage), RDSon (resistance).
ID x VDDS = maximum watts mosfet can handle when mounted on proper heatsink.
Lower RDSon means lower heat. Parallel MOSFETs will mean reducing RDSon therefore lower heat and higher efficiency.
I want spwm inverter with bipolar using arduino code sir
Bipolar is not so familiar to me, however I think the above design could be transformed into bipolar through external NOT gates
Hi Swagatam,
From your previous answers, I understood that using a battery lower than 12V will not make the circuit work. Can you please explain why? Also, how to solve this problem if I’m using a 7V 5.4 A battery?
Hi Nik,
It will work at 7V also but not as efficiently as it would do at 12V. You can see the graph in the following image which shows the drain current response to gate voltage.
https://www.homemade-circuits.com/wp-content/uploads/2019/03/mosfet-gate-voltage-1.png
thanks a lot is just that i looking for
It’s my pleasure!!
Hello sir, is it possible to build this circuit without the use of a transformer? and if so, how? Thank you in advance
Sorry Nik, this circuit cannot be built without a transformer. For transformerless design you can probably try one of the concepts from this article:
https://www.homemade-circuits.com/5kva-transformerless-inverter-circuit/
Thank you for the quick reply!
Hello Sir, i have tried troubleshooting my design but one mosfet over heats. I would like to ask if i use 3 similar BJTs and one different can it have an effect on the output?
Hello Cracker, Please specify which BJTs have you used, I’ll let you know whether they are suitable or not.
You can try the mosfets with other form of inverters like with IC 4047 or with transistors, and check whether still the mosfets heat up or not. This will confirm if the problem is with the mosfet or something else. Alternatively you can change the particular mosfet to verify the same!
Am using three 2N 5551 and one BR N551
They look OK to me. If you want to avoid transistors you can use a single IC 4093 or IC 4049 and connect the mosfets directly with their output configurations.
Thank you sir, i have the following questions….
1. what is the maximum power in watts can i achieve using a 12v Battery?
2. Which transfomer setup is the best for this inverter, iron core or the ferrite core transformers
3. Is there a way to increase efficiency of this setup?
Hi Cracker,
1) The maximum power will depend on the Ah rating of the battery, multiply 50% of the Ah value with the battery voltage
2) If size is not a concern then an iron core concept is reasonably good and easy to set up, otherwise it’s ferrite core
3) maximum efficiency with a full bridge topology can be achieved only with a specialized driver IC such as this:
https://www.homemade-circuits.com/simplest-full-bridge-inverter-circuit/
Thank you sir for giving perfect info about this model.
1. In reference to https://www.homemade-circuits.com/simplest-full-bridge-inverter-circuit/ can we incorporate arduino for Pure sine wave? and if yes how do i do it?
2. Why are commercial UPS rated 650Va/325W yet they only have 4 Mosfets and a 12V/7Ah battery is it logical?
3. Personally i have a 12V/18Ah Battery and i was looking at generating atleast 500W from it with several mosfets in parallel.
Hi Cracker,
The Ah rating provides us the maximum breakdown tolerable discharge/charge rate of the battery. it depends how much you care about your battery. Operating the battery at the full Ah level will very soon kill the battery. The commercial UPSs probably shows the maximum power of the inverter but it may not be recommended to use 7Ah battery for getting the mentioned power output. The recommended charge/discharge rate for a lead acid battery is 1/10th of its Ah rating. The higher the rate the quicker the battery will deteriorate and vice versa.
Thank you sir for the detailed info you offered, after i am done designing how do i tell the exact wattage my circuit outputs?
– is it wrong to mix different Mosfets in parrallel
– the output at the mosfet drain is around 6V is there a way to raise it to 12V so that I can use a 12-0-12 transformer?
Thanks Cracker,
Your transformer wattage rating will be the maximum wattage capacity of your inverter. You will have to use a battery that will complement this wattage level.
It is OK to use different mosfets as long as their ratings and specifications are well within the required range.
The 6V is probably the average voltage due to its frequency. The peak should be 12V only. You can use an oscilloscope to confirm this.
Hello sir,
I started the project and now looking at upgrading it to a more powerful one. I have ordered 20 HY4008W MOSFETS hope they are good for a 1.5KW power inverter. My problem is the transformer, my current demo inputs between 5.5V & 6.0V to the transformer and am wondering which is the best transformer to use between 6V-0-6V & 9V-0-9V.
with arduino we can virtually incorporate any inverter features with a wide range of sensor available but my Question is What are the best features can i add
Hello Cracker, the best features of an inverter are probably a sinewave output and an over voltage control, both are presently included. Among other features can be to have an automatic overcharge/low battery cut off and overload shut down. However adding all the features from a single Arduino can be difficult?
Thanks Sir,
Since am good at arduino manipulation i will use two of them with serial communication.
Kindly advice on the transformer to use as i had requested previously. 6-0-6 or 9-0-9
You can use 9-0-9V transformer for the present code
hello guys noticed an issue I built the design but the MOSFETs are heating up even on no load I don’t know if any one has a solution to that
Hello, please allow the Arduino to boot first and then connect the transformer center tap with the battery. Please see the second last diagram for the warning message and please do accordingly.
Hello Swagatam,
I want to experiment with your design but I cand find 7404 in Farnell database.
Is it the same with SN7404N ?
Thanks!
Hi Adez, the CMOS stage is actually not needed, you can effectively use the second design with 4 BJTs and 2 mosfets.
But please take care of the booting issue in Arduino by including the delay timer stage in the mentioned design
Good day my precious Boss, kudos to you on the good work on electronics. I want to ask some questions related to the circuit you recommended sir.
1. I want to use 6 mosfets will i use six 1K or that two will take care of it.
2. i want to add LCD to it using thesame arduino, hope it wont affect the PWM signal. or i should use different arduino for that.
Apex, for increasing capacity you can increase the number of mosfets, no need of adding extra resistors, you can connect all the gates together and join them with the collector of the transistor.
You can use an LCD if you have the code, I am not sure how it would impact the inverter PWM, most probably it shouldn’t
Sir, I have simulated the Circuit in Proteus 8.1 got PWM output exactly as u shown in ur website,also tested the mosfets switching state by connecting the leds across two channels working fine. When i connected 12v bulb at the output it is not glowing constantly fraction of secs it is glowing high & again dim just like blinking,to fix that i also used 0.22uf capacitance at the transformer output. I m trying to build pure sine wave inverter 12v dc (from batteries )to 120vAc . Can u help me out to get pure sinewave ? Also can u tell me software for simulation other than proteus?
Hello Sandhya, which design did you build?
I recommend the second design, please build the second design exactly as shown and check the output.
And please make sure to use the first code presented in the following article.
https://www.homemade-circuits.com/arduino-spwm-generator-circuit/
Sorry, I do not use simulators so I cannot recommend any, I always make sure to build circuits practically and check the response in an oscilloscope.
Is there low battery cut and overload function? plz make me understand
Thanks dear
Mehedi, there’s no battery charging or cut off included in this design, you will have to add it separately.
i Think this is most easiest inverter to build. its possible to connect solar charger Battery terminal to this circuit to charge the battery?
Thanks Paaker, yes definitely you can integrate a solar charger with the battery…
can it be used for 60Hz 230V transformer? can it be used for high power applications?
yes it can be customized for any transformer, and any desired power output
Thank you for your topic
I would like to ask a question is it possible control the phase angle and the voltage amplitude from the code.
Phase angle can be precisely adjusted by suitably altering the pulse widths and the number of pulses in each block. However this will need to be also complimented by suitably adjusting the capacitor value at the output of the transformer.
hello sir, can 7404 be replaced with 7414?
Hello Aditya, yes that’s possible, 7414 is Schmidt NOT gate IC which will work better than 7404 in most cases
How to improve the rate of defect of automotive PCB
Hi sir.. can I know, how many watt of bulb you using?. Thank you
Hi Uthaya, it is a 10 watt bulb because the transformer is 1 amp rated. A 1 amp transformer with a 12V battery will produce 12 watts only, and with a PWM this may be reduced to 6 watts
Could you please tell me what code should i use? because i used both arduino codes on SPWM and didnt work as expected.
use the code which is shown in this page: https://www.homemade-circuits.com/arduino-spwm-generator-circuit/
I checked by compiling it just now and it gave me no errors.
hi sir,
i followed exact circuit below your video but still cant get 240V. im get 170v and not producing sinewave after transformer. i havent build the hardware, im doing in protues 8.1
simulation software.
Hi Uthaya,
I would recommend you to build the set up practically using a small 1 amp transformer, and a 12V 7 Ah battery, and then measure the waveform using an oscilloscope to confirm the actual results
now i can produce 220V but not sine wave.. any idea about sine wave?
attach a 0.22uF/400V or higher value capacitor at the transformer output
Hi Mr Swagatam
I have finally constructed the circuit and test it on various transformers , and under different load , eg , 675 Watt Drill together with some Let Light, The Circuit is working 100 % , and I thank you a lot for that , I have designed a an Eagle PCB Layout for it , and also made few changes as integrating a Solar Charger to it , Will mail the Layout for others to try out ,Thanks a million, keep up with this good work
That’s wonderful vhafuwi, I am glad it is serving your purpose.
However there are a few modifications that needs to be done in the circuit, you will be able find the updated designs soon which might help you and other viewers to further improve the outcome of the inverter
What is the specification of the transformer?
I am using 6-0-6/230V , 50Hz transformer.
But we are generating higher frequency SPWM which cant be fed to 50 Hz transformer.
So what should be the rating of the transformer?
And where to connect filter (at the primary / secondary side)?
Thanks
transformer rating is OK, just make sure the transistors are oscillating and delivering the current to the transformer winding. You can initially replace the transformer winding with 6V bulbs, and check whether they are illuminating dimly or not? If not then the transistors may not be conducting due to some issue
Thanks a lot for the circuit.
I am getting SPWM signals at the two MOSFETS.
But when I connect 12-0-12 / 230 V transformer to it, I am not getting 230V ac sine wave , instead I am getting very distorted sine wave in mV.
I want a low power(i.e very low current) and a pure 230 V AC sine wave output.
Do I have to connect resistor between MOSFET and transformer?
Is there anything which I made wrong on the circuit?
Thanks
The functioning is very straightforward and it should start working immediately, actually for low current application, mosfets are not required.
You can make the first circuit, and replace the mosfets with TIP122 transistors, and connect then directly wit the transformer, it should immediately start working with an output of around 250V
What is the filter circuit to be used at the output of the transformer for pure AC sine wave?
My application is for low current and 230V
you may have to use capacitor an LC type filter to produce a pure sinewave, as shown in the following example article
https://www.homemade-circuits.com/modified-sine-wave-inverter-circuit-2/
Where to connect the GND of arduino in the circuit ? And do we have to connect any load to test the citcuit? (Like LED etc)
I rigged up the circuit and changed HIGH to LOW in SPWM code , but I’m not getting output.
Once I got a sine wave but RMS voltage is in millivolts.
I used 12 0 12 to 230V transformer.
I gave 9v to arduino from different source (not from 12V battery)
Thanks
Ground is already connected via the 7812 IC to the battery negative, if you are using an external source for Arduino make sure to connect the negative with the inverter battery negative otherwise you will get no output.
by the way a 9V battery will not work, you must use at least a 12V 7 Ah battery and a 6-0-6V or 9-0-9V 2 amp transformer.
Thanks a lot for the answer sir.
I am using Regulated DC power supply instead of a 12 V lead acid battery.
Why we have to use 6-0-6 or 9-0-9 , 2A transformer instead of 12-0-12 transformer ?
I don’t need very less current at the output , but I need a pure 230V sine wave control signal.
And is it the positive terminal which should be connected to the center tap of the transformer?
Please suggest me if have to add anything to the circuit .
Thank you so much
You are welcome.
You don’t have to connect anything else in the circuit, just make sure the negative of the external supply to the arduino is connected with the battery negative.
The center tap of the trafo will go to the battery positive
the output will be SPWM which will need some filtration to look like a pure sine.
Hello Swagatam , I have replicated the design and it is working very nice, Just a small question , what changes do i have to make to use PC817 Optocoupler to isolate the circuit
vhafuwi, you can use the first example from this article
https://www.homemade-circuits.com/how-to-drive-relay-through-opto-coupler/
but instead of BC557 use another BC547 here, emitter will go to ground and collector to positive via a K resistor….the mosfet gate then can be connected with the collector of this BC547.
Hi
Thanks again for such a wonderful circuit , what is the best way to test if gates are switching properly without oscilloscope
Regards
glad you liked it….connect LEDs across the two channels with respect to ground and with 1K resistors with individual LEDs, increase the delay at seconds in Arduino code
Thanks for the prompt response, just a bit of clarity, I must connect LED accros the two channel , eg The Cathode of the LED go to the ground , 1k resistor to channel and the to Anode ,
From Channell I Connect 1k Resistor then connect it to LED Anode then connect LED Cathode to the Ground , Am I right
you are right!, the 1K can be on the cathode or anode side, it won’t matter.
Thanks sir, your work is amazing here, I will be expecting sir.
you are welcome!
HI I wanna build an inverter of 1.5kva using arduino programming of atmeg328, so what I really need from you now is full function programming code of this ic which include all necessary activity of inverter function, that’s all I need from you sir. Here is my email olayinka06@live.com
I’ll try to update the info when I have time…
Dear Swagatam
can the breadboard version ( https://homemade-circuits.com/make-arduino-breadboard/ )be used to generate the pulse to drive the BJT and MOSFET after the code has been correctly uploaded
Yes surely it can be done, it can be used just as like any other normal Arduino board
Thanks, I appreciate you.
I will keep you updated when I start, my challenge is getting an oscilloscope to monitor waveforms.
Thanks Swixx, for the scope you can try the following concept
https://homemade-circuits.com/single-channel-oscilloscope-using/
thanks once again
you are really great
you are most welcome!
Hi Swag! Did you tested this circuit with inductive loads? I want to use it on a grundfos water pump.
Thank you for sharing this project!
Hi elektroman, I did not test it but it was verified by others readers, moreover the concept is a standard concept which is implemented in all conventional inverters
the given circuit is not correct i have made it in proteus but it does not give the proper result.
forget proteus, build it practically and you will find it works flawlessly…all sinewave inverters circuits work with the same principle…
Or if you know a valid reason why it won’t work, you may point it out…. otherwise your statement does not make sense…
good day sir
can the Bjt be used to drive multipe mosfets in parrallel, or is it better to drive more BJTs first before the mosfets
Hi swixx, yes that’s possible, you can add more mosfets in parallel with a single BJT, more BJTs won’t be required…
ok thanks for the speedy reply
is there possibility of one of the mosfet drawing more current due to disparity in same manufacture-model, leading to thermal runaway and gradually affecting other mosfets, if this is possible how can it be prevented.
i want to use build a 1kva inverter but with pulse width from an arduino, purposely for powering a fridge which run power is 70watts but starting watt unknown.
my fear is if there will be current loss if not running at full amperage
mosfets are actually less vulnerable to thermal runaway than BJTs due to their positive temperature coefficient property, still to be on the safer side you can use common heatsinks for the mosfets on each channel, this will ensure equal heat distribution among the mosfets and therefore more efficient conduction.
https://homemade-circuits.com/transistor-facts/
Good day, I trust you are doing great.
will it be a good idea, to use voltage doubler circuits to incrementally get to 48 volts then use a 48/240 volts step up transformer.(what value mosfets do you advice on)
This is to reduce current going through the primary winding of the transformer.
my challenge being, getting a voltage doubler that can handler a 1000 watts. ,as well as getting a centre tap 48 volts transformer.
finally do you think using this method we can increase to 120 volts , before using a 2:1 ratio transformer to step up as this transformers are generally more reliable
using a boost converter will cause unnecessary wastage of power and increase inefficiency of the system, so I won’t recommend that, instead it would be a good idea to use batteries in series to get the required a 48V input.
In case you totally want to avoid the center tap trafo, that may be possible using a ferrite trafo based inverter, first boost the battery voltage to the required mains level, turn it to DC and then again switch it back to a low frequency mains AC
the university professor ask for simulation. then suggest me on what software it should be implemented?
thanks for reply
I highly recomend use opto couplers to isolate arduino from high power.
Regards.
thanks, yes since Arduino is a fairly expensive unit it must be safeguarded by all means
how do you implement the optocoupler into the circuit.
thanks
Sir
Ineed a ckt for half bridge ivertor to convert 300v dc to 150v ac. So ineed to handlel high voltage on input side. I cant find any stepdown invertor ckt for handle 300v dc in input side in online. So pls suggest a ckt
Naseef,
you can try the following IC
https://homemade-circuits.com/half-bridge-mosfet-driver-ic-irs21531d/
I have designed the circuit stated as above.But when i connect 5 watt CFL load voltage drops down to 170 volts and CFL doesnot glows.And when i connect 9 watt LED, it starts blinking.No load voltage was 250 volts.how to keep voltage constant.please help.
what is the rating of the transformer and battery that you have used??
What the watt can I load on this circuit?
And how can I calculate the watt of my laptop charger it’s input 100-240v 1.6a and output 19.5v 3.33a
inverter power will depend on the battery ah and the trafo ampere rating….multiply 19 with 3 to get the charger’s max wattage spec
Sir how can i make inverter using bipolar technique
by bipolar do you mean using bipolar transistors?
I mean by using Bipolar PWM technique
why do you intend to have a bipolar pwm instead of a unipolar inverter?
Give me circuit of grid tie inverter using aurdino with complete details and code plz for 100 watt
presently I do not have an Arduino GTI circuit, if i find one will try to update it…
Inverter with pwm bipolar technique
Why we give 12v dc to transformer??
so that the 12V can pass and oscilate through the trafo winding and switch ON the induction process
Actually i did simulation with bipolar pwm technique which is east that’s why i ask about it
If you can tell me your exact requirement, I will guide you to the perfect design from this website
How can i synchronize two dc voltages? Plz give me details!!
Please give me the circuit diagram of 100watt inverter and complete details of components used in circuit .
Secondly guide me how can i tie that inverter with grid
You can build the design which is explained above, this will easily give you a 100 watt output provided your trafo and the battery are rated at minimum 100 watt and 10 Ah respectively
Where’s uni polar circuit diagram sir
I wanted to know why you preferred bipolar pwm instead of unipolar pwm, please clarify so that I can know the objective of your requirement.
Why we give 12v dc to transformer??
Kindly tell me exact value of transformer and battery to get 100watt.
I’m doing synchronization of inverter with grid please guide me how can i do it…
Give me complete details please sir
synchronizing a GTI is not so easy, without knowing all the details it won’t make sense to try such a difficult project.
you can refer to the following post for gaining some relevant knowledge and then probably try the concept:
https://homemade-circuits.com/homemade-100va-to-1000va-grid-tie/
Hi swagatam, please can i use an attiny45 or any other arduino and if yes must it be a pwm pin or any other pin?
Thank for your time.
Hi Miebaka, you can use any Arduino as long as it accepts and generates the indicated PWM and waveform…PWM pins are not required because here basically we are using the Arduino as an oscillator.
Sir
I nees 150v dc to 110v ac output invertor . No need to step down . So can i use the above ckt as iam mention after any change inthe ckt . If its not possible Pls reccoment any other idea
Thanks
Naseef, you will need a full bridge concept for achieving your requirement as shown below:
https://homemade-circuits.com/?s=full+bridge
or a half bridge network can be also tried, but the output will be 50% less than the input
https://homemade-circuits.com/2015/03/220v-dc-inverter-ups-circuit.html
Thanks a lot sir for your valuable rply.
Sir need to ask u one more question that is , to adjust the spwm signal from Arduino can I use low pass filter just after pin 8 and pin 9 of Arduino from where we r getting output spwm signals .
And I have chose 4.7 uf capacitor value with 1k potentiometer to adjust the frequency , is this right value
Manish, what is the purpose of this low pass filter? and what frequency are you trying to adjust, the Arduino frequency can be adjusted by altering the delays within the code, nothing can be done through external means.
Sir could u please tell the rating of Transformer and amperage that u mentioned in latest diagram ..
Manish, With a 12V battery, the transformer voltage rating can be anywhere from 6-0-6V to 9-0-9V, the PWM from the Arduino will need to be adjusted accordingly depending on this voltage rating of the transformer.
the transformer current specification will depend on the output wattage requirement, same for the batt AH rating.
This indeed is another nice project since am familiar with Arduino I think doing this will really go in my favour, thanks a lot Swagatam Innovation. But before I try this project, I have two question.
1. Will this inverter be able to power a fan without issues?
2. Is there any kind of analog MOSFET that can create pulse instead of just turning on and off?
Cos this can help create a better PWM without harmonics.
Thank again for you contribution to science.
Thanks Miebaka,
According to me if a proper filter is added which can be simply a high value capacitor at the output of the inverter, then inductive loads can be expected to work without noise.
You can achieve a harmonic less pure sine output by using an emitter follower BJT/IGBT, or a source follower mosfet topology, just as we find in power amplifiers.
To be precise you can use a power amplifier and modify it into an inverter efficiently.
However avoiding PWM and harmonics would mean inviting heat and lots of heat on the mosfets:)
you can refer to this article to know more:
https://homemade-circuits.com/2012/02/making-sine-wave-inverter-from-audio.html
It has to be sorted out by you…the concept is crystal clear in front of you, and there’s nothing mysterious about it….the Arduino output would be generating 5V peaks for the PWMs….5V is enough to trigger any BJT…but may be not enough for the mosfets, still it should work.
you can confirm the output with LEDs by increasing the delay time to may be 1/2 second…..the code even has a small dead time to ensure that the mosfets never turn ON together.
but again if the fets are ON without the gates connected then it has nothing to do with the Arduino, the problem could be somewhere else.
hello sir , can u help me.. i will control single phase motor , i need arduino uno code for VFD 220v , 1hz – 50hz..
please help .. thanks
I am sorry raki, I don’t have this code at the moment!
sir,
I want to design 12VDC to 230VDC ,100W(MAX) ,pure sine wave inverter for solar system.
I don’t want to use any Micro controller .
can you post any relevant circuit for my requirement .
Manish, you can perhaps try the second design from this article:
https://homemade-circuits.com/2013/10/pure-sine-wave-inverter-circuit-using.html
Sir ,
Thanks for your reply.
Can I used step down transformer with secondary side connected to circuit and primary to output or only step up transformers are used ?
Manishu, yes you can use any standard step down trafo in the opposite mode…..
please i need a complete arduino inverter ciruit with working feedback pure sine wave with protections.
first build the inverter stage successfully, then you can proceed by adding the remaining stages one by one.
Sir can i use above circuit as a fish stunner/shocker ..i have 12volt and 85Ah battery …
Muhib, you can try an ordinary high voltage generator circuit, the above sophisticated Arduino based design is not required
i require a driver circuit for
mosfet which enhance the 5V output of arduino to 12V to feed mosfet,
* suggest me a driver circuit.
* i am making circiuit for 240V , 350 watts output,
* which mosfet i should use ? irf3205???
*can i use more mosfets parallel to overcome heat issue of mosfets,
* what transformer should i use,,,,,, i am using 7ah 12V battery,
required output 230V, 350watt, guide me rating of transformer?
you can use a 4093 IC and use its gates like NOT gates by shorting its inputs and then it would effectively raise the 5V input to 12V.
IRF3205 will do
you can try as many mosfets as you want, in parallel
12V 7ah battery will be too small, and not produce more than 60 watts, you will require a 100AH, 12V for getting anything near 300 watts
thanks fred! appreciate it!
Ainsworth, yes a resistor should be across gate to source to drain electrons from the metal oxide semiconductor gate to the source. 100K to 1 Meg ohm. An unconnected insulated gate voltage can float to a positive voltage and turn on the N channel mosfet make a short connection from drain to source. Ie proper operation of n channel mosfet. 2nd verify electrical ground connection from arduino circuits to your smps power circuit mosfets. If not connected. Then circuits Can float with low output 0.7V from arduino can be 4.3V measure on mosfet gate to source. Effectively turning on n channel mosfet. Battery ground, arduino ground, n channel mosfet ground all tied together. Good luck on debugging circuits. Thanks for arduino sine wave code and circut. Bless you and thanks for Sharing. Fred WB7ODY
that clearly indicates your FETs are not good, because connecting the gate with source should keep the fets completely shut off, if still it is conducting then surely the fets have some fault
You can try using BJTs like TIP122 or TIP142 instead of the mosfet and check the response.
If u have some parts I would want you to test the circuit with a transformer, I think it may require a optocopler.
you have already tested the waveform which simply needs to applied to the gates of the mosfets, there's nothing complex in the design at all, since you have already started with the project it would be easier from your side to finish it,
you should change the doubtful fets and replace them with BJTs, and confirm the results.
I think it is just a matter a minutes to identify the exact location of the fault, by doing some basic tests as already suggested by me in the previous comments.
Fuses cannot be a crucial thing in any circuit while testing, unless the circuit involves dangerous parameters and unpredictable results, here the inverter is supposed to work without any fuse…if you are forced to use a fuse that means your inverter has a serious fault which cannot be solved by replacing fuses rather it should be done by checking and rectifying the fault
As I mentioned before you should check the response of the FEts without connecting the gate supply, and by keeping the gates grounded..if still the FETs conduct would indicate faulty fets.
puling high current without load is a fault and as good as a short circuit.
By the way there's no point in working with faulty, doubtful, devices…if you have slightest doubt regrading the parts either you must replace them or quit the project until correct parts are bought.
…you can also try a small good readymade trafo (1 amp) and test the response, that will give you clear idea regarding the proceedings.
you are saying your trafo is good, your fets are good, there's no chance of any short circuit, and yet your fuses are blowing, how can that be possible?
from here I can say your FETs are bad for sure or may be there's something that's causing a a short circuit which you must diagnose and rectify. without a short circuit or overload a fuse can never even a new hobbyist will know that!
if I would be in your place I would have first tried BJTs instead of mosfet for testing purpose, because BJTs are more manageable thn mosfets
mosfets gate resistor should always be low, in fact higher resistance might cause heating up of a mosfet and damage.
alternatively you can remove the Arduino and check with a 4047 IC, to see the difference, there are actually many methods through which you can check the fault.
another method is to connect car bulbs in series with the mosfet drains, and remove the gate supply, if the bulbs keep glowing even without gate supply would quickly indicate a faulty fet.
where is the arduino code swagatam
Hi Ravi, please click on the link which is highlighted in the second paragraph of the article
fro where i can find the arduino code
Q1.is there any way to start single phase 3hp induction motor on home 5kva inverter ? because starting current is very high may be more than 30 amp but running at full load max current is 15 amp . Q2. is running above mentioned motor, possible on pwm based pure sine wave inverters?
It may be possible and tackled comfortably by adding an external battery bank with the existing battery. once the motor is initiated, the external battery bank can be removed, or disconnected with a help of a switch.
i have question. inverter is only 5kva ratings.
than how adding a battery to it increases its output power ?
it should be able to produce the extra power for a few seconds.
but if you are concerned about it, then the best option would be to change the inverter with a 1 kva rating
sir thanqew for ur valuable reply.
can you please suggest components for above systematic to bulid 6kva inverter and approx prize estimation for it?
You are welcome,
for making a 6kva inverter you can use the same Arduino board and its code.
for increasing mosfet power you can add more of them them in parallel, each mosfet should have it's own gate resistor and diode.
the transformer will also need to be rated as per the mentioned specification.
the battery voltage should be selected as high as possible, may be at 84V would be great and this will allow the transformer to be relatively smaller and the associated wiring to be manageable.
I can't say about the prize, you will need to find it out from the market.
for rating of mosfet …
if i have two mosfet each one rating 50watt and one for possitive cycle and another for negetive cycle .does it means i have inverter of 100watt or only 50watt??
Gurmel, both the mosfets will need to be of the same polarity as shown in the diagram that N-channel.
the mosfets do not decide the power output, it's the battery AH rating and the trafo wattage rating which determines the output delivery, the mosfets simply needs to be rated adequately so that it is able to handle the power pushed by these elements.
the power power will depend on the trafo Voltage x current value and only if the battery has the capacity to deliver the amount of current which trafo is rated at
Sounds Good. Can you please post the link here as I am unable to use search box in my android. may be some css issue.
The search box is right at the top of the article.
anyway here are the links:
https://homemade-circuits.com/2014/07/5kva-ferrite-core-inverter-circuit.html
https://homemade-circuits.com/2014/05/twin-or-split-battery-charger-circuit.html
Great Swagatam. You're my hero. Will contact you again if needed. thank you so much for your quick response and help. May God bless you.
you are most welcome Saqib!!
adding to my previous question. do you have any kind of pure sine wave inverter schematic that can power on a 1 to 1.5 ton Air Conditioner. Actually I bought a land for fish farming and wanting to power up things in my sitting area there with inverter because of lack of electricity there.
Saqib, you can try the following design
https://homemade-circuits.com/2016/04/solar-inverter-circuit-for-15-ton-ac.html
Great. one more thing Can this be used with batteries? because I wanted to run this in night as well. Also solar panel isn't possible for me due to low space around sitting area and placing panels to any other area isn't affordable for me. what is the idea behind is that I will use two sets of battery banks one online and one offline on charging stat. inverter should be smart enough to detect low battery and switch input to secondary battery bank and start charging the first one while should run at least 1 ton Air Conditioner thats why I was thinking of 5kva inverter. if there any possibility then please write an article on this as soon as you can. I can buy this from market but you better know what we ask, we don't get. better to make it ourselves as per our requirements and have fun of electronics.
Solar panel is actually not compulsory, you can use any suitable DC source with the suggested circuits, just make sure the voltage and the current specifications are correctly matched with the inverter and the load.
most of the ideas are already published in this website, you just have to search it using the search box.
I have a 5KVA inverter circuit included in this website, I also have an automatic twin battery charger circuit which you can use for automatically detecting, and selecting the charged battery when one of them gets discharged.
However all these circuits are strictly for the experts who know all the basics of electronics and have the required practical experience in the field, it's not for the newcomers, so please make sure you have an expert with you while you try the proposed designs.
Hi Swagatam,
I need to build 48vDC to 220vAC 5000KVA Pure Sine wave Inverter. Can you please share schematic and number of power transistors or mosfets and transformer specifications. I also need to know battaries specifications. thanks
Hi Saqib,
you can first try building the following design successfully, then I'll tell you how to proceed and make the sine wave integration
https://homemade-circuits.com/2014/11/48-v-inverter-circuit.html
Hello sir , can one achieve a pure sine wave if it he uses pins 8 and 9 of the arduino but this time with an l293d IC instead of MOSFET, 12-0-12 transformer, 12v battery?
Hello obenobe, yes you can use the L293 with the above Arduino for controlling a motor, but I am not sure about a trafo operation….I think that may be possible too.
Thanks
Hello sir niceone… Can one use an l293d motor driver IC instead of the MOSFETs, with a 12-0-12 transformer and a 12v battery?
thanks…yes that's possible, you can use it..
But it will be less weight. what is your opinion if we used dc booster in Pure sine wave inverter. we will be thank full if you have any Diagram.
Secondly in pure sine wave 3K Inverter which one will be very effective to give us pure sine wave Arduino or IC 4047 with 555.
Can we used dc booster to step up voltage to avoid transformer
a booster will also involve a transformer…
Thanks, swagatam,
Can we use F3415s Mosfet in this ckt.
thanks, the mosfet rating will depend on your power requirement, and it must be N channel type…
This is the waveform coming from public 8 and 9.
https://goo.gl/photos/8HG4xR4dtD5dZTxe7
that looks perfect, and quite similar should appear at the trafo output, which should get transformed into a perfect sinusoidal waveform with the addition of a capacitor (0.33uF/400V) and possibly an inductor, as shown in this example circuit
4.bp.blogspot.com/-khKat0UA8Jw/UITpCnNd7yI/AAAAAAAAA_A/8x-KAD2aHLE/s1600/simplest60+Hz+Inverter+circuit+diagram.jpg
What do you think would be causing me to get high frequency?
it's the 6 pillars on each cycle which might be confusing the scope…you can add a capacitor at the trafo output and see the difference…
Hi sir i am planing to make an inverter of 48v to 240v pure sine wave. I try to search here and i didnt find a pure sine wave 48 v circuit.. My inv transformer is 48v – 0v 12amps & secondary is 240v.. Sir please help me.. My mail id is vineethhari@ymail.com
Hi Vineeth,
you can convert any of my 12V sine wave inverter cirucits into 48V, simply by applying 48V to the center tap of the transformer, and then step down the 48V to 12V for the DC circuit stages, because the involved DC circuits cannot work with 48V…..you can drop the 48V into 12V by using the principle as shown the following design. see the BC546 section
https://homemade-circuits.com/2014/11/48-v-inverter-circuit.html
Felicitaciones que gran trabajo….Una pregunta estoy usando batería de 24V y el transformador es de 220VAC, debo hacer algún cambio al código de Arduino o no es necesario? y que capacitor debo usar a la salida del transformador para obtener la onda seno pura?..Gracias por tus aportes.
Me complace que le haya gustado el artículo, no tendrá que cambiar nada para la batería de 24V, solo asegúrese de usar un 7812 IC para el Arduino. El condensador de salida debe probarse aleatoriamente. Inicialmente puede probar con 0.22uF / 400V y luego verificar gradualmente la respuesta aumentando este valor.
Mil gracias por su pronta respuesta, olvide comentar que en mi país trabajamos con 60hz, todo sigue igual o debo hacer modificaciones en Arduino o en alguna etapa del circuito?,otra consulta,deseo implementar el temporizador de retardo para evitar problemas en el encendido pero a 24V y en tu diagrama está a 12V,debo hacer cambios? GRACIAS POR TU VALIOSO APORTE A NUESTRA HERMOSA PROFESIÓN…
You are most welcome Mekatronik, yes for getting 60Hz the code will need to be changed a bit.
As you can see the total delayMicroseconds on each channel of the code adds up to 10000 that’s 10 mS…you will have to adjust and reduce the values proportionately so that the total adds up to 8333 microseconds or 8.33 mS
hola el cambio que me sugieres de 8.33mS para 60hz lo debo hacer a estos valores?
const int sPWMArray[] = {500,500,750,500,1250,500,2000,500,1250,500,750,500,500};
O en esta sección del código?
estoy un poco confundido,gracias por tus aportes.
// Loop for pin 1
for(int i(0); i != sPWMArrayValues; i++)
{
if(sPWMpin1Status)
{
digitalWrite(sPWMpin1, HIGH);
delayMicroseconds(sPWMArray[i]);
sPWMpin1Status = false;
}
else
{
digitalWrite(sPWMpin1, LOW);
delayMicroseconds(sPWMArray[i]);
sPWMpin1Status = true;
}
}
Hi, you will have to adjust the delays proportionately such that the total for each channel is 833.33
I asked that question time after time but never actually got a reply. So let me get it straight just this once.
If my battery source on an inverter is 12v that means the transformer should be 6-0-6v and if it's a 24v battery source then the transformer will have to be 12-0-12v ect.
And that's the case for all your inverters? If any exception could you send me the link to the exception and im not refering to something like your cascade design.
Please show me where you have asked this question, and did not get the reply?
when you use PWM it cuts off a portion of the actual waveform and this results in a reduced average voltage or the RMS value of the waveform, to compensate this the transformer needs to be lower with its primary V specs, so that the reduced PWM waveform matches the reduced value of the trafo.
for example if the PWM waveform average value is 7V for a 12V peak, then the trafo should be 6V/220V which will yield approximately 230V.
instead if we applied 7V PWM waveform to a 12V trafo that would proportionately reduce the output to:
7/12 = x/220
12x = 7 x 220
x = 128V at the output
it applicable only for PWM chopped sinewave inverters, NOT for all inverters….
In this case it's a spwm so it's applicable here. So my battery is 12v so I need to use a 6-0-6v transformer then
yes that's correct
I checked the video which you sent, I am afraid the results are not correct.
the code of the Arduino cannot be wrong because it contains simple delays in the form of ON/OFF periods…and these ON/OFF periods must produce PWM kind of waveform in the oscilloscope, your scope waveform looks weird.
secondly, if you add all the delay periods in the code, it comes to 10000 microseconds that's equal to 10ms…so 10ms on each cycle gives 20ms on the two channels…dividing 1 second with 20ms, gives 50 Hz, and that should eb the frequency…how can it be 600Hz??
Also how could I stop diodes from getting damaged?
which diodes are you referring to??
Sorry I should have said Fet instead of Diodes.
But since my transformation is a 12v transformer then that explains why I was getting 57v.
I tried a 12v transformer, I was getting 57v, I used irfz44n and they burnt up 2 times, while running they weren't hot, I think they burnt up because of of constantly adjust alegator clips on battery terminals to get a better connection.
But since the voltage was that low and the frequency is so high I was wondering if you tested this circuit.
mosfets can burn due to many reasons, and definitely not due to frequency issues because mosfets are designed to handle very high frequencies.
it's a Pwm circuit and the transformer cannot be 12V for a 12V supply, it has to be 6-0-6V or some other value as pert the calculations, I think this issue has been discussed countless number of times in this website…
the above design is a an obvious circuit and will work without fail.
I have tested it with LEDs with a slow delay effect and it behaved perfectly as per my brain simulation.
once this was confirmed, I simply reduced the delays so that the sequence corresponded a 50 Hz frequency across the two channels with 7 varying SPWM pillars for each cycle,
anybody can easily interpret this.
you can verify the pattern on an oscilloscope if you have doubts.
Using a 12v battery I can use a 12v transformer for this circuit?
you are wonderful Mr. Swagatam Majumdar, please how many can i make 500Watt inverter of arduino
thanks alex, you can achieve that by using 600 watt mosfets and a 600watt trafo….and a 24V 150AH battery
Gud work sir
Thanks Hassan…
Gud work sir
Hi Swagatam,
I want to make an inverter to drive some gauges that require approximately 2 amps at 115v AC @400Hz, using a 28v DC imput. The Arduino seems like the right tool. Would you be kind enough to make up a circuit diagram?
Regards,
Mark
Hi Mark,
you can try the same design which is published in the above article….just assemble it, and start using it for your specific need.
the transformer will need to be a 24-0-24V 10amps/120V for your mentioned application
Hi Swagatam,
I have tried PWM charge controller using arduino and it is successful. Iam using it in my home generating 80 watts of power from 200 watts panel. I know its very poor.
BTW, I admire your works and I keep looking at your blogs very often.
I came across this very interesting circuit and I want to try this inverter.
Just to be sure, I have few 4905 PNP mosfets lying around from previous project, Can i use the same in your circuit? Source of mosfet connecting to Battery -ve and Drain of mosfet to transformer?
2. Transformer rating: secondary 12v-0-12v/15A, primary 220V. What will be my output power? is it 12×15=180 Watts? So if i increase the transformer rating to 30A can i get 360 watts of power? ofcourse with some 10-15% losses…
Hi Sham, if you are using an Arduino based controller and getting 80 watts from 200watts, then it's not worth using…or may be you haven't built it correctly, a linear IC circuit would give much better results than this.
as for the above Arduino sinewave inverter, yes it's indeed an interesting and handy little inverter which will give you pure sinewave just by hooking up a couple of fets and a trafo.
Pchannel mosftes might not work correctly here since the design is meant for N channel mosfets, so you will have to replace your p channels with N channels and then test the results.
your watt calculation is quite correct, but for a 12V battery you may have to employ a 9-0-9V trafo
Sham, I checked the link you sent, but I could not go through the diagrams since it everything quite elaborate….
one thing i can say, if PWM is used without a buck or boost converter then it's meaningless…it will simply block the excess power from the panel and indirectly waste power. In that case its' better to use a LM338 based circuit, or simply use a panel having a nearby specs to that of battery.
When you are using Arduino based design the outcome should be highly advanced and efficient, otherwise it's pointless.
if you need an MPPT circuit you can check out the first two articles from this website
Hi Swagatam, Appreciate your quick response. I am using Arduino for doing multiple tasks, like auto change over to AC/Battery, solar energy monitoring etc… as u said it looks like something is wrong.. My 100w x2 panels are generating appx 7-9 amps peak. But inside ckt it's getting down to 6.8 amps max. ��. I need your help in solving this. After reading ur article, am thinking of some issue in calculating the duty cycle fed to P channel MOSFET. Let me check that and update you.
I will purchase 9-0-9v trafo, N channel MOSFET and try the ckt. Here I need to control the amount of power used and alert me when solar power generated is less than power consumed. I hope I will succeed in this.
Hi Sham, what kind of circuit are you using for the controller, is it a buck converter? also specify the V and I of the panel.
duty cycle for the above circuit is 50% for the positive negative halves, and the individual phases are SPWMs with varying duty cycle.
Wow Swagatam.. xlent link. Thank you. I will to go through them one by one.
Yes.. now I am realizing the necessity of Buck converter. In one of your article you had mentioned about both Buck and boost.. I had not understood at that time.. I will go thru again.
Btw, to my understanding, I should use Buck converter with 10 amps rating for my work right? Bcos panel amp rating is 10 amps.
You are welcome Sham,
if you wish to use a buck converter with a 10amp pnel, then it should be rated higher than 10amps, because when the panel voltage is reduced by the buck converter it is supposed to convert the unused voltage into current…therefore current would go above 10 amps.
you can find it dividing the solar panel wattage by the battery voltage.
Sir, what of feedback, isn't that and essential part in inverter operation?
Oluwole, feedback is not an essential part for an inverter, it's just an added feature.
If you have your transformer correctly matched with the battery then feedback won't be necessary
Then how would you regulate voltage at different load??
Do you have a voltage regulator with your home AC mains input?? how does it regulate different loads
Hello sir,I am looking to build the above spwm inverter using arduino.am using 24vdc input so should I regulate it to 12v for the driver circuit stage and if so,what of the power mosfets can they work with 24v supply as well.my transformer is 24v 0 24v 5A.i will add one more battery(12v) to make 36v DC supply as per my trafo rating.please help.
Hello Yusuf, yes you must regulate it through a 7812 for supplying the BJT collector arms and the Arduino.
Thanks sir.so concerning the average spwm voltage from Arduino .should it produce 24v rms from the transistor stage according to rating of trafo.(24v 0 24v)then what would be my peak to peak voltage is it regulated12v supply (through collector arm)or the main 36vdc supply from battery. I am a mere beginner in power electronics.please help.
Yusuf, All the collector resistors and the Arduino must connect with 12V.
only the transformer center tap must connect with 36V Dc.
All the grounds (-) must be connected in common.
https://www.homemade-circuits.com/how-to-connect-bjt-and-mosfet-with/
Thank you for the link it helped.in my case am having PNP BC557 as the level shifter instead of BC547.how will I connect it to the Arduino if the polarity is reverse.i think it is collector to negative line(-12v) ,base to ground of Arduino and emitter to positive line(+12v).is it right.mosfets are N channel.then what about the rms value relative to the transformer(24v 0 24v) .what should be the average voltage produced at the output of Arduino BJTs.
Glad it helped Yusuf! You will have to set the average value of the Arduino output whose ratio x/5V corresponds to the 24/36 transformer/battery ratio. Meaning x/5 should be equal to 24/36 or 0.66….. or the value of x must be 66% of 5V
x is the average output voltage from the Arduino
Thanks alot.what about the pNP transistors that I have.are they applicable in this circuit.i ought to connect them in reverse of npn.i.e, base terminal to ground of Arduino,collector to ground of supply line and emitter to positive of supply line.
PNP with N-channel MOSFETs will give opposite results, and PWM duty cycles will get inverted, so it won’t work!
Hello Sir.i got the BC 547 transistors with the respective resistors.you asked me to realize a value (x) which would be average voltage from arduino.x/5 should correspond 24/36.so x should be around 3.3v.my question is from what points at the output should I measure the required 3.3v.then what about at the collectors and emitters of each BC547.as I saw above,,what value does this measurement represent.thank .
Hi Yusuf, you can measure it directly across the Arduino output and the negative supply terminal
Thanks,I will measure the voltage using multimeter.so regarding the code ,to produce roughly(3.3v average output from Arduino)should I increase or decrease the delay microseconds proportionally or what can I do to the code to achieve that.please help
Yusuf, please see the conversation between Serd and me…actually the code is optimized for 3.2V RMS, or at 70% duty cycle. You can use the code directly for your application without changing anything
COMMENT BOX IS MOVED AT THE TOP