Go Down

Topic: Problema en lectura de termopar K con MAX6675 (Read 2290 times) previous topic - next topic

Alexnaval

Buenos días,

Este es mi primer mensaje en el foro tras leer varios temas relacionados, y no encontrar solución al problema que se me presenta:

Estoy tratando de realizar una medida con un termopar tipo K, para lo cual, guiado por la información encontrada he optado por comparar un componente MAX6675 que permita a Arduino procesar correctamente la señal de voltaje.

Como en primera instancia quiero sencillamente comprobar que el valor está bien, he tomado el ejemplo de la propia biblioteca "max6675.h", cuyo simple código será de sobra conocido por la mayoría, de todas formas lo copio al final del mensaje.

El problema sin embargo, es que, habiendo conectado el arduino al MAX6675 como indica el código (puede comprobarse en la foto que adjunto), y sin tener conectado el propio termopar me muestra por el monitor serie valores de unos 30ºC.

Dichos valores no se ven afectados una vez conecto el termopar (los dos cablecitos finos entiendo) al MAX6675, luego no hace diferencia.

Tengo 2 termopares y 2 placas de MAX6675, he probado cambiando y en ambos casos el resultado es el mismo.

Agradecería si alguien puede orientarme un poco al respecto.


Foto de las conexiones:



Valores que aparecen en el monitor serie:



Sonda termopar tipo K usada:


Code: [Select]
#include "max6675.h"

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 3;
int gndPin = 2;
 
void setup() {
  Serial.begin(9600);
  // use Arduino pins
  pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
  pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
 
  Serial.println("MAX6675 test");
  // wait for MAX chip to stabilize
  delay(500);
}

void loop() {
  // basic readout test, just print the current temp
 
   Serial.print("C = ");
   Serial.println(thermocouple.readCelsius());
   //Serial.print("F = ");
  // Serial.println(thermocouple.readFahrenheit());
 
   delay(1000);
}


Muchas gracias,
Un saludo

Alexnaval

Buenas,

El problema era muy básico, estaba conectando el termopar al revés:
- Los dos cables finos sueltos deben ir juntos y son los que miden, mientras que las dos placas planas donde la carcasa amarilla son las que deben conectarse.

De todas formas, ¿es normal que el MAX6675 de estos valores de 29 o 32 grados que da cuando no hay temopar conectado?

Muchas gracias,
Un saludo.

surbyte

El MAX6675 provee una indicación de termocupla abierta o desconectada. Lo dice el manual y lo único que debe mantenerse es que T- este unida a GND para que un bit (D2) lo indique via SPI.
Nada dice la hoja de datos acerca de la lectura con los terminales abiertos. Yo simplemente la descartaría si detecto que esta abierta.

La librería debería indicarte esta situación.

Podría especular conque estas leyendo la compensación de juntura fria o cold-juntion compensation pero ya lo dije estoy especulando a riesgo de equivocarme. La compensación funciona de -20 a 85 C.

 

tauro0221

Hi,
Quieres hace una prueba trata de connectar Vcc del sensor al +5 del arduino y el ground tambien en vez de usar los pines de salida del arduino.

surbyte


tauro0221

Hi,
El sensor usa 50 ma y si estoy correcto los pines de Arduino solo provee 40 ma.

surbyte

Tal vez te malentendi tauro0221, pero desde ya que se debe conectar a 5V y GND  y no usar un pin para alimentarlo.


pdelt3

#7
Jul 26, 2018, 09:51 pm Last Edit: Jul 26, 2018, 09:53 pm by pdelt3
Tal vez te malentendi tauro0221, pero desde ya que se debe conectar a 5V y GND  y no usar un pin para alimentarlo.


Si la conectas a 3.3V obtenés menos error

BrewGold

#8
Jul 27, 2018, 01:00 am Last Edit: Jul 27, 2018, 01:44 am by BrewGold
Buenas tardes:

Ya que tratan el tema del Max6675, era mi intención utilizar 6 de ellos, creo que no habrá problema de corriente de alimentación con un  Arduino Mega? Sin usar el pin como alimentación.
Comparando a temperatura ambiente con DS18B20 hay una diferencia de lectura oscilante de la sonda K de 1,5ºC, que no le veo problemas para lecturas entre 180 y 250ºC, que es mi caso.
Si existe alguna corrección, me gustaría saberlo.

Saludos y gracias,

Go Up