Go Down

Topic: Peltier Reliability issues (Read 12193 times) previous topic - next topic

mdbonneaux

Hi, heatsink compound is not as conductive as you think.
It should be used sparingly, I have a small straight edge and I use it to wipe the  compound over the surface.
It is surprising how little you need to use.

http://www.youtube.com/watch?v=zPJspil1HJo

Tom.......... :)
If I take it all apart and fix it right this instant, WILL SOMEONE PLEASE EXPLAIN EXACTLY HOW THIS IS CAUSING MY PROBLEM???

I've gotten a lot of "this isn't right" comments BUT NOT ONE PERSON HAS YET TO EXPLAIN A SIMPLE WHY TO ME ON ANY OF IT.

If I don't have a great thermal transfer, how exactly is that making it so that this happens:

Test 1:
PWM: 0; Temp: amb
PWM: 500; Temp: t
PWM: 0; Temp: amb
PWM: 250; Temp: g
PWM: 500; Temp: x

Test 2:
PWM: 0; Temp: amb
PWM: 500; Temp: t
PWM: 0; Temp: amb
PWM: 250; Temp: g
PWM: 500; Temp: x

and I will specify this as part of the example, "amb" is ambient temp, "b" is slightly warm, etc all the way up to "fz" which is as hot as it can possibly get.  Thus, the above reads that PWM of 0 gives ambient temp, I get a slightly hot temperature of "t" every single time I go directly from 0 PWM to 500 PWM, I get a temp "g" if I go from 0 to 250, and I get a fourth temp "x" (which is higher than "t") when I go from 250 to 500.

Within probably a half a degree Celsius, ambient, g, t, and x are all the same every time I repeat this.  I'm doing these tests in a closed off room, the humidity is the same from start to finish, the ambient air temp is usually 24.0*C (+- .2*C), I'm measuring by comparing to a known black body (accurate to within .001*C) with an infrared camera (14-bit raw data from it) and matching the peltier and the black body to within at most 4 or 5 14-bit units.  If this was a small deviation (say, from t to v) I'd be more open to these little things but I'm talking like 12*C difference between t and x.  This isn't a simple "well the air was on" explanation.

I don't care what explanations get thrown out there, because I really probably do need to address the amount of heat sink compound used, but if I'm going to fix this, I really need explanations of WHY.  Why is it (whatever you're pointing out) causing this problem?

mdbonneaux

What pwm frequency are you using ?

For a peltier it should be below 3 kHz
I honestly do not know that.  I will take a look and reply back in just a moment.  What would the frequency do?

mdbonneaux

#32
Nov 04, 2014, 09:42 pm Last Edit: Nov 04, 2014, 09:50 pm by mdbonneaux
And regarding my explosive rant, please try to understand where I'm coming from- if your car wasn't starting and someone told you to put another pound of air in your tire cause it's a little low, then someone else told you to clean your windshield, then a third person told you to spray lubricant on your fan belt, wouldn't you get a tad frustrated, especially after you've said that there's a grinding noise when you try to start it?  One of them might be right, but you have no idea which because no one explains to you why it might be causing that grinding noise.  To pull a phrase I hear from time to time, "what's that got to do with the price of tea in China?"

Boardburner2

#33
Nov 04, 2014, 09:45 pm Last Edit: Nov 04, 2014, 09:50 pm by Boardburner2
Are you using proper electricity or the foriegn knock off stuff ?

Frequency , cannot remember the reasons , got a bit mathematikal.

Somwthing i read in a manufacturers application note

They become less efficient at high frequencies which negates the advantage o pwm.

I expect that ineficciency exhibits itself as heat somewhere.

mdbonneaux

#34
Nov 04, 2014, 09:47 pm Last Edit: Nov 04, 2014, 09:49 pm by mdbonneaux
@Boardburner2- It's at 1 kHz according to my oscilloscope and it's US 110/120 (please don't try to point to his, I just don't remember if US is 110 or 120, I just know I do my actual testing on only one outlet in that room.)  The PSU is properly grounded and all that jazz.  It's actually a pretty nice piece of eq.

Boardburner2

Should not be a problem then.

Im unsure from you rosts what the problem is .

Repeatability or non linearity if the latter im not that surprised.

TomGeorge

Hi,

Can you please post a copy of your sketch, using code tags.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png or pdf?

This is essential to help you, I suspect you are not using the temperature reading to control the PWM in feedback to get full control.

You should be setting temperature, not PWM. PWM is adjusted by the control program.

A PWM of 250 WILL NOT always give you the same temerature, there are to many variables, ambient temp, heat sink temp, thermal inertia of the oven.

A feedback system overcomes these problems.

PLEASE PLEASE at least a copy of your sketch.

Tom.....Trying to help.... :)
Everything runs on smoke, let the smoke out, it stops running....

Boardburner2

One further note.

What type of psu do you have ?

It should be linear.

Using a swichmode psu to drive pwm circuits can easily destroy your psu.

If its a good one it may protect itself however, the protection circuit may give some zanny results

KenF

And regarding my explosive rant, please try to understand where I'm coming from- if your car wasn't starting and someone told you to put another pound of air in your tire cause it's a little low, then someone else told you to clean your windshield, then a third person told you to spray lubricant on your fan belt, wouldn't you get a tad frustrated, especially after you've said that there's a grinding noise when you try to start it?  One of them might be right, but you have no idea which because no one explains to you why it might be causing that grinding noise.  To pull a phrase I hear from time to time, "what's that got to do with the price of tea in China?"
Why are you even using the car?  If I were making that journey I think I'd use public transport :)

mdbonneaux

#39
Nov 04, 2014, 10:26 pm Last Edit: Nov 04, 2014, 10:42 pm by mdbonneaux
Le Code:

Code: [Select]
#include <Timer.h>
Timer t;

int x;

void setup()
{
  Serial.begin(9600);
  analogReadResolution(12);  // these 2 lines set the read/write for the Due
  analogWriteResolution(12);  // to 12-bit instead of 8-bit

  t.every(5000, tRead);

}

void loop()
{
  if (Serial.available() > 0) // Checks for a character in the serial monitor
  {
    x = Serial.parseInt();
    Serial.println(x);
    constrain(x, -4095, 4095);  //-255,255 for 8-bit, -4095, 4095 for 12-bit

    if (x <= -1)  // make it cold
    {
      analogWrite(11, abs(x));  // this is the "cold" signal line on
      analogWrite(10, 0);  // this is the "hot" signal line off
      //digitalWrite(13, HIGH);  //this is the fan control.  not needed at all atm.
    }
    if (x >= 1)  // make it hot
    {
      analogWrite(11, 0);             // cold line off
      analogWrite(10, abs(x));     // hot line on
      //digitalWrite(13, LOW);       // turns fan off
    }
    if (x == 0)  // turn it off entirely
    {
      analogWrite(11, 0);  //cold off
      analogWrite(10, 0);  // hot off
      //digitalWrite(13, LOW);
    }
  }
  t.update();
}

void tRead()
{
  Serial.print("panel:   ");
  Serial.print(analogRead(A0));
  Serial.print("\n");
  Serial.print("ambient: ");
  Serial.print(analogRead(A1));
  Serial.print("\n");
  Serial.print("H-bridge: ");
  Serial.print(analogRead(A2));
  Serial.print("\n");
  Serial.print("Heatsink: ");
  Serial.print(analogRead(A3));
  Serial.print("\n");
  Serial.print("pwm:   ");
  Serial.print(x);
  Serial.print("\n\n");
}

mdbonneaux

#40
Nov 04, 2014, 10:38 pm Last Edit: Nov 04, 2014, 10:57 pm by mdbonneaux
Image of how things are wired up!



Also, @KenF, maybe some of us just like to have the freedom of driving.  :P  (Also, not viable for my work commute.  PT around here is shit.  I have always wanted to go on a train trip though...)

Edit:  If anyone needs a bit more detail on the h-bridge, please see page 2.  If you STILL need more after that, fine, I'll take a pic and post it.

TomGeorge

Hi, where is the control?


Quote
This is essential to help you, I suspect you are not using the temperature reading to control the PWM in feedback to get full control.

You should be setting temperature, not PWM. PWM is adjusted by the control program.

A PWM of 250 WILL NOT always give you the same temerature, there are to many variables, ambient temp, heat sink temp, thermal inertia of the oven.

A feedback system overcomes these problems.
I rest my case.

Tom........ :)
Everything runs on smoke, let the smoke out, it stops running....

mdbonneaux

So, in short, I'm working on a step that not only does not exist, but cannot exist, and I need to start calibrating the thermistor?

Grumpy_Mike

Yes I told you way back the the heat sink compound could be warming up and making better contact. That is why you are seeing a differance on the second run.

polymorph

Schematics appear to be a lost art.
Steve Greenfield AE7HD
Drawing Schematics: tinyurl.com/23mo9pf - tinyurl.com/o97ysyx - https://tinyurl.com/Technote8
Multitasking: forum.arduino.cc/index.php?topic=223286.0
gammon.com.au/blink - gammon.com.au/serial - gammon.com.au/interrupts

Go Up