A simple yet useful Microprocessor based Arduino full-bridge inverter circuit can be built by programming an Arduino board with SPWM and by integrating a few mosfets with in H-bridge topology, I have explained the details below:
In one of our earlier articles I will comprehensively explained how to build a simple Arduino sine wave inverter, here we will see how the same Arduino project could be applied for building a simple full bridge or an H-bridge inverter circuit.
Using P-Channel and N-Channel Mosfets
To keep things simple we will use the P-channel mosfets for the high side mosfets and N-channel mosfets for the low side mosfets, this will allow us to avoid the complex bootstrap stage and enable direct integration of the Arduino signal with the mosfets.
Usually N-channel mosfets are employed while designing full bridge based inverters, which ensures the most ideal current switching across the mosfets and the load, and ensures a much safer working conditions for the mosfets.
However when a combination of and p and n channel mosfets are used, the risk of a shoot through and other similar factors across the mosfets becomes a serious issue.
Having said that, if the transition phases are appropriately safeguarded with a small dead time, the switching can be perhaps made as safe as possible and blowing of the mosfets could be avoided.
In this design I have specifically used Schmidt trigger NAND gates using IC 4093 which ensures that the switching across the two channels are crisp, and it's not affected by any kind of spurious transients or low signal disturbance.
Gates N1-N4 Logic Operation
When Pin 9 is logic 1, and pin 8 is logic 0
- N1 output is 0, Top Left p-MOSFET is ON, N2 output is 1, the Lower Right n-MOSFET is ON.
- N3 output is 1, Top Right p-MOSFET is OFF, N4 output 0, Lower Left n-MOSFET is OFF.
- The exactly same sequence happens for the other diagonally connected MOSFETs, when pin 9 is logic 0, and pin 8 is logic 1
How it Works
As shown in the above figure, the working of this Arduino based full bridge sinewave inverter can be understood with the help of the following points:
The Arduino is programmed to genearte appropriately formatted SPWM outputs from pin#8 and pin#9.
While one of the pins is generating the SPWMs, the complementary pin is held low.
The respective outputs from the above mentioned pinouts are processed through Schmidt trigger NAND gates (N1---N4) from the IC 4093. The gates are all arranged as inverters with a Schmidt response, and fed to the relevant mosfets of the full bridge driver network.
While pin#9 generates the SPWMs, N1 inverts the SPWMs and ensures the relevant high side mosfets responds and conducts to the high logics of the SPWM, and N2 ensures the low side N-channel mosfet does the same.
During this time pin#8 is held at logic zero (inactive), which is appropriately interpreted by N3 N4 to ensure that the other complementary mosfet pair of the H-bridge remains completely switched OFF.
The above criteria is identically repeated when the SPWM generation transits to the pin#8 from pin#9, and the set conditions are continuously repeated across the Arduino pinouts and the full bridge mosfet pairs.
Battery Specifications
The battery specification selected for the given Arduino full bridge sinewave inverter circuit is 24V/100Ah, however any other desired specification could be selected for the battery as per the user preference.
The transforer primary voltage specs should be slightly lower than the battery voltage to ensure that the SPWM RMS proportionately creates around 220V to 240V at the secondary of the transformer.
The Entire Program Code is Provided in the following article:
4093 IC pinouts
IRF540 pinout Detail (IRF9540 will also have the same pinout config)
An Easier Full-Bridge Alternative
The figure below shows an alternate H-bridge design using P and N channel MOSFETs, which does not depend on ICs, instead uses ordinary BJTs as drivers for isolating the MOSFETs.
The alternate clock signals are supplied from the Arduino board, while the positive and negative outputs from the above circuit is supplied to the Arduino DC input.
Brendan Glynn says
Could you just use a stepper motor driver card and get square wave or sine by selecting microsteps?
Swagatam says
Sorry, I am not sure if that’s possible or not.
Tom_speed_garage says
Amazing article sir ! And how much the wattage of your design sir ? Thank you very much
Swagatam says
Thank you Tom, The power of the inverter will depend on the transformer, battery and the MOSFET specifications, which can be upgraded to any desired levels.
jboy says
The frequency is s 50Hz I’m using iron core for the transformer.
jboy says
I want to design a 6000W pure sine wave inverter using 48v battery. My challenge is how to calculate the wire size for both primary and secondary kindly help to explain how I can calculate the wire size for both primary and secondary.
Thanks
Swagatam says
Sorry, calculating a 6000 watt transformer can be difficult, I do not have the formulas for calculating such a huge transformer.
Frank says
I wanted to know if the transformer is a 50/60 Hz current transformer made of silicon steel sheets. I have my doubts because, since it is SPWM, the frequency is much higher than those 50/60 Hz of a normal transformer.
In this case, would it not be necessary to have an LC filter at the output of the transformer?
Swagatam says
Yes the transformer is an ordinary iron core step down transformer connected the other way round. Only capacitive filter becomes sufficient since the transformer secondary winding itself works like an effective inductor. I have added a 3uF/400V capacitor which converts the SPWM into pure sine wave.
Anooshka says
Sorry for the continues questions, can supply be given from the DC power supply at the lab or should lead acid battery be used?
Thanks again, Mr.Swagatam
Swagatam says
You can use any 12 V DC supply for testing, it can be from a 12 V battery or from a 12 V SMPS, just make sure it has adequate current supply for the transformer and the load.
Anooshka says
Thank you sir
Swagatam says
You are welcome Anooshka
Anooshka says
And can I connect IC4093 Vdd to 12V directly?
Thank you in advance for your prompt reply
Swagatam says
Yes 4093 can be connected to 12 V DC directly, however I would recommend using a 100 ohm 1/4 watt resistor in series with the positive supply of the IC, and also connect a 12 V zener, and a 1N4148 diode right across the supply terminals of the 4093 IC along with parallel connected 100uF/25V and 0.1uF capacitors, all these will ensure that the IC is not affected by the voltage spikes from the transformer
Anooshka says
So these protection elements will all come in series with Vdd of IC 4093 or is it connected between Vdd and ground?
Swagatam says
No, only the 100 ohm resistor will come in series with the (+) supply line of the 4093.
The zener diode, 1N4148 diode, 100uF, 0.1uF all these will need to be connected across the (+)(-) terminals of the 4093
Anooshka says
Thank you sir
Swagatam says
You are welcome!!
Anooshka says
Also sir I wanted to know, while using 7812, it has 3 pins, input (12V/24V), ground and output. I had the following doubts.
How is 7812 output pin connected to the Arduino?
How is the 0.1uF connected?
It would be really helpful if you could explain the 7812 connection diagram.
Sorry for disturbing and thank you for your cooperation.
Swagatam says
It is important to note that the battery for this project must be strictly a 12V battery, a 24V battery will not work and might burn the MOSFETs.
For the 7812 connection, the battery (+) will connect with the input of 7812, the battery (-) will connect with the ground of the 7812, the output (+) and the ground of the 7812 will go to the (+) and (-) of the Arduino socket respectively.
Anooshka says
Thank you for your prompt response, lastly how is the 0.1uF capacitor across 7812?
Swagatam says
The 0.1uF is shown for the 4093 IC which must be also supplied from the 7812 IC.
Anooshka says
Across the input and output right sir? Because the middle pin will be grounded of 7812.
You have been a lifesaver, thanks a lot for your replies.
Swagatam says
Anooshka,
The capacitor should be connected across the output and the ground of the 7812, one pin of the capacitor must always connect with the ground of the circuit or the device.
I am glad to help you!
Anooshka says
Hi, I am doing the above project but I am using a 12-0-12 (500MA) transformer instead. I inferred that changing to 12V supply would be enough. I have few more doubts
1) Would there be any change to circuit, am I to provide a delay, in that case how could I do so?
2) Would there be any change to the code?
3) Is there any way to replace transformer just by using RL load?
Swagatam says
Hi, If you use a 12-0-12V transformer and a 12 V battery, then with an SPWM Arduino code the output voltage from the transformer would be around 180 V only. You should use a 6-0-6V transformer instead.
Delay may not be required since 4093 IC has a schmitt trigger inside which will cause a slight delay in the operation of the two sides.
If you do not use a transformer then 220 V output may not be possible to achieve.
Anooshka says
Thank you for your response
Cyril Great says
How do I get good Inverter board and software
Swagatam says
You can get it from online stores like amazon.
Michael says
Good morning, thank you for your article.
I would like to increase the power by putting 4x mosfets in parallel in the H-bridge (IRF9540+IRF540).
Is that possible ?
Do you have a low battery cutout planned for your UPS?
Thanks
Michael
Swagatam says
Hello, you can try with single mosfets first and confirm the working of the circuit. Once confirmed then you can try adding more mosfets in parallel to increase the power output.
For a low battery integration you can try integrating the following concepts:
IC 741 Low Battery Indicator Circuit
Low Battery Indicator Circuit Using Two Transistors Only
Tiaan says
Best Swagatam
If looked at the circuit and would like to know where the 4093 IC draws its power from? It is rated at 15V max input and the design has a 24V battery.
The p-channel mosfets would have to get 24V to switch off and then assuming the 4093 IC uses a 24V supply (which it can’t) the Vgs of the mosfets would be 0 or 24V with 24V being above the maximum Vgs of the mosfets.
Regards Tiaan
Swagatam says
You are right Tiaan, the battery must be a 12V battery in that case! Thanks for pointing out the mistake.
The 4093 can draw the supply voltage from the 12V battery
anaskhan says
hello dear sir project is isolated bidirectional dc dc converter kindly share circuite diagram
Swagatam says
I don’t have it at this moment, if I find it will surely share it with you.
Jayanim Dilsha says
How to get Arduino code??
Swagatam says
Code is already given in the above article.
Tiaan says
Best Swagatam
Your projects are very helpful, I just want to know.
What should change in this circuit if I want to use a 12V/230V transformer and 12V battery?
Also should this circuit get a delay circuit and voltage regulation circuit like the 12V arduino inverter project you made?
Kindest regards
Tiaan
Swagatam says
Thanks Tiaan,
you don’t need to change anything except the battery. Yes, there should be a delay around 10 seconds before the Arduino output can be connected with the 4093 inputs otherwise the mosfets can burn.
Tiaan says
Best Swagatam
Your projects are very helpful, I just want to know.
What should be changed in the circuit if I want to use a 12V battery and 12V/230V transformer?
Kindest regards
Swagatam says
Thank you Tiaan,
You only have to change the battery to 12V, that’s all, nothing else needs to be changed.
Josta logo says
I want to follow your designs
Swagatam says
Thank you, sure you can!
Thomas Anderson says
Hello, not sure if I am missing it here in the comments or not, but I am wondering if this is a push pull circuit, that if you use a neutral line you would say get two 110v lines, that combining them gives the 220v? (ie is this what is called split phase in the US.)
I am working on a solar inverter design using cobbled bits of info and have some experience with arduino so was hoping it could be a good method of supplying the logical control of the DC side to generate a much better than modified sine wave output of common inverters available off market. 🙂
Swagatam says
Thank you for sharing your concern, yes the output of the inverter will be a push pull type and not split phase.
Onyishi Gideon chibuike says
Please sir i need overload cut off diagram for inverter
Swagatam says
You can try the opamp circuit from the following article:
https://www.homemade-circuits.com/low-battery-cut-off-and-overload/
Emmanuel says
I am building a 5level multilevel inverter as my project in school. I am using the h-bridge cascaded topology. I also want to use arduino to generate the signal for the gates of the mosfet. If I use the same switches say irfp460 for all the switches will it work fine? Thanks in anticipation of your reply
Emmanuel says
Good day, please can the same MOSFET be used for the high side and low side if the h-bridge?
Swagatam says
If you are using a bootstrapped type H-bridge then all the MOSFETs can eb n channel and same, but for any ordinary h bridge the high side and low mosfets will be different.
Emmanuel says
Does this also apply to 5 level cascaded multilevel inverters?
Swagatam says
what type of H bridge did you in your inverter?
Emmanuel says
Its a 5 level multilevel inverter that joins two Normal H bridge in series to get the desired 5 level. I want to know if I use the same switch for the eight switches, if it will work just fine
Swagatam says
which IC is used for driving the H bridge?
Emmanuel says
Just the arduino for generating the switching signals
Swagatam says
then it may not be possible use all the 4 mosfets with the same polarity
Emmanuel says
So please what do you suggest I do for the multilevel inverter
Swagatam says
You can find some information in the following article:
https://www.homemade-circuits.com/wp-content/uploads/2021/04/multilevel-3-phase-inverter.pdf
Emmanuel says
Okay, thank you
John says
Using Proteus to simulate h bridge inverter using arduino.should I use anything else e.g driver transistors bc547 or just 4093 OK.kindly how to upload simulation pics.kind regards john
Swagatam says
Sorry I don’t use proteus, so can’t help with it!
Amb says
good day ,
I will like to know what kind of transformer I should use to get 230 Vac using a 12 Vdc car battery.
Do I need 12V to 230V or 6V to 230 V transformer please ?
Thanks
Ambr
Swagatam says
You can use 0-9V/220V for 12V battery
Long John Silicon says
Sorry,
My Second statement would not work either.
I meant to say,
was to use P9 output to override N3 output via 1K resistor to N3 output modified with a 10K resistor.
p9-=+–|N1–>
| 1K
+——/\/\——-+
|
p8 >—–|N3>–/\/\–+–>
10K
This would Disable p8 if p9 is already High.
Long John Silicon says
You design is interesting, but basic.
First, you have a Typo:
N1 output is 0, Top left p-MOSFET is ON, N2 output is 1, the lower right n-MOSFET is ON.
N3 output is 1, top left p-MOSFET is OFF, N4 output 0, lower left n-MOSFET is OFF.
Should be :
N1 output is 0, Top left p-MOSFET is ON, N2 output is 1, the lower right n-MOSFET is ON.
N3 output is 1, top RIGHT p-MOSFET is OFF, N4 output 0, lower left n-MOSFET is OFF.
Second, I would suggest that the N1 & N2 NAND and the N3 and N4 gates – drive the Upper Left & Right PFETs and the Lower Right & Left NFETs respectably. (Notice the Left / Right + Right / Left switch there) Else, you risk burning out your FETs if both p8 & p9 are High.
Third, I would suggest placing Pull-Down Resistors on p8 & p9 – to avoid spikes to your FETs at Arduino Bootup or if the P8 P9 Pins are in Zero-State.
Swagatam says
Thank you for liking my basic design!
I have corrected the typo as pointed out by you.
With an Arduino it is highly unlikely for both the outputs getting high at the same time, still it may be important to have some kind of foolproof arrangement to counter the issue, I’ll surely think about it.
Ifeanyichukwu says
hello mr swag i have been trying your innovative circuit post and they have worked greatly but I wish to know if you have any h bridge inverters that is sine wave but not Arduino thanks a lot
Swagatam says
Thank you Ifeanyichukwu,
You can convert an H bridge into sine by feeding a SPWM to its low side MOSFeT
https://www.homemade-circuits.com/diesel-generator-rpm-controller-circuit/
In this example it is only an ordinary PWM and not SPWM
Ifeanyichukwu says
Ok thanks a lot sir
Jan says
Hi Swagatam,
Please assist me with the following.
Ref. Home Inverter Circuits Arduino Full-Bridge (H-Bridge) Inverter Circuit
I want to use a 250VA 220/32V transformer as the final output in my inverter. My total load is 160W. I therefore need to modify the secondary by removing some windings until I get 9V output. The question is will the transformer then be able to cope with a 160W load. I would hate to ruin a good transformer if it is not going to work.
Regards
Jan
Swagatam says
Hi Jan, the wattage of the transformer is calculated by multiplying the V x I values of the winding. So if the V and I of the transformer winding is sufficiently rated to handle around 200 watts then the output will be capable of handling 160 watt easily.
Girish says
Hi,
I have following questions,
1. How much wattage we can achieve with this inverter?
2. For higher wattage, do we need to design heat sink ?
3. is the output of transformer 220V, 50Hz, sinusoidal?
Thanks !
Swagatam says
Wattage will depend on the MOSFET, transformer and battery rating, which can upgraded to any desired magnitudes.
Heatsink will e required for the MOSFETs can be tested through practical experimentation.
Output is sine wave. Frequency is 50 Hz
Jack says
Hi Swag why the voltage output from the mosfet became drop into 1.3V. im using 12V as the input voltage
https://imgur.com/Fj4Y8eN
Swagatam says
Hi Jack, Please try to figure it out yourself, because only diagonally mOSFeTs can be ON at any instant, all the MOSFETs can be never be ON.
Please check the logic sequence just under the diagram to understand how the N1–N4 gates are supposed to work, and how all the MOSFeTs can never turn ON together.
Ruwan says
How many watts can take by this inverter? I have a transformer which removed from a 24v 1000va ups and hope to use that for this inverter.
Swagatam says
for 24-0-24V transformer you will need a 36 V battery, and current of 45 amps
BASHIR ABDULKADIR UMAR says
Thank you sir
BASHIR ABDULKADIR UMAR says
I have paste the schematic to your facbook timeline you can check it please
Swagatam says
The full bridge design is correct
Engr Bashir says
Please sir, check this circuit if i made it correct and i got from this site and i made little modification https://drive.google.com/drive/mobile/folders/1Ld6NO3ZIq7EDEkf4RT2GUkVT6ELhN2ST?sort=13&direction=a
Swagatam says
Bashir, It is not opening in my computer
George Kourtis says
As per the characteristics of the CD4093B found here https://www.ti.com/lit/ds/symlink/cd4093b.pdf it seems that the CD4093B if fed with 10V (instead of 12) needs typically (at ambient temperature ) 5.9V in order to accept it as a logical 1.
I deduced it from page 2 “positive trigger threshold voltage” at 25C “typical”.
How is it possible then that the arduino fed at 5V is able to trigger the logical 1 condition ?
Swagatam says
Anything above 4 V is accepted as logic HIGH for any logic IC at 12 V. 5 V is logic 1 without any doubt. 4093 is a Schmitt trigger IC so rules could be different….Better check it practically by connecting the input directly to 5 V and checking the output. Alternatively you can try replacing the gates with 4049 NOT gates.
George Kourtis says
Hi,
I am just trying to understand how the above circuit works and I have implemented it but it does not work correctly for me and I will need too to modify it later on. I don’t understand some details:
1) The 4093 is fed with the battery voltage 12V. Will it output as logic true: 12V or 5V ? Can I change the battery voltage to 24V or 48V ?
2) In one case used 5V DC for driving the whole instead of 12V and after I took off the Vcc from the 4093 but it continues to drive normally the whole circuit probably using power from the arduino input. Should it be like that ? Isn’t a little bit strange ?
3) I used as a shortcut to drive the mosfets from 2 outuput gates only instead of 4. The system works but probably get’s hot because there is no delay between switching on and switching off … is it like that ?
4) I need a modified circuit that will work from direct current 110V without a transformer. How should I change the components ?
Swagatam says
Hi, the circuit has to work since the NAND gate implementation looks logically perfect. The output from the NANDs will be 12 V if the IC is operated with 12 V…if it is operated with 5 V the MOSFETs will misbehave and not work correctly.
If you remove the 12 V supply from the NAND gate IC, again the system may behave weirdly and malfunction.
Using two NAND gates is absolutely incorrect and may easily burn the MOSFETs.
You must first try to implement the 12V design correctly, after that you can try the 110 V upgradation.
younes says
how to set transformer value in proteus? secondary and primary
Yohanes says
The alternate clock input terminals must be integrated with the NAND gate outputs which will act like level shifters here.
hallo , can you explain to me about this word in above,
how to integrated NAND gate output with alternate clock
Marius says
hi
If i`ll add pullup/pulldown resistors (G to S) would be any better ?
I`m wondering if there will
Thank you
Swagatam says
yes you may try that for added safety to the MOSFETs
Marius says
considering that there is 12V on the mosfet gate and the mosfet is rated 10V or -10V would be any good idea to add 1k resistor from N to G?
Thank you
Marius
Swagatam says
you can connect a 1K from gate to source under all situations.
Marius says
ok so i build one
the P-channel mosfets are overheating …
i`m trying to invert 24VDC to VAC for a project, seems that i have to chose a different way
thank you
Marius
Swagatam says
The major drawback of using P channel is its heating up issue….we have to make sure that the RDSon of the pchannel is equal to the RDSon of the N channel…this can be done by adding more number of P channels in parallel.
So you can try using a couple of more p channel MOSFETs in parallel, that should solve the problem in my opinion.
Marius says
another thing what i`m thinking about is that because that H bridge is paired as X
i mean mosfet 1 is paired across X with mosfet 4 and not with mosfet 3
I`ll try to pair the mosfet 1 with 2 and 3 with 4 to see the results
thank you
Swagatam says
If you pair MOSFET 1 with 2, then how will the load operate? It has to be in diagonal form, otherwise the load cannot switch
EDİ says
I am creating the same scheme. Im using 6V DC input.How much AC can I take.
How can I calculate the output
Boris says
Did anyone made this circuit as drawn in schematic and made it actually work properly? If yes, the circuit goes beyond my knowledge in electronics (MOSFET operation principle in particular). If not, than I’d ask Mr. Swag to build the circuit, test it and if it doesn’t work for him either to fix the schematic or remove it from the Internet.
Swagatam says
Better explain your point instead of giving opinions.
Sourav Ghosh says
Hi sir,
I can’t find CD4093 ic in local market. Can i use any NAND gate replacement of this?
Or is there any suitable replacement of CD4093 ?
Please reply asap.
Thank you.
Swagatam says
Hi Sourav, 4093 is very popular, and should be available everywhere. Thee’s no other easy alternative for this, because others are 5V rated which will not work for MOSFeTs.
The prefix CD is not important you can use any 4093 version.
Finally if you don’t get 4093, you can go for any standar 12V NAND gate IC
Lahna says
Hi swag,
How can i convert 280 volts DC from set of solar pannels to 230 volts AC 50hz
sine wave without using regulator and battery
Thank you.
Swagatam says
Hi Lahana,
you can try one of the designs from the following article:
https://www.homemade-circuits.com/5kva-transformerless-inverter-circuit/
Lahna says
thank you so much for your help, what if i use your design with
4 n-chanel mosfets and arduino ?can i get 230 volt AC from 280 volt dc
Swagatam says
Yes that’s possible, but you will need a full bridge IC for that and switch it’s low side MOSFET with Arduino PWM. This might look like an overkill, because SPWM can be implemented in full bridge through synchronized op amp circuit also.
Marcelo Wainstock says
Good morning, Swag.
I have a mini system transformer I would like to use as an inverter of 12v x 110v x 100w, but I only know that there are 2 wires in the secondary and 5 in the primary. I do not know which wires connect to make the 110v, its voltage or amperage.
Could you help me identify the wires and fit the inverter design with only two wires in the primary of this inverter?
I have in primary between pins 1 and 2: 39.4 ohms.
Between pins 3 and 4: 26.3 ohms
Between 3 and 5: 40.8 ohms
Between 4 and 5: 37.3 ohms.
On the secondary: 28 ohms.
* approximate measures.
Tanks
Swagatam says
Hi Marcelo, You will need grid supply 110V to test the transformer. Plug in two wires into mains 110V socket, one wire having a 60 watt or 40 watt bulb in series. Now cautiously touch the wire ends randomly across the transformer pins. The pair of pins that allows minimum glow or zero glow on the bub will be your 110V winding of the transformer.
Once confirmed connect the mains wires along with the bulb across those pins, and with a AC voltmeter start checking the outputs across the other pins of the transformer, and note down the corresponding data.
Marcelo Wainstock says
I did as you said, using a 40w bulb.
1 and 2: very weak
3 and 5: very weak
4 and 5: weak
3 and 4: strong.
The other combinations did not signal the filament of the lamp. I’m sorry, but I still do not know which wire to connect.
Marcelo Wainstock says
Thats transformer have 110v, 127v, 220v e 240v.
Swagatam says
From the winding which did not give any glow check there resistances, the one with lowest resistance will be 110V…connect the 110V AC with series bulb across this winding and measure the voltages from the other wires to know their details.
Wise says
Please sir I have some challenges in this high bridge inverter.
Swagatam says
you can specify them, will try to solve it!
Blendi says
Hi Swag, appreciate your effort, I have a question related to that circuit. How can I control the output voltage of this full bridge inverter? Have you done any study about that ? As I have researched a comparison between output and a reference voltage (feedback) is needed but I am not sure how to make it. Thanks in advance
Swagatam says
Thanks Blendi, You can control the output by upgrading the code such that one of the Arduino pins accepts an input from a feedback to adjust the PWMs fed to the NAND gates. I am not good with Arduino coding therefore for me it may be quite difficult to accomplish this.
Blendi says
Hi Sir, I have used this full-bridge circuit with 2 P-channel and 2 N-channel mosfets (this one in the top of the page) and I have supply the circuit with 6V DC so as a result I have received approximately 4V AC (peak to peak) in the output. Have I received the right result or not (why it is lower than our 6V DC)? In addition I wanted to know if using bootstrapping circuit with 4 N-channel mosfets full-bridge (The last one) is safer than this one with 2 P-channel and 2 N-channel mosfets or not ? Which one do you recommend and why ? Thanks in advance
Swagatam says
Hi Blendi, 4V is correct because the output from Arduino is PWM in the form ON/OFF 6V supply…therefore due to the OFF periods the average will be lower than 6V.
The lower circuit has not been investigated thoroughly by me yet, but the first one looks fine in every respect, the only thing that needs to be considered is the selection of the p channel mosfet which must have an RDS(on) similar to the low side N mosfet. You can read more about it here
https://www.homemade-circuits.com/how-to-implement-p-channel-mosfet-in-h-bridge-applications/
Swagatam says
…by the 4V is not peak to peak, it’s the average value, the peak will be 6V…also this is not AC, it is pwm DC
Blendi says
Do you have any e-mail address in order to send my result (The oscilloscope output) to you ? Because I couldn’t understand you last sentence.
Serđ says
Hi Swag,
So I don`t need to use delay ON timer and relay on positive wire, which is going to mosfets, if I`m using H-bridge configuration, or is better to use it?
How can I use voltage regulator with opamp741 with IC4093? Use opamp741 output transistors in series with resistor connected to output pins 8 and 9 of Arduino and then connected to ground? – so when the voltage is to high, transistors will short the signal through resistor(10Kohm) to ground and there won`t be any signal on pins of 4093?
Thanks for your help.
Swagatam says
Hi Serd, delay ON will be required for this project also, because during initial switch ON, the Arduino outputs could be in an undefined status causing the mosfets to conduct abnormally and blow.
You can connect the output of 7812 to the Arduino, 741 circuit and the 4093 circuit, all together commonly.
The output from the following circuit (BC547s) can be connected to the IRF540 gates. Just make sure to use a 220 ohm between the IRF540 gate and respective NAND outputs
Serđ says
Hi Swag,
I think, that is good idea to add delay ON to positive wire with relay too.
“The output from the following circuit (BC547s) can be connected to the IRF540 gates.”
So, if I understand right, I can connect opamp741 voltage limitor output directly to both bottom IRF540 and that will cause that the gate of IRF540 will be connected to ground when output voltage is too high and IRFs won`t conduct. I think, you meant that for previous design, with center tapped transformer, not this one with H-bridge. Correct me if I`m wrong. How to implement this with that design, so H-bridge?
In my opinion, better idea is to connect Arduino output pins, with BC547 outputs (opamp 741 voltage limitor circuit) to ground. That will cause logical “0” on Arduino pins and so on IC4093 input pins and all MOSFETS will be closed.
“Just make sure to use a 220 ohm between the IRF540 gate and respective NAND outputs.”
It is generally a good idea to include a gate resistor to avoid ringing (parasitic oscillation). A low ohm resistor will solve the ringing. I think the typical value of 10-100 ohms from IC4093 outputs to each MOSFET gates in bridge, could be just ok. Why did you choose 220 ohm? It`s good idea to add a high value resistor (about 10Kohm) from the each gate of P-channel MOSFETS to positive voltage (pull-up resistors) and each gate of N-channel MOSFETS with 10Kohm resistor to ground (pull-down resistors). Anyway, the good thing is that there is IC4093 Schmidt trigger and it provides full switching of MOSFETS (fully open or closed) and there is no “floating” voltage on gates, thanks to Schmidt triggers.
Thanks for helping me out. I will try to make this design practically when I get all components.
Swagatam says
Hi Serd, Sorry I forgot add the opamp circuit diagram, here it is:
https://www.homemade-circuits.com/wp-content/uploads/2019/03/Arduino-regulation.jpg
I was referring to the full bridge only not the center tap. The BC547 collectors can be connected with the low side n-channel mosfet with the gate connected to N2/N4 through a 220 ohm resistor. The 220 ohm would also work since the frequency is only 50 Hz, enough time to discharge the mosfet capacitance through the 220 ohm also.
If you are doubtful then you can add a BC547/BC557 buffer between N2/N4 and the mosfets, and then integrate this buffer with the volatge limiter as done here:
https://www.homemade-circuits.com/wp-content/uploads/2016/04/ac2Binverter.png
Shunting any circuit output is inappropriate, therefore Arduino output cannot be connected with the voltage limiter, this may lead to high dissipation and may be harmful to the Arduino.
Swagatam says
….yes Schmidt triggers are good, but only the p-channel and n-channel combination is not so good 🙂
Serđ says
Ok. So I must add gate resistor (10-220ohm) from N2/N4, to gates of lower N-channel mosfets and connect outputs with BC547 (opamp741 circuit), between gate resistors and mosfet gates. What about upper P-channel mosfets? Don`t they require gate resistor from N1/N3 too?
Thanks.
Swagatam says
If you use anything less than 100 ohm that will cause 4093 to heat up and dissipate, that’s why I recommend 220 ohm, alternatively you can use 220 ohm in series with 4093 Vcc (+) pin, and then use 10 ohms with N2/N4, this will do the trick.
the upper and the lower mosfets are in series, so any one of them can be used for feeding the pwm.
Swagatam says
….yes you can use 10 ohm for upper mosfets also…
Serđ says
Hi Swag!
Did you test this circuit, with Arduino code, IC4093 and MOSFETS in bridge? is it necessary to use both, so P-channel and N-channel? If I understand right, P-channel and N-channel is here because of transition, when the first 10ms period ends and second 10ms period starts, so that transition between periods is not dangerous for MOSFETS? If I use delay and use relay on +12V line, then I could use just N-channels? Will be 9V/230V transformer ok for 12V battery, we calculated the rms value of 12V to 8,5V rms with Arduino signal, so it could be ok?
Thanks for answer, Serđ.
Swagatam says
Hi Serd, As per the standard transistor biasing rules the source or the emitter must get the “ground” reference for operating through a normal base/gate switching.
That’s why p-channel is used on top and n-channel on bottom so that p gets the required positive “ground” reference and the n gets the negative “ground” reference.
If all 4 n-channel fets are used then the situation gets complex and requires bootstrapping a explained here:
https://www.homemade-circuits.com/h-bridge-bootstrapping/
The p channel n channel will also work but the p channel might show some significant heating due to incompatibility with n channel switching and higher R(ds) than n-channel.
The transition is perhaps handled correctly here, with the help of a “LOW” between the Arduino code sets, and also by the use of Schmidt trigger NAND gates IC 4093.
I have not yet tested this design practically!!
Serđ says
Thanks for your answer. So I don`t have to change Arduino code, because there is “LOW” command for signal, at the end of first and second period. Now I understand better, why to use P-channel at top and N-channel at bottom.
Swagatam says
That’s right Serd, Glad it helped!
Serđ says
I will use 9V/230V – 200W or 300W transformer with 12V car battery. If I use 200W or 300W, I can expect the primary current of: 200W or 300W / 9V= 22A or 33A. Let`s say that I use 300W, that mean current consumption of max. 33A on battery side.
N channel IRF540 datasheet is (100V and 33A) and P-channel IRF9540 (100V and 19A). Are max. current limits of MOSFETS added together, so 33A+19A= 52A? Or is better to use N-channel IRF3205 (55V and 110A) and P-channel IRF9540 (55V and 74A) with that power of transformer?
Swagatam says
The 33A will be the maximum current delivering capacity of the transformer, but actually 33A will be consumed only when the load is 33 amp, so it will depend on the load.
Current will not add across the mosfets, it will be 33A only, so both the mosfets can be rated at around 40A, higher values than this will also do.
Yes the last two mosfets look good and can be used.
Serđ says
So, if I understand right, the current in that schematic is limited to 19A, because the P-channel IRF 9540 MOSFET has 19A max. current limit, this means about 200W with 9V transformer? It doesn`t matter, if IRF540 has higher current limit, max. current of IRF 9540 is 19A, so 19A is max. current through. The current limits for both MOSFETS should be closely together. Let me know, if I`m right.
Swagatam says
The mosfet with lower current rating will start heating up fast and might ultimately burn. So for a 19 A device the load current cannot be increased above 19 amp, in fact not above 15 amp to avoid too much stress on the mosfet. The mosfet current rating must be sufficiently higher than the maximum load current you intend to use at the output.
R Vignesh says
Hello sir,
We tried to build the circuit as shown on the breadboard,but unable to get the output as spwm. Can you suggest what probable mistakes we might have made.
Swagatam says
Hello Vignesh,
What kind of output are you getting? I have not yet tested this circuit practically but I believe if it’s built correctly it will surely work.
But on breadboard the mosfet may have a high possibility of blowing even with minor hidden issues
Dhams says
Please sir can u help me with cascaded H-Bridge 5 level inverter circuit using arduino
Swagatam says
Hi Dhams,
I’ll investigate, and If it’s possible, I will surely try to update it.
Raghib says
Will it work i have input supply from 45v dc solar panel rating 300W to get a spwm unipolar based inverter (230v ac, 50Hz)where losses is minimum.How can i do please suggest me.Can i go for your full bridge inverter?How can i fixed ic and regulartor for 45dc input voltages.
Swagatam says
Yes the mentioned emitter follower BC546 concept will work for 45V DC input. The base zener will fix the output voltage. The above Arduino is a bit complex so i wouldn’t recommend this to you since you are a newbie. Instead you can use your own unipolar design without issues.
Raghib says
Thanks swag……Will ic4093(maximum rating 18v) not burn?if we supply 24v dc.
Swagatam says
It will definitely burn even at 20V, a 7812 IC can be used for preventing this issue.
R Vignesh says
Reply.
The mosfets were connected the wrong way and after fixing that we got the pwm pulses.
Thank you for your kind cooperation.
Swagatam says
That’s great Vignesh, let me know if you have any further issues with the design
Raghib says
Thanks alot swag……can you mention? What ic and voltage regulator should i prefer when constructing same design for 45v dc supply…….
Swagatam says
Hi Raghib, the easiest way is to use a transistor emitter follower regulator. Please see how the BC546 circuit is in the following article, for getting 9V
https://www.homemade-circuits.com/48-v-inverter-circuit/
Luna says
sir how are u? i have a question. In your 4093 ic logic, when pin 9 give pulse (=1). N1 = 0 and N2 = 0, so P channel (N1) = OFF and N channel (N2) = ON. Is it right? thanks
Swagatam says
I am good Luna, thanks, When N1 input is high, its output is 0, this 0 is applied to the input of N2 causing its output to be “1” or high, this allows the opposite diagonally positioned fets to conduct simultaneously and keep the other diagonal fets switched OFF.
Luna says
Oh thanks sir. GBU
Swagatam says
You are welcome!
Mehedi Leon says
Sir how r u? I have a duestion
we know sine wave inverter hard to design,
so what kind inverters are best for our normal house hold appliances? ( light, fan only)
Modified sine wave or PWM what is best?
Swagatam says
Hi Mehedi, both will work, PWM inverter is also a kind of modified inverter but they are better than ordinary modified ones. If you apply proper filter stage at the transformer outputs both versions will work quite efficiently.
ENGR BASHIR says
thank u sir
ENGR BASHIR says
Sir we realy appreciate with ur effort. please sir can u help me with pure sine wave inverter circuit using ATMEGA32 IC that include LCD DISPLAY
Swagatam says
Hi Bashir, I do not have this design at the moment, if I happen to find it I’ll let you know…
ENGR BASHIR says
Sir is there any programming code require for this circuit
Swagatam says
link for the code is given in the article, please check it.
Ethan says
Thanks Swag, I have a question, why you use or for what is use the IC 4047 in this circuit, I am a noob on electronics and I would like to know more about the IC 4047
Swagatam says
Hi Ethan, IC 4047 is an oscillator IC, which has two outputs for generating a frequency with alternate ON/OFF switching, meaning when one of the two outputs is ON the other will be OFF and vice versa, the oscillation rate depends on the adjustment of an external resistor/capacitor values connected with another set of pinouts of the IC
Ethan says
Ok thanks, and I have a big question, what pin are conectted to which mosfet, can you explaine me, for example “pin 12 its conected to IRF9540”, like I said im a noob on this
Swagatam says
The mosfet gates are connected to the NAND gates from the IC 4093, you can see the IC pinout diagram at the bottom section of the article, you can see which pins are internally connected with its internal NAND gates. Just compare the IC layout with the gates shown in between the Arduino board and the mosfets, you will get an idea how the IC 4093 needs to be configured
Vhafuwi says
Thanks for the prompt reply , Due to the simplicity of the circuit , I am constructing after testing I will design the PCB layout and order few boards ,
One question Though
For the SPWM output , what will be more efficient comparing Aduino Atmega328P / IC4047 /SG3525 , I have been considering IC4047 for its straight forward use ,
Any Idea how to get Puse Sine Wave out of IC4047 to feed in the above circuit.
Trying to get this circuit cheaper and efficient as possible
Swagatam says
4047, 3525 cannot be used directly for creating SPWM, you may have to apply an external SPWM chopper to enable sine waveform from these ICs.
If Atmega is coded with SPWM just like the Arduino, then it might also work as effectively as the Arduino.
for 4047 yo can refer to the following post
https://www.homemade-circuits.com/pure-sine-wave-inverter-circuit-using/
vhafuwi says
Hello Swagatham , what is the alternative to IC4093
Swagatam says
Hi vhafuwi, you can try IC4584B, and use 4 out of 6 available gates, and terminate the inputs of the unused 3 gate appropriately
vhafuwi says
Hi Swagatham , you blew my mind, I have a couple of none center tapped trafo`s from damaged driver inverters ranging from 24V, 36V , always love full bridge , I will try 24V , then 36V for 48V input output 240VAC
Thanks again
Swagatam says
You are most welcome vhafuwi, keep up the good work.
Dylan says
Hi Swag, do I have to bridge the paired inputs on the 4093, Ie Pin’s 1 & 2; 5 & 6 etc?
Regards D
Swagatam says
Hi Dylan, yes the inputs of all the gates will need to be shorted.
Dylan says
Thank you Sir!
I built it this morning: https://imgur.com/a/xrMajrw
Will connect it up tonight after I get home from work
Swagatam says
That’s great Dylan, I wish you all the best, just make sure the mosfets are correctly connected before you apply power….
Dylan says
Hi Swag, I built the system and it seems to be working. I used a 12V power supply boosted up to 24V in place of the batteries and I was able to get an AC reading on both sides of the transformer. The problem is I am only getting 4V there. Is this because of the power supply?
Thanks again for taking the time to help me out 🙂
Swagatam says
Hi Dylan, yes it could be due to power supply, however the secondary should have shown higher voltage if both side mosfets are conducting correctly.
you can confirm the design with a 12V transformer and 12V power supply and check the response. Once confirmed you could then go ahead with 24V
Nitonito says
thanks Swag for the update and correction in diagram i’v tried the simulation with TL494 an the input cd4093 and it works fine as a modified sine so am gonna build this and see sine i like h-bridge more than centered type.
pics attached
http://www.mediafire.com/?96fb9vdahpidh
Swagatam says
Thank you very much Nito, I hope you succeed with your project, but remember TL494 is specified to work with minimum 1000 Hz so it might not work correctly below this frequency
Nitonito says
Thanks once more for the info. Will SG3525 be okay if i use, from the data sheet it’s frequency is 100 Hz to 400 kHz and i already have one circuit built as well as the TL494.
am yet to get 4093 ic to test the whole project
Swagatam says
yes SG3525 will be OK, alternatively IC 4047 can be even better