Noise from power supply when using high wattage and PWM

I have a project where I am incorporating a Peltier cooler (uses 4.5 amps at 12 v or 6.4 amps at 16.4 v) for use as a dehumidifier. I would like to be able to actively control the temp of the Peltier using PWM. I would like to keep the temp a few degrees below the dew point (if I run it at full power all the time it runs at -10 to -30 C and just makes ice).

Before actually installing this circuit into my setup I decided to test it using a 12v 4.5 Amp halogen lamp. For my test circuit I have exactly the setup shown on this website connected to digital pin 3 of an uno. http://bildr.org/blog/wp-content/uploads/2012/03/rfp30n06le-arduino-lightbulb.png

The first power supply I tried was a wall adapter type (12v 15 Amp). Instantly the adapter made a terrible buzzing noise and within a minute or two died. I purchased a larger computer power supply capable of putting out 35 Amps on the 12 v line. Although it doesn’t kill this power supply it still makes a horrible buzzing when the PWM is anything below 255 (loudest buzz near the 0 end). The light and Peltier work(ed) fine without the PWM on both power supplies.

What is going on? I assume feedback from the arduino circuit is messing with the switching regulators or other electronics in the power supply. How do I solve this problem? I have a few thoughts some seem impractical and some I just don’t know if they will work. - Battery tied to a recharging circuit - Battery supplies the power to the circuit (rather impractical) - Decoupling capacitors – I tried a couple arrangements using 100 uF and 220 uF liquid caps and it seemed to do nothing but I know almost nothing about the size, placement or type of cap I should use for this application - New power supply – maybe there is a type of plug in power supply that is not subject to this interference Thanks for any help you can give!!

The default PWM on the Arduino is quite a low frequency, 1000 or 500Hz roughly, depending on pins - that's probably a lot lower than the supplies are happy with (at higher frequencies the decoupling capacitors in the supply will hold their own, but at low frequencies you are pumping the supply up to full load then down to next to nothing all the time, a mode it may not have been designed for.)

You could try adding more decoupling to the supply. Several thousand uF of high ripple-current rated electrolytics I'd guess.

The buzzing is normal, the ferrite cores of the transformers change shape as the magnetic field changes, so act as speakers to a degree.

It may be that you simply need to boost the PWM frequency up to something higher... The Arduino timer registers can be directly programmed to achieve this (search these forums). Be sure your switching circuit can cope with the frequency though.

But be aware that peltier devices aren't necessarily going to like PWM either, I've heard that they perform better with analog power control. So some sort of programmable buck converter might be a technically better way. Tricky to find or make though.

Thanks for the excellent advice! Bummer to hear Peltier's dont like PWM. My testing of it seemed to give me great control of temp (if I could stand the buzzing). What would be the limiting factor in whether or not my circuit could handle a higher frequency? The MOSFET? What else would changing the timer registers change on the arduino? The arduino I will be using it on logs sensor data using an sd card and clock module and also controls a couple relays.

Hi, have you used the Search Forum window in the top right hand corner of this page. search for peltier

There has been a lot of different threads, might be worth reading to see if similar problems

Hope it helps... Tom..... :)

The first power supply I tried was a wall adapter type (12v 15 Amp). Instantly the adapter made a terrible buzzing noise and within a minute or two died.

As MarkT said, this is a problem with the lack of large decoupling capacitors on the power supply. You need to add them the power supply's capacitors alone are not sufficient to cope with the current ripple.