I'm trying to drive a Peltier element using the VNH2SP30 motor driver, switching at the Arduino's PWM frequency of ~970 Hz (which is extremely low, but I'm planning on increasing the driving frequency to 15 kHz).

For now, with no experience on LC low pass filters, I'm struggling to filter the power delivered to the Peltier element.

I'm using a combination of 5 mH ferrite core coil with a bulky 4700 µF capacitor, which is showing a relatively smooth output waveform on the scope. Unfortunately, my inductor is getting really hot, so that I can't keep my finger on it. PWM voltage : 12v Duty cycle : 70~90% Inductor current rating 2.5 amps Inductor DCR: 73mOhm Cap ESR : 0.5 Ohm Max ripple level :10% Peltier driven at 2 amps max Peltier specs: https://www.google.com/url?sa=t&source=web&rct=j&url=https://peltiermodules.com/peltier.datasheet/TEC1-12706.pdf&ved=2ahUKEwjagdz5gZDyAhV1CmMBHYotDasQFjAAegQIBBAC&usg=AOvVaw0pXUw93x3BX9LqFe4th0vf

  • What is going on in the filter?
  • Why is the inductor heating up that much?
  • Is there any way to improve the filter? enter image description here
  • 2
    \$\begingroup\$ Few questions you should clarify: If you use PWM, why do you have an LC filter there to begin with, why not simply use PWM as PWM without LC filter? Since you have an inductor, is it rated for the current required by the peltier element? Because if you don't know if it can handle the current, why did you decide to use it? You should maybe post schematics what you have connected and how. \$\endgroup\$
    – Justme
    Aug 1 at 12:03
  • 3
    \$\begingroup\$ @Justme Driving Peltier elements with unfiltered PWM is a bad idea. ti.com/lit/an/slua979a/slua979a.pdf?ts=1599500951934 \$\endgroup\$ Aug 1 at 12:09
  • 1
    \$\begingroup\$ 1) why would you need to use PWM? The response time of a Peltier element is so large (it cannot heat/cool instantly) that switching on/off at a rate of once per second (1 Hz) will be more than sufficient. But feel free to prove me wrong and show that you do need PWM and filtering. 2) Even if you use PWM, you don't need filtering, the Peltier element doesn't care as it is too slow to "notice" the 970 Hz anyway. Again feel free to prove me wrong. ... \$\endgroup\$ Aug 1 at 12:10
  • 2
    \$\begingroup\$ YOu need to understand impedances on each component to understand what's wrong \$\endgroup\$ Aug 1 at 13:58
  • 2
    \$\begingroup\$ Show a schematic in question of ALL values used, rather than ramble in comments , pls \$\endgroup\$ Aug 1 at 13:59

Time constant in coils L/R is relative constant for a given design sizing, where R is the coil DC resistance ( DCR in spec ).

But Inductor impedance reduces with lower f. So when you choose a lower L with lower loss ,DCR you have to raise fsw to obtain the same impedance ratio.

Then knowing the minimum R of the Peltier device and Xc cap impedance and XL choke impedance you choose the parts for low ripple and low Q which is a tradeoff.

Losses in Peltier devices increase with ripple voltage, so find good specs for optimal tradeoff on efficiency and ripple voltage would be a good start.

You have the wrong filter impedance causing massive circulating currents in the LC part. 25% of the power at 500Hz is dissipated in DCR loss.

enter image description here If driven at the resonant frequency near 500 Hz the current increases x ~30 times or 28 dB around LC and not into load.

Since I guessed at your Peltier device with no specs, this is all I can say for now until your revise your question with all values of V, PWM f , duty cycle, L,DCR, C, ESR, and Peltier specs

using 8V 2.4A enter image description here ~ 3 Ohms while LC at 500 Hz is 0.3 Ohms

When you add DCR to L and ESR to C all the energy is dissipated in these parts, so a precise filter spec needs all parameters to choose best Buck converter for a 2 to 3 ohm load

Assuming L enter image description here

Solution (Change L to much lower DCR)

enter image description here

  • based on new info for Peltier at 26 , 50 'C on hot side.

Lessons learned: Always be conservative on L current limit and choose one greater than max. I chose C because I know that low ESR caps are ~ 10us so from R=T/C, 220 uF ,you can find low DCR caps = 10 us/220 uF = < 50 mohm and reducing L by 5 in same form factor also reduces winding loss by 5.

  Imax (Amps)    6.4        6.4
  Vmax (Volts)  14.4       16.4 
  Resistance (Ohms)  1.98   2.30
  Power  (Watts)  92.2     105.0

Root Cause design fault: Inductor DCR 73 mOhms @ 6.4A exceeds spec of 2.4A ,max as Pd= 3W will get too hot you need Pd < 0.5W so DCR must be 0.5/3 * 73m= 12mohm which results in lower L and thus higher f needed or more ripple . Cap must also have ESR < 5 mOhm as they are less heat conductive.

This however has very high Q at 1kHz so startup will amplify losses 10x in 50 ms to 5 watts or so.

Thus C must also be reduced then ESR increases so losses on here are critical.

Consider required f for ripple at 220 uF 50 mOhm low ESR. I suggest 20 kHz min. Let's see the Q next based on step response from 70 to 90% at 20kHz.

enter image description here


  • Looks good and Pd in L is < 0.5W ripple < 3mVpp

But you decide on your specs if it looks good.

  • \$\begingroup\$ Stewart, you are captioning my pain, what you said is exactly what i need yet dont know how to do. \$\endgroup\$
    – Emad
    Aug 1 at 12:39
  • \$\begingroup\$ Do you know formulae for reactive impedances? Search for RLC nomograph as well. Consider reduce L /10 and reduce C/10 and raise f x 10 or more \$\endgroup\$ Aug 1 at 12:45
  • 1
    \$\begingroup\$ Thank you Tony, I know where to look now \$\endgroup\$
    – Emad
    Aug 1 at 14:30

The problem with filter designs is knowing ALL the impedances of every part and power loss ratings. Then a simulation of the filter demonstrates the difference. The effects of R loss is linear as a ratio of your output power in series. Thus for a 100 W load and a series choke loss of 0.5 W the DCR must also be the same Ratio. e.g. for load = 2 Ohms, 0.5Wloss/100Wload * 2 ohm load = 10 mohms DCR. But as number of turns reduces DCR , so too is L reduced so ripple increases for same f.





Step response, PD and ripple shown


First on why your inductor is heating up. What happens when your cap is charged and the pwm in is at low? Inductor behaves (almost) like a resistor discharging the cap into your pwm. probably not desired. Did you mean to add a diode between inductor and cap to prevent this or maybe to use a resistor to control the dissipation? I'm guessing the D1 is there to protect that pwm from having current pulled by the inductor through. D1 doesn't help in this scenario where current is being pushed by the cap instead (which will lead to being pushed by the inductor when the cap lacks charge to push).

When attempting something like this, start simple and work up. As some comments allude, you really don't need fancy filtering for a peltier if you have control over the pwm. A thermal mass itself acts as a low pass filter. Start with a power supply (rated to peltier voltage and over double the peltier current), programmable pwm source, a mosfet (your motor driver works), a high wattage resistor (to limit current through the peltier), and the peltier+heat sink. That should make for a decent learning peltier control setup.

Once you get the feel of that system work on replacing that resistor with a more efficient current limiting method.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.