Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Modulating dual DC power supplies to output bipolar voltage with varying current for operating a Peltier

FatSeagull

Newbie
Newbie level 3
Joined
Mar 18, 2025
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
93
Hello. Apologies in advance if this is not the appropriate place to post this thread.

I am a graduate student with background in Biology, but I have fiddled around with some basic Arduino Projects in the past.

I am trying to create a replacement setup for one of the experimental setups in my laboratory, as the old setup is malfunctioning.

The setup in question was built by a previous graduate student (that long since graduated), that had an extensive EE background. Furthermore, he left behind zero documentation on how the PCB that he custom-built works. Because of this, I thought it'd be better for me to take a crack at building a replacement.

To give a short summary of what this setup is supposed to do: The setup maintains a Peltier Pad at user-specified temperatures by supplying the Peltier with some variable DC current. The peltier can be heated and cooled. To cool the Peltier, the setup reverses the polarity of the DC current. It then uses a closed-loop PID system to adjust the current being provided by collecting data from a temperature sensor that is adhered to the Peltier.

The old setup used two DC power supplies that provided a voltage of 8V in series, so that the + terminal of the 1st supply was hooked up to the - terminal of the 2nd supply, which served as the '0V' reference.

Since 8V is greater than the 5V operating voltage of the Arduino, I was recommended a relay shield for this purpose. However, I am at a loss as to how to control the output current. My first thought was using a variable resistor, but apparently for such voltages, this is a terribly inefficient idea, and also there are few variable resistors that can be automatically controlled in this voltage range.

Are there any suggested methods that would enable me to use a microcontroller to vary the polarity/current of the output from a dual-power supply setup based on the closed-loop feedback?

Thank you very much for your help in advance.
 
You probably don't need to vary the output current at all. The Peltier device almost certainly has a high enough thermal mass to simply switch it on and off to control the heat/cooling it produces. This is especially so if it is mounted to a conductive surface as it would further increase the thermal mass.
Given that the heat won't change rapidly you can pulse the current at quite low speed, maybe several seconds on and off by feeding the current through the relays. I don't know the configuration of your relay board but typically it would be wired like this:
power ---> on/off relay ---> polarity reversing relay ---> peltier.

The amount of heating or cooling is decided by the on to off ratio of the 'on/off' relay and whether it is heated or cooled by controlling the 'polarity' relay.

Brian.
 
You probably don't need to vary the output current at all. The Peltier device almost certainly has a high enough thermal mass to simply switch it on and off to control the heat/cooling it produces. This is especially so if it is mounted to a conductive surface as it would further increase the thermal mass.
Given that the heat won't change rapidly you can pulse the current at quite low speed, maybe several seconds on and off by feeding the current through the relays. I don't know the configuration of your relay board but typically it would be wired like this:
power ---> on/off relay ---> polarity reversing relay ---> peltier.

The amount of heating or cooling is decided by the on to off ratio of the 'on/off' relay and whether it is heated or cooled by controlling the 'polarity' relay.

Brian.
Hello, and thank you for responding.

If I understand your response correctly, you are suggesting controlling the peltier temperature by varying the duty cycle of the current, right?

I initially wanted to go down this route, but after reviewing an old video of the experimental setup (before it broke) running, I was discouraged.

The reason being, one of the temperature settings that the old experimental setup was able to support was varying temperature in a sinusoidal manner.
In the video where the old setup is outputting sinusoidally varying temperature, it does seem like there is current modulation going on.

To be specific, it seems like the DC power supply that has a 'positive' voltage gradually increases its current at a rate proportional to the required rate of heating, and vice versa for the 'negative' Voltage DC power supply. There is negligible current coming from one DC power supply when the other is currently cooling/heating.

Given this, would doing pulse width modulation on the DC power supply achieve the same effect as current modulation even if the required temperature output is constantly changing in the form of a sinusoid?

Thank you.
 
Peltier elements have mostly resistive characteristic, doesn't matter if you control voltage or current or e.g. duty cycle of a buck converter to set operation point. Switching converter is strongly suggested for high efficiency, polarity switching can be e.g. achieved by a MOSFET bridge as commutation.

It's important to supply peltier element with DC current, at least not too much ripple (< 20 %) to avoid additional losses.
 
Hello FvM, thanks for clarifying. I have some follow up questions.

1) To clarify your remark about peltiers having 'mostly resistive characteristic', you're saying that I just need to change the dissipation rate of energy to control the temperature, which can be done through either voltage/current modulation right?
2) When you say that a switching converter is more efficient, you're saying that's more efficient compared to something more basic like a voltage divider, right?
3) For polarity switching, I did some digging previously, and was told that an H-Bridge was one way to achieve this. For my particular application, would you use this method or are there other ways of polarity switching that would be more appropriate?

Sorry if I'm asking too many questions. Building a project like this is simultaneously intimidating but also exciting.
 
You can use relays as you originally proposed or a H-Bridge, the really critical consideration is the thermal mass you are controlling. Peltiers are generally fairly large and usually thermally bonded to something, perhaps a container for whatever you need to keep at set temperature. It therefore makes little sense to think in terms of microsecond pulses of current, you may need seconds or even minutes of power being applied for the temperature to change significantly. For that, if you want to experiment and keep things simple, you can use relay control and just on/off full power. Shorter periods mean less heat/cooling and longer periods for more heating/cooling. The temperature will obviously ramp up or down to some degree but that's where the thermal mass will average it out.

If you go down the H-Bridge route you avoid using relays and that might improve reliability but at the expense of more complicated electronics. You can still use the same principle of using the bridge to turn power on and off and to reverse the polarity but when the mechanical limitations of a relay are removed, you can do it faster and hence reduce the ripple in temperature.

Both ways control the heating and cooling by applying full power but for a variable repeating period so the average effect is "power/time" rather than analog control of the current through the Peltier device. You can read more about this if you research PWM (pulse width modulation) which uses the same principle. In essence a switch turned off does not dissipate any power because nothing flows through it and a switch turned on only dissipates power from resistive losses in its contacts, almost nothing in both cases. In contrast an analog system works by having the capability to provide maximum power but diverting any unwanted excess as heat elsewhere.

Personally, if you want to use Arduino, I would go for the H-Bridge option and drive it with slow (a few hundred Hz at most) then use an analog input to sense the temperature, another analog input to read the temperature you want, or make it settable by some other communication method, then a simple PID routine to make the actual and set temperatures match each other. The output of the PID calculation would then set the PWM duty cycle.

Brian.
 
Problem is that peltier element internal power dissipation is according to Irms but heat pump effect is according to Iavg. Pulsed current will cause Irms > Iavg and respectively produces more heat at the peltier hot side. If you are targetting for maximal peltier efficiency and maximal temperature difference between hot and cold side, you need to supply peltier element with clean DC.
 
I agree with FvM that, due to the I²R loss, for best Peltier efficiency it needs to see reasonably clean DC.
The most efficient would be to use a voltage-controlled switching regulator with output voltage controlled by the microprocessor control loop.
You could use a relay bridge to reverse the voltage polarity when going from heating to cooling.
 
Last edited:
Thank you to everyone that answered.

Regarding the concern of the thermal mass of the Peltier, the Petier is 2cm by 2cm in dimension:

To investigate the rate of temperature change that could be supported, I did a rudimentary test by trying to change the temperature of the Peltier by manually changing the settings on the DC power supply. I definitely see the concern now, as if I try to, say, step the temperature up by 1 degree every 10 seconds, the peltier's surface could not 'catch up' with the temperature that I'm trying to achieve, even if I up the power to the max. safe threshold. So I definitely see where betwixt is coming from when he said driving the microcontroller at a slow speed, as finer temporal resolution won't be very practical.

And also please correct me if I am wrong, but from what I understand, an H-bridge to swap the polarity of the DC current won't be necessary if I use two DC power supplies that are providing the 'opposite' voltage from each other, right?

I have attached a very crude circuit diagram (hand drawn). Are there any glaring issues that you see with this design? I am a bit iffy on the placement of the DC-DC power converter, because since a 'buck' converter only steps voltage 'down', if the relays route the 'negative' DC current to a buck converter for cooling the peltier, then it will cause problems, right?

I've also searched up some DC-DC power converters, but the number of varieties are overwhelming. Aside from the current/voltage range of the input and output, are there any other parameters I should keep an eye out for (at least for my intended use)?

Finally, do you recommend any software (that are hopefully free or low cost) that are available for circuit diagram illustration / circuit simulation?

I appreciate all the help.
 

Attachments

  • peltierCircuit_v1.pdf
    297.6 KB · Views: 11
because since a 'buck' converter only steps voltage 'down', if the relays route the 'negative' DC current to a buck converter for cooling the peltier...
It's possible to build a second buck converter which operates in the negative region. With two converters your system would need twice as many components. Or as an alternative you might manage to contrive a switching system (or relay) to reverse direction of current through the one Peltier.
 
A simpler solution using relays is to use one double pole change-over relay. Cross connect the NC and NO pins on each pole so activating the relay reverses the polarity from a single power source. It is much simpler and cheaper than using two relays and two power supplies.

Regarding the concern of the thermal mass of the Peltier, the Petier is 2cm by 2cm in dimension:
But is the Peltier isolated from its environment? In practical applications it would be heating or cooling something else and you need to consider the heat 'flow' in and out of that too.

Brian.
 
Post #9 schematic presumes a bipolar buck converter (5) which isn't practical at all.
Practical solution is an unipolar (usually positive voltage) buck converter followed by a commutator circuit, either mechanical DPDT relays or MOSFET H-bridge. It's simply a question of minimizing circuit cost, number of components etc.

1742637248623.png

--- Updated ---

Simplified schematic of buck converter with commutator:

1742640183878.png


Component count could can be further reduced with H-bridge buck converter, but in terms of noise filtering and control signal generation, the first schematic is often preferred.
The buck converter (M1, M2, L1 and C1 with associated control circuit) can be an off-the shelf module.

1742640350691.png
 
Last edited:
Constant current vs PWM efficiency -


Switch mode efficiency, interesting graphs in this Maxim solution -




One could think, in terms of simplicity, using a power opamp to drive the peltier....with appropriate
interface to Arduino to close the loop. There are discussions online about stability of this approach,
if oscillation is evident. Note PWM approach lower cost overall I think, unless one uses standard
OpAmp and adds power transistors to handle current. Eg. power opamps are pricey. Example
circuit shown below.

1742643365195.png


This is rough example creating a power opamp out of a generic opamp Ignore input circuitry (Q1) and transformer load.

1742644581937.png


Insofar as the "sine" modulation, I wonder if thats just the consequences of the
PWM filtering prior student used and the rest of the control loop response
shaping......eg. filtering the pulse waveform .....
 
Last edited:


Write your reply...

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top