Temperatura Con Termistor NTC 10k Y Arduino

Introduction: Temperatura Con Termistor NTC 10k Y Arduino

About: Aprende paso a paso con nosotros como utilizar toda clase de electronicos. En este sitio encontraras fotos, videos, codigos, esquemas y toda clase de información para facilitar tu aprendizaje. Recuerda comprar…

En este tutorial aprenderemos a utilizar el Sensor de Temperatura contra Agua NTC 10K, este sensor no es mas que un simple termistor encapsulado en un tubo de acero a prueba de agua y corrosión.

Materiales:

Step 1: Conecta

Para conectar el termistor necesitaremos realizar un arreglo pull-down con la resistencia de 10K (vea la imagen). Es importante que la resistencia sea de 10K ya que la conversión del valor análogo a grados Kelvin, Celsius y Fahrenheit se basa en el valor de esta resistencia. El termistor ira conectado a 5V.

Step 2: Codigo

En el ejemplo siguiente se muestra un código para convertir el valor análogo a grados Kelvin y de ahí a grados Celsius. En el monitor serial de Arduino se mostraran las lecturas con un intervalo de un segundo.

/*Sensor de Temperatura contra agua NTC 10K<br>Instrucciones:
El sensor para temperatura contra agua NTC 10k es un thermistor con dos salidas
que requieren de una configuracion pull down. Conecte una terminal del sensor a Vcc 
y la otra utilizando resistencia pull down a tierra y al pin análogo 2.
*/
#include <math.h><br>        
void setup() {            
Serial.begin(115200);//Recuerda ajustar to monitor serial a 115200   
} 
double Thermister(int RawADC) {  
double Temp;
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15;// Converierte de Kelvin a Celsius
//Para convertir Celsius a Farenheith esriba en esta linea: Temp = (Temp * 9.0)/ 5.0 + 32.0; 
return Temp;
} 
void loop() {             
int val;//Crea una variable entera
double temp;//Variable de temperatura = temp
val=analogRead(0);//Lee el valor del pin analogo 0 y lo mantiene como val
temp=Thermister(val);//Realiza la conversión del valor analogo a grados Celsius
Serial.println(temp);//Escribe la temperatura en el monitor serial
delay(1000);//Espera un segundo y vuelve a escribir
}
//ElectroCrea.com

Be the First to Share

    Recommendations

    • Big and Small Contest

      Big and Small Contest
    • Make It Bridge

      Make It Bridge
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge

    9 Comments

    0
    VanessaD49
    VanessaD49

    Question 4 years ago

    Hola! Oye cómo debo seleccionar la resistencia fija ? Mi termistor a 25°C tiene 2252 ohms. Saludos!!

    0
    Europeom
    Europeom

    5 years ago

    Está bien que insistas que es importante que la resistencia sea de 10K pero sería mejor que para ello el dibujo de Arduino y la protoboard también sea correcta esta resistencia y no tengas una de 220 ohmios como es el caso esto puede contribuir a que un despistado no use el valor correcto de 10k a pesar de tu insistencia

    0
    DavidM1054
    DavidM1054

    6 years ago

    Buen dia, ¿Que cambios tendria que hacer para medir temperaturas mayores? (0 a 300°C para un extrusor de plastico) Gracias

    0
    RubenL8
    RubenL8

    Reply 6 years ago

    Mejor usa un termopar, hay tipo K con los que se puede interactuar con varios módulos. MAX6675 o AD595 o similares.

    0
    cold7900
    cold7900

    7 years ago

    Buenas.

    En esta pagina teneis una hoja de calculo para graduar vuestras NTC y ajustar al maximo los valores que os pueda dar.

    http://www.thinksrs.com/downloads/programs/Therm%20Calc/NTCCalibrator/NTCcalculator.htm

    0
    CristianR40
    CristianR40

    7 years ago

    Estimado conecte y puse el mismo programa pero mi ntc da 1 rango de 34 a 40 grados, y realmente no es correcto esos valores.

    Mi ntc es el siguiente, http://www.ebay.com/itm/1m-NTC-Thermistor-accuracy...

    Probe otro dos que tengo y marca lo mismo, muy alta el rango, use resistencia 10k q podria estar mal? La utilizo en un nano

    0
    FlavioC4
    FlavioC4

    7 years ago on Introduction

    Hola que tal amigo tengo una duda, de donde obtienes esta ecuación que describes en el código: Temp = log(((10240000/RawADC) - 10000));

    Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );