H bridge with an unfiltered sine wave from an arduino

Please let us in the comment zone any suggestions that you think will improve the article!

If you like the article click the follow button  to stay in touch with us!

1.H bridge design

In this post i’ve made a H bridge controlled by an arduino, for creating a sine wave signal with higher current and voltage than  arduino can provide. In this post, the method and the software program used to controll the bridge can be found.

The signals come from arduino to four mosfets through four drivers. These four mosfets are 2 n channel and 2 p channel and the drivers are TC4421AV and TC4422AV.

To understand better most of this post please read the datasheet of the drives. Basically they take the signals from arduino (TC4421 invert it) amplifies them and controls the transistors.

The wiring diagram of the h bridge with the drivers and arduino is:

h bridge design

Now, let’s talk about this diagram.

As i said before i’ve used 4 mosfets 2 p channel and 2 n channel. At one moment two of these mosfets are enabled that’s why an input from arduino is connected at two drivers (A-A and B-B), each for a type of mosfet.

When a high pulse from arduino (5 volts or 1 logic) enters into the drivers, the driver takes the signal and controls the transistors. P channel mosfets are driven from TC 4421 because, to enable those transistors, their gate must be connect to the ground and for blocking them, their gate must be at higher voltage; so when TC4421  receives a higher input it makes his output low and when it receives a low input it makes his output high.

The TC4422 drivers are opposite to TC4421, which means that when they receive a high input it creates a high output and viceversa. From this reason these are used to control the n channel transistors, like in the following image:

h bridge pwm signals

A problem with this is that if you want a higher  Vcc value you need another power supply for VD drivers  (max. 18 volts). An important thing to remember is that for arduino and other power supply, they must have common GND, otherwise things won’t work.

With this design on the output of the h bridge, the signal is almost the same with the input signal unfiltered.

Next, all the parts mounted on a PCB are presented :

h bridge pcb

Apart from the above diagram,  there are some small ceramic capacitors (for drivers-see datasheet), an electrolitic capacitor for VDD –  because is common with VCC (12Volts for both drivers and H bridge) and a 300o hms resistor as a load.

Again, the signal at this stage would be unfiltered (i hope to make a filter in order to smooth these signals but it’s a tricky job).

Another thing you need to know is that i used a dc power supply and not a battery (12 volts 3 amps).


2.H bridge output signals

Let’s see some obtained signals:

-from arduino pin (pwm-5 volts) – only for a half duty cycle:

arduino pwm pin signal

-from arduino pin (pwm-5 volts) – only for both half duty cycles:

arduino pwm pin signals for both half duty cycles

-from the output of the h bridge (both half duty cycles) without load:

h bridge output pwm signals for both half duty cycles without load

Without load, the signal is square wave – i must admit that i don’t know why (but i assume that), from a capacitance of the pcb the voltage won’t drop to zero in pwm.

-from the output of the h bridge (both half duty cycles) with load (300o hms resistor):

h bridge output pwm signals for both half duty cycles

As you can see, this signal have aproximately the same form as the signal from arduino pin, but the voltages are different – from 5 volts on arduino  to  14 volts at the output of h bridge.

Ok, now let’s have a look on the signals with a different load, like an halogen spot (12 volts 16W):

h bridge output pwm signals for both half duty cycles with halogen lamp

You may observe a little difference between Vmax on the positive half duty cycle and on the negative half duty cycle. I must say that even when my oscilloscope is not measuring anything, it has around 200-400 mV difference so i think the difference it’s from the oscilloscope .




Related posts

2 thoughts on “H bridge with an unfiltered sine wave from an arduino

  1. IP

    Very interesting.
    I like your post and it is very useful.

  2. Behzad

    Hi thank you so much
    I have a problem with this article.
    I couldn’t find IRLB4132 mosfet in proteus library. Is there any similar n-channel mosfet that I can replace it???
    How do you choose mosfet for h bridge???

Leave a Comment

Show Buttons
Hide Buttons