Polarity Reverser?


I'm back again with my amateur questions (-:

I'm going to be hooking up a peltier to my arduino through a power transistor (the peltier pulls 1.2A at 5v (!)).

As you may or may not know, a Peltier cools on one side and heats the other, creating a temperature difference between the two. I've got heat sinks and fans all worked out, etc. When the polarity is reversed, the heating and cooling sides are inversed, as well.

In the default configuration, the peltier will be a cooling device (cold on the inside of my cooling chamber, and hot on the outside). This part is relatively simple.

However, I'd like to be able to reverse the polarity of the peltier, electronically (by either lighting up a 2nd pin on the arduino, or by perhaps turning the pin off). I have no idea how to do this electronically. Is there a device that I've never heard of that does this? Would I need to use a dpdt relay or similar?

My power supply can deliver +5v and also +7v (+5v -> +12v).. not sure what 7v would do to the thermistor, but maybe I can buffer it with an appropriate resistor or something.

In any case... ideas?



the standard way to reverse the polarity is to use an “H-bridge”. one quick way to get where you’re going would be to use an R/C electronic speed controller, which is an H-bridge in a nice package. It lets you send a PWM signal that varies the output form full reverse (polarity in this case) to full forward, with lots of steps in between. Here a link:

If you want to build or buy an H-Bridge, here are a few links:
Solarbotics H bridge: http://downloads.solarbotics.com/PDF/KCMD-L298_Compact_motor_driver.pdf
DIY H bridge: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1138310274/30

One thing you will have to bear in mind is that the H bridge IC’s generally have two power supplies: 5V for logic, and 7 to 35V for the power side of the bridge. the L298 needs minimum 7 or 8 V to operate on the power side, so perhaps the RC speed controller is a good option, as it works on 5 or 6V all around.


PS: oh yeah, you could also use a relay, that’s the $2 solution. get a Tip 122 and a relay… there is a diagram in the tutorial section of the Playgrund.

Thanks for the pointer in the right direction. I don't need anything as complicated (or expensive) as an RC controller. I basically need forward and reverse. I don't really even need off (although I WOULD use it if I had it), and I certainly don't need speed control.

Would something like this do the trick? It looks cheap and easy enough: http://www.mcmanis.com/chuck/Robotics/tutorial/h-bridge/bjt-circuit.html



yes that would work.. but sounds like you just need a good old relay. Put a protection diode across the relay, and get one whose contacts are rated at A or more. Larger contact surface area will mean less arcing, in theory. Here's a diagram: http://www.arduino.cc/playground/uploads/Learning/relays.pdf


Hi again,

Here’s what I came up with for a circuit. Is it close? (don’t want to fry my new arduino (-: )

ignore the LED… pretend it’s a relay (-:



yes that is it it :)

if the relay is big (over 100ma coil current), use a TIP122 transistor. Under that you can use a 2N2222, with a 1K base resitor for both transistor types.


Well, I picked up a TIP102 (clone, so the shop tells me) last week when I thought I'd have to drive this thing directly, so I'll use that for now, unless I can scrounge a 2N2222 from an old PCB or something (-;

Thanks so much for your help.


no problem…

you should try eagle cad for your schematics, it’s faster and clearer than doing it by hand. If you’re just starting out with it, you only really need three commands:
add to add components
net to connect them up, and
mov to move them around.

It makes very nice schematics. That said, there are some open-source ones around, but I haven’t tried them.


PS the TIP 102 is perfect, that’s what I meant to type.