Applications of arduino in peltier cooling for dew collection

You bring up a lot of valid points about the feasibility of this, but about the cold-side fan that you mentioned – I believe another person on this thread said that a cold side fan would blow away the condensation? I was under the impression that as long as the Peltier cools at or below the dew point (which is generally around 45-50 degrees Fahrenheit where I live), condensation would form.

Am I missing something?

The TIP120 is a darlington transistor not a MOSFET and it would get way to hot in your application.
I suggest one of these MOSFET modules.

You will see them on amazon and other places.

The DHT11 will be good for measuring the air temperature and humidity but you need something you can attach close to the the peltier cold side so you can control it's temperature.
I don't want to suggest something that will be too expensive to ship to you or difficult for you to buy.
Can you easily buy from Digi-Key or Mouser, or Adafruit or Sparkfun or some other electronic parts distributor that is close to you?

Thanks again for the advice, I think I definitely have a clearer picture of how I'm going to figure this out now. I can buy online from these stores probably, though ideally they would ship within 2 days just because I'm on a pretty tight deadline for this project.

Do you ever see dew or frost where you live? Around here neither will form unless there is NO wind. Remember your highschool science? Moving air molecules are the same as warm air molecules.

Yes. You are missing the fact that in order to extract just two cups of water, you need to cool a huge volume of air, as I pointed out in post #34.

If you don't have a fan and heat exchanger on the cold side, the only thing driving air across the Peltier plate is whatever breeze there may be and thermal convection. That is unlikely to be enough. If you don't have a fan and heat exchanger, I bet it takes weeks to extract two cups of water.

But yes, as someone else pointed out, a fan will also increase the evaporation rate of your condensate. That's part of the reason I guessed at such a low efficiency (5%) in my post #34.

The OP is designing a dehumidifier. In a dehumidifier, a fan blows air through a cold heat exchanger. If they didn't move air, they wouldn't extract much, if any, water. The main difference between commercial dehumidifiers and the OP's project: commercial dehumidifiers don't use Peltier devices to cool the heat exchanger (edit to add:) and they have a much larger heat exchanger.

Well for the temperature sensor either the TMP36, the DS18B20 or a thermistor.
The DS18B20 is waterproof has nice long leads but is the most expensive expensive.
The TMP36 is cheaper but you will have to solder 3 wires and make sure the leads are insulated because it will get wet with condensation.
Thermistor NRL3104F3435B2F (from digi-key) is the cheapest. You will need to solder 2 wires to it but it does have 25mm long leads, so it should be easy. It's epoxy coated so it's waterproof. You will a 10K resistor to use the thermistor. As long as the thermistor is touching the cold side it should work OK

1 Like

Hi jim-p, I am buying the DS18B20 right now, thanks for your advice. As I was looking up stuff on MOSFETs (since I think they might be useful for regulation of Peltier temperature), I came across this video. It's linked here but essentially what they did was this:

  • solder an IRFZ44 mosfet to a potentiometer using ground and drain
  • connect potentiometer to a 20 V power source
  • by turning the "knob" (not sure what else to call it) of the potentiometer, they were able to regulate the current flow

As a recap, I'm using a 12 volt 10 amp AC/DC switching supply for the power source, and I'm hoping to regulate the temperature of the Peltier by adjusting the flow of current. For example, if the current temp of the Peltier is too cold, then I would be able to reduce the power flow to the Peltier and raise the temperature. Would the design in the video be feasible for my project? Thanks in advance.

It's one of those nonsense videos you find too many times on the internet. I won't bother to explain why it's stupid.

The easiest way to control the Peltier, sometimes called a TEC (Thermo Electric Cooler), is with PWM (Pulse Width Modulation).
An UNO can do PWM with the analogWrite() function. You give it a number between 0 and 100. 0 is OFF 50 is halfway ON and 100 is ON.
So in your code you check the temperature and if it not cold enough you increase the number if it's too cold you decrease the number until it's just right. It will require some experimentation to get it just right.

If you want to build you own PWM control circuit here it is:

1 Like

1 Like

Thank you so much for this diagram – this literally summarized 50 internet posts. I'll implememnt this asap.

I know that Fritzing diagrams are generally frowned upon in this forum, but bear with me here and please let me know if you guys need clarifications.

@jim-p this is the circuit I'm planning to build – this model was built on tinkercad and it didn't have an option to put in a Peltier module so for now, the motor is a stand-in for the Peltier. For my project I'm going to use the AC/DC switching supply connected to an outlet, but other than that it's basically the same as the diagram.

I noticed that most circuits use resistors for the IRLZ44N MOSFET but after reading some other articles it seems like the circuit should operate okay without one, thoughts?

Do you guys have any thoughts?

The 10k resistor guarantees that the MOSFET is off when there's no defined output from the Arduino pin, such as when it is first powered up before the sketch has had a chance to do its thing and set the output to a known and desired level. I suggest it is required.

The 220R is the subject of much debate. Its purpose is to limit the current out of Arduino pin into the capacitance of MOSFET gate. My opinion is that its not needed, others will strongly disagree.

@jim-p ,
I suggest the range of values for analogue write is 0 to 255, not 0 to 100.

2 Likes


Forgive me if this is a basic question, but would this be an acceptable way to incorporate the resistor? For the sake of simplicity I'm going to omit the 220R resistor like you reccommended. Thanks!

Duh! Of course

Sorry to bombard you guys with questions, but I've been thinking about the code and the process is basically like what @jim-p said, and I've been trying to replicate. I'm really curious if what I have so far (it's a work in progress) is okay or completely wrong.

Essentially what I want to do is read the temperature from a ESP32 DS18B20 temperature sensor that's attached to the cold side of the Peltier. I want to maintain a certain temperature on the codl side (lets call it the dew point) and by adjusting the duty of the PWM I should be able to accomplish that, right?

Here it is:

#include <OneWire.h>
#include <DallasTemperature.h>

const int oneWireBus = A0; 
const int mosPin = 9; 

OneWire oneWire(oneWireBus);

DallasTemperature sensors(&oneWire);

 //Celsius 
//float sensorDigital = map(sensorDigital, 0, 1023, 0, 255); 
float dewPoint = 7.8; 
//float dewPointDigital = map(dewPointDigital, 0, 1023, 0, 255); 
int PMWValue = 0; 

void setup() {
  Serial.begin(115200);
  sensors.begin();
}

void loop() {
sensors.requestTemperatures();  
float sensor = sensors.getTempCByIndex(0); //Needs to continually check the temp of Peltier cold side 

while (sensor > dewPoint) { //current temperature is too hot, need to cool down 
  analogWrite(9, PMWValue++);
  delay(500);
  }

while (sensor < dewPoint) { //current temperature is too cold, need to heat up 
  analogWrite(9, PMWValue--);
  delay(500);
  }
}

The 10k resistor goes between the output pin and ground to hold it low, not how you have it.

1 Like

What happened to he UNO R3 from the starter kit?

My mistake, this is a typo. That's just the type of temperature resistor I have. I'm still using an Uno R3, hope this clarifies things?

This is the sensor I'm using ESP32 DS18B20 Temperature Sensor with Arduino IDE (Single, Multiple, Web Server) | Random Nerd Tutorials

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.