need help to understand how to set up an effective H BRIDGE

Hi, i’m martin,
Here my situation : for a project i need to switch the polarity of a Peltier element, in order to make one the face either cold or hot.
So I started to play with IC hbridges ( with sn754410 or LN298), and the swithing worked but the temperature efficiency was a bit disappointing comparing to wiring the peltier element directly to the peltier element (the hbridges became really warmer than the peltier). I understood it’s because of the transistor voltage drop.
So that’s why I tried to build a hbridge circuit, with transistors choosen for the current speficities i need (transistors are saturated with an arduino current pin in 3.3V, and the peltier element needs 1 amp and 3.7V to be really cold or hot)
I also decided to use mosfets instead of transistors, i don’t know if it’s a good ideas but i understood there’s no voltage drop with them (my supply is a 3.7V battery).

I set up this after following different turorial :

Again it worked but not really efficient.
So i tried to make just one mosfet works, with a npn :

When the gate is plugged in to the 3.3V, it’s awesome, it’s really hot or cold.

Then I tried with the pnp :

When the gate is UNplugged in to the 3.3V, it’s awesome, it’s really hot or cold.
But it’s also the case if i plug the 3.3V to the gate ! no on or off effect.

Just to see i change that :

And it works ! good temperature and on/off works.

So I conclude I cannot make it work if i connect the peltier between the drain and the ground. I need to connect my device between the supply and the source.
So if i read all hbridges schematics on internet, on PNP, motors or any devices are connected between the drain and the ground, or with transistos between the collector and the ground.
I must have mess something…? I also tried with a pnp transistors, same problem… Don’t understand anything
If somebody can help me to understand what happened ?
Thank you very much


Peltier devices require a lot of current and it is difficult even for experienced engineers to design an H-bridge that will work in such a situation. I recommend to buy a high current brushed DC motor driver based on MOSFET transistors, like this one Pololu - VNH5019 Motor Driver Carrier

That one won't work with a 3.7 V motor supply (most high current H-bridges won't) but you can use PWM to reduce the average current to the Peltier if that is necessary. This one will deliver less current (2.4 amperes continuously, maximum) but will work at 3.7 V: Pololu - DRV8833 Dual Motor Driver Carrier

First you'll need to find MOSFETs that are logic level and work down to 3.3V drive.

Secondly you'll have to give up on the idea of powering the bridge from 3.7V and
the Arduino from 3.3B - they must be the same if you are to guarantee switching
off the p-channel MOSFETs, logic-level MOSFETs need Vgs to be zero, basically,
to switch off properly (the 0.4V difference (or 0.8V for a fully charged LiPo) could
be enough to turn the devices partially on.

You want MOSFETs with Rds(on) of 0.1 ohm or better ideally, at 3.3V drive (or
perhaps at 3.7V drive).

Does "Peltiering" require PWM?
If it's a matter of: On one way, or On the other way, or Off
then I say -

A DIY H-bridge discussion that might be informative.

Peltier devices for heating/cooling don't need PWM - like any similar heat moving (or generating) system, there is a huge thermal lag that occurs.

That doesn't mean you have to use relays for h-bridge control (though it would be much simpler to DIY such an h-bridge for the currents involved) - just that you don't need to worry about using PWM, regardless of whether you are using relays or transistors/mosfets in your h-bridge.

Thank you for all the reply
So I understand my problem is : p channel mosfet must be powered with a voltage at least higher than the Source voltage.
I actually choose 3.3V because in this project i also have a GPS, which must be supplied with 3.3v. But the arduino power is a 3.7 lipo I just down the power to 3.3v to simplify all the circuit.
But even if I use 3.7v to power the mosfet, since the fully loaded battey is 4v, so it won't work again (as you told me MarkT right ?)

Here the n chanel mosfet i use :
The Pchanel is the equivalent with a VGS of 2.5V

I'll try the part you advice me jremington, thank you !

Here the n chanel mosfet i use :
The Pchanel is the equivalent with a VGS of 2.5V

That’s not a logic level mosfet. The 2.5V VGS(TH) is the threshold rating – the point where the mosfet “just begins” to turn on. Figure 3 (page 3) on your datasheet shows that you need about 6V before the mosfet starts conducting at its full capacity.

Figures in datasheets are usually "typical values", which for gate voltages isn't
reliable because of the large spread in threshold voltages.

You look at the Vgs spec for the Rds(on), that's the only meaningful spec for on
gate voltage. That device has specs for 10, 5 and 4V so you can drive it with
as low as 4V, but no lower.