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, let's learn the details below:
In one of our earlier articles we comprehensively learned 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 left 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.
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)
Using 4 N-Channel Mosfets
We are all aware of the dangers or disadvantages associated with p-channel mosfets when these are used as high side drivers along with n channel mosfets as the low side drivers.
The main factor is the RDS(on) incompatibility between the p and n mosfets, which necessitates the selection of the p-channel to be extremely precise and on par with the RDS(on) of the complementing n-channel mosfet. This results in the p-channel being relatively bigger in size than the n-channel mosfet.
To eliminate or avoid the above hassles H-bridge topologies are popularly based on 4 n-channel mosfets instead of p and n channels. However, this yet again does not come easy, and requires the stringent incorporation of a bootstrapping network.
After some study and research I could finally crack a rather simple H-bridge design using all n-channel mosfets, which could be incorporated with any square wave push pull IC.
The design could be also used with the above explained Arduino network. The design can be examined in the following diagram:
The alternate clock input terminals must be integrated with the NAND gate outputs which will act like level shifters here.
The input diodes and the bootstrapping diodes could be a 1N4148. The capacitor can be 0.22uF, having a voltage rating of 15 + the drain side voltage.
The PNP/NPN pairs can be made using BC557 and BC547 transistors