LM35 da valores muy altos en temperatura ambiente, y disminuye cuando lo exponemos a una fuente de calor.

0

Entonces, compramos cinco LM35DZ, en los días anteriores, cuando usamos el multímetro para medir el voltaje entre Vout y GND, los resultados fueron correctos y lógicos, y cuando expusimos el LM35 a una fuente de calor, el voltaje aumentó, pero El problema fue con Arduino, los resultados fueron inestables e ilógicos. ¡Verificamos internet y encontramos algunas posibles razones!

  • Compartir el GND fue uno de ellos, pero solo usamos el LM35, por lo que no compartimos el GND con ningún otro dispositivo
  • Otra posible razón se debe a la fuente inestable, porque estamos alimentando el Arduino desde el USB y esto puede llevar a resultados incorrectos, debido al convertidor ADC, hay algunas formas de eliminar este problema, elegimos leer el pin 3.3 V de Arduino y utilícelo como referencia

    unsigned int temp = 0;
    unsigned long temptot = 0;
    unsigned int REFtemp = 0;
    unsigned long REFtemptot = 0;
    
    int x;
    
    int REFSensor=  A1,
    LMSensor=A0;
    
    void setup() {
        pinMode(REFSensor,INPUT);
        pinMode(LMSensor,INPUT);
        Serial.begin(9600);
    }
    
    void loop() {
        temptot = 0;
        REFtemptot = 0;
    
        for(x = 0; x < 64; x++) { analogRead(REFSensor);}
    
        for(x = 0; x < 64; x++) {REFtemptot += analogRead(REFSensor);}
    
        for(x = 0; x < 64; x++) {analogRead(LMSensor);}
    
        for(x = 0; x < 64; x++) {temptot += analogRead(LMSensor);}
        temp = temptot >> 6;   
        REFtemp = REFtemptot >> 6;  
        float y= (float(REFtemp)*3.3)/676.; 
        Serial.print("Vcc: " ); Serial.print(y*1023./676.); Serial.print("v  "); 
        Serial.print("REF: " ); Serial.print(y); Serial.print("v  "); 
        float volt= (float(temp)*3.3)/float(REFtemp);
        // Serial.print("V.LM: " ); Serial.print(volt*1000.);  Serial.print("mv   ");
        Serial.print("T.LM: " ); Serial.print(volt*100);   Serial.println("C " ); 
    }
    
  • Otro problema es el ruido y muchos intentos de agregar un condensador de 100 nF entre Vcc y GND, no tenemos 100 nF, por lo que usamos 10 nF

  • También para suavizar los resultados, agregamos otro condensador (1pF a 10pF) entre Vout y el pin Arduino (A0 en nuestro caso)

Entonces, hoy y después de hacer todos estos cambios, lo que sucede es que los resultados fueron estables pero ilógicos; a temperatura ambiente leemos 10C a 12C, y cuando eliminamos uno o ambos condensadores, los resultados se vuelven locos (entre 100C y 10C) y el evento más extraño es que cuando exponemos el LM35 al calor, la temperatura disminuye

¡Verificamos el LM35 usando el multímetro y aquí la sorpresa! El voltaje entre Vout y GND estuvo entre 1000 mV y 3000 mV, y cuando exponemos el LM35 al calor, disminuye a 200 mV. Estoy diciendo que es una sorpresa porque los cinco LM35 comienzan a actuar de la misma manera. ¿Es posible que los quememos todos a la vez? Si este es el caso, ¿cómo y cuándo sucedió esto? Recuerdo que cambiamos entre el Vcc y el GND de uno de los LM35 que pueden causar daños, pero como dije solo uno. No todos ellos.

¿Alguien puede ayudar? Decidimos comprar otro LM35 y comprobarlo, ¡quién sabe!

ACTUALIZACIÓN ---------------------------------------------- ---------------------------

ElcondensadorgrandeestáentreGNDyVcc,aproximadamente100pF,avecesnolousamos,enestecasolaseñalsevuelvemuyinestable,lapequeñatieneaproximadamente1pF,aveceslacolocamosentreVoutyGnd!Noséporquélousamos,¡perohizoquelaseñalfueramásestable!

estaeslaseñalentreVoutyGND,eliminamostodosloscondensadores,dio0v,¡noséporqué!Dio1va3voltiosusandomultimetro

alimentamoselLM35con5voltios

LaseñalaquífuetomadaentreVoutyVcc(5voltios),deberíaserde5voltios,porquees0ventreVoutyGND!

¡Noséporquéseveasí!¡Aparentementenohaymuchoruido!

La última imagen es entre Vcc y GND, ¡dio 5 voltios como se esperaba!

¡Ahora! ¡No estoy seguro de por qué obtuvimos resultados tan ilógicos! tal vez el LM35 se dañó, pero incluso con esta posibilidad, la señal entre Vout y GND no debería ser 0!

    
pregunta Samah

2 respuestas

1

El problema habitual con la inestabilidad del LM35 es la carga capacitiva excesiva causada por cables, capacitores externos o capacitancia de entrada. Consulte la Página 14 de la hoja de datos de TI.

El resistor de la serie 2K o el amortiguador RC son no opcionales si la carga capacitiva excede aproximadamente 50pF. Eso se supera fácilmente incluso con un cable apantallado corto (blindado).

Olvida lo que lee el Arduino por ahora, déjalo conectado y depura el sensor con un multímetro simple.

    
respondido por el Spehro Pefhany
1

Si desea ver por qué más recortes de ruido de las oscilaciones provocan un voltaje de CC más bajo, consulte here .

Hoja de datos dice:

  

La impedancia de baja salida, la salida lineal y la calibración inherente precisa del dispositivo LM35 hacen que la interfaz para la lectura o el circuito de control sea especialmente fácil.

Cuanto más sigas la Fig. 12 o 13 de TI, más fácil será.

enlace

  • o Fig. 2,3 de enlace . Pero TI ahora posee el NSC.

Para mantener una baja impedancia, no se permiten cables sueltos largos debido a los efectos de la antena que captan el ruido.

Los cables de señal deben ser coaxiales o STP (par trenzado blindado CAT5,6) o solo UTP para distancias cortas. Las SMPS ruidosas en terrenos flotantes y en modo común (CM) pueden eliminarse aún más con > 1nF desde 0 V a tierra, pero si la ruta es correcta no es esencial.

La longitud del cable es importante, así que use STP si tiene dudas. Luego lea más sobre el blindaje.

No olvides incluir una pequeña tapa de 0.1uF Vcc cerca del sensor. Luego agregue la serie R o la derivación RC antes del cable largo. 0.01uF es marginal y 10pF no hace nada a 100kHz para disminuir la impedancia. Pero debe hacerse en la fuente.

La razón por la que falla es porque tiene un seguidor de fuente como seguidor de emisores que puede oscilar cerca de 100 kHz (aquí) con la gran capacidad de capacitancia del cable (100pF / m ~) sin elevar la serie R o ahogar las altas corrientes con baja R grande C en derivación.

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas