Using a Mosfet H-Bridge with a Peltier Cooler/Heater


I am working on a project where I am using an H-Bridge to control a peltier cooler (60W, 12V, supercool PE-127-14-15-S). I am using an arduino pro mini and have written code where I use serial communication to send the set temperature to arduino, and the mode (heating or cooling) which it then stores in the EEPROM. I have implemented a PI control loop to control the temperature based on an analog input from a thermistor. The software is working fine and when I use LEDs across the h-bridge, I have no problem switching the polarity and it supplies a full 12V. However, when I attach the peltier across the h-bridge (I can still switch the polarity, i.e. heat and cool), but then I only have a voltage drop of 8V for both heating and cooling. I am using a 12V, 12.5A power supply so power is not an issue. I am using 2 N-Channel MOSFETS (BUZ11) to drive my high side P-Channel MOSFETS (FQP27P06) and have 2 N-Channel MOSFETS on the low side of my H-Bridge. I have 1K resistors between the gate and ground for the n-channel MOSFETS, and between the gate and 12V for the P-Channel MOSFETS. From my calculations, the peltier has a resistance of about 2.42 Ohms and the N-channel have a resistance of 0.03 ohms and the P-channel have a resistance of 0.055 Ohm, so I should still have a voltage drop across the peltier of about 11.6 V (which is much more acceptable than 8V).

Any help on why I am seeing such a substantial voltage drop across the peltier would be greatly appreciated.

Cheers, Jonathan

Any help on why I am seeing such a substantial voltage drop across the peltier would be greatly appreciated.

Whatever voltage you aren't dropping across the peltier, is dropping across either the high side or low side (or both) mosfets. You can measure to see which, and then figure out why you aren't driving the mosfet(s) to saturation. I suspect you aren't meeting the gate drive voltage required for full turn on. Gate drive voltage requirements will be different when driving a 10 amp load like the peltier, compared to LEDs.

A drawing of the H-drive circuit and datasheets of the MOSFETs should be able to figure it out.


What is the measured voltage drop across the h-bridge itself when the cooler is operating? If it close to the voltage drop across the cooler, then your power supply may have different specs than you expect. Is the resistance of your cooler measured with a multimeter or calculated from other parameters? What is the voltage drop across each MOSFET when in operation?

You can't drive BUZ11's direct from the Arduino, its not logic-level and needs 10V on the gate to turn on.

Maybe a solution to driving that FET:


I am also working on peltier element could you please share the PI control loop code. it will be helpful for me to carry out my project.

With 1 post made more than 4 years ago, I doubt he's monitoring this thread, much less able to find the code from 4 years ago.

There's a lot of PID libraries out there. I don't trust any of them but I've never looked closely.

If the power supply is "not an issue" then I would sure look closely at the gate drive. An elementary diagram of this control would probably help a lot.