35in1 Sensor Kit - Sensores de Temperatura del Conductor Caliente

El juego contiene de dos tales módulos. Los ambos módulos usan al jefe caliente igual. Sin embargo uno tiene de eso además Komparator dependiente del ajuste de potenciómetro en una temperatura determinada la salida Digital en Cero pone. Amm Análogamente la salida está a la disposición prácticamente la señal igual como por el sensor fácil.

Sensor fácil

Sensor con Komparator



Kennlinie

NTC es una resistencia en el calentamiento el valor de resistencia baja. Para medir con la temperatura NTC y no sólo cambiar de marcha en una temperatura determinada, uno necesita Kennlinie. El diagrama muestra el valor de resistencia en kOhm (azul) y él (en 1024 – el valor de salida) de modo leído con analogRead (rojo);


Se mira por el divisor de tensión usado la tensión de salida es lineal por piezas.

Averiguación de una curva de corrección:

Con un circuito fácil podemos tratar de establecer una curva de corrección. Con eso usamos el sensor de jefe caliente fácil y DS18B20 como referencia. Ligamos Pins medios de los ambos módulos con el 5Voltmeter en Arduino y ellos – Pins de los ambos módulos con GND. Ligamos S-Pin del NTC módulo con A0 y S-Pin del módulo DS18B20 con D2. Ligamos con ello nosotros una temperatura lo más posible igual para los ambos sensores de modo recibido éste como la imagen siguiente señala.



Ahora cargamos el programa siguiente en Arduino. Y ligan Pin 8 en Arduino con Ground alrededor del gasto prohibir.

/* Este programa establece la curva de corrección para NTC
* A continuación Heißleiter y la prueba
* Como referencia un sensor es usado por el tipo DS18B20
*/

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

//Enlaces
const el byte ds18b20 = 2; //referencia el sensor
const el byte de sensor = 0; //sensor a contrastar
const el byte distribuiría = 8; //Entrada alrededor del gasto a depresiones.
const el byte led = 13; //messled

//instancias para la referencia el sensor DS18B20
OneWire oneWire (ds18b20);
Puerta de temple de Dallas sensores (&oneWire);
DeviceAddress adr;

//al almacén de los datos de corrección producimos una clase propia
class Korr {
public:
int minval; //Valor de principio de la validez
int maxval; //Valor final de la validez
float el factor; //Factor de corrección
float el delta; //Offset relativo

float la temperatura (int val) {
       float temp = float (val) * el factor el delta;
       return temp;
    }
};

//variables globales
Korr vira [20]; //Array con valores de corrección
byte de número = 0; //Número de los valores de corrección disponibles

byte de medición = 1;
float debe = 0; //Sollwert actual
int sens = 0; //valor de sensor actual

float soll_alt = 0; //último Sollwert
float sens_alt = 0; //último valor de sensor



void el Setup () {
   //lanzan la interface seielle
Serial.begin (115200);
   //Preparan el sensor de referencia
sensoren.begin ();
sensoren.getAddress (adr, 0);
   //El Auflöung en 10 bites;
sensoren.setResolution (adr, 10);
   //producción total para led
pinMode (led, la PRODUCCIÓN TOTAL);
pinMode (distribuiría, INPUT_PULLUP);
medición = 1; //somos en el modo mess
   //una vez la medición para los valores de salida
Serial.println ("salidas del análisis");
digno de medida ();
soll_alt = debe;
sens_alt = sens;
}

//función a la vendimia de los valores de medida
void digno de medida () {
   //Piden el valor de referencia
sensoren.requestTemperatures ();
   //y de Prüfling leen
   //dado que la tensión con la temperatura creciente disminuye
   //si volteamos debajo del valor mientras nosotros él del valor máximo salen
sens = 1024-analogRead (sensor);
   //Leen el valor de referencia
debe = sensoren.getTempC (adr);
}


void loop () {
   //correspondía indican
digitalWrite (led, la medición);
   //estimados instruyen
digno de medida ();
if (la medición) {
   //examinamos si nosotros una diferencia determinada han conseguido
   //La sección parcial todos 5 °C
if ((soll-soll_alt) >= 5) {
Serial.print ("la calculación para ");
Serial.print (debe);
Serial.println ("°C");
vira [el número].minval = sens_alt;
vira [el número].maxval = sens;
float el factor = (soll-soll_alt)/float (sens-sens_alt);
vira [el número].faktor = el factor;
vira [el número].delta = debe - (sens * el factor);
soll_alt = debe;
sens_alt = sens;
número;
   }
if (debe > 50) {
medición = 0;
Serial.println ("el análisis de modo cerrado con llave");
for (el byte i = 0; i<anzahl; i) {
       Serial.print (vira [i].minval);
       Serial.print ("-");
       Serial.print (vira [i].maxval);
       Serial.print ("-");
       Serial.print (vira [i].faktor);
       Serial.print ("-");
       Serial.println (vira [i].delta);
    }
delay (5000);
  }
} else {
byte i = 0;
if (sens > vira [0].minval) {
while ((sens > vira [i].maxval) && (i<anzahl)) i;
  }
if (digitalRead (distribuiría) == 1)
   {
      /* Para el examen de la función provechosamente
Serial.print ("De modo encontrado: Minuto = ");
Serial.print (vira [i].minval);
Serial.print (" Max = ");
Serial.print (vira [i].maxval);
Serial.print (" el hecho = ");
Serial.print (vira [i].faktor);
Serial.print (" el delta = ");
Serial.print (vira [i].delta);
Serial.print (" la antena = ");
Serial.println (sens);
     */

float es = vira [i].temperatur (sens);
Serial.print ("valores de medida: Debe = ");
Serial.print (debe);
Serial.print (" el Es = ");
Serial.print (es);
Serial.print (" la desviación = ");
Serial.println (soll-ist);
   }
delay (1000);
  }
}

Después de la salida el programa en el análisis es el modo, es decir cada vez que la temperatura ha aumentado alrededor de 5 °C la subida y Offset es calculada y es guardada en una tabla. Esto ocurre mientras hasta la temperatura 50 °C supera.

Uno consigue el cambio de temperatura el más simplemente con un secador de pelo. Sin embargo se tiene que atender a lo que el calentamiento no sucede demasiado rápidamente, dado que ambos los sensores tienen una inercia diferente.

Si una temperatura de 50 °C era conseguida, uno recibe en el monitor en serie el contenido de la curva de corrección de modo indicado. Desde ahora Sollwert, Istwert y desviación pueden ser indicados. Allí el anuncio subaprieta uno se hacía con eso los resultados del análisis (Pin 8) puede contemplar, esto debe ser separado necesariamente Pin 8 de GND.

En mis intentos no estaba contento con el resultado. Eventualmente el cambio de temperatura era demasiado rápido durante el análisis.

Mucha diversión experimentan en.

ProduktvorstellungenSensores

Deja un comentario

Todos los comentarios son moderados antes de ser publicados

Artículos de blog

  1. Ahora instalamos el esp32 a través de la administración.
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. Transporte Aéreo - programación de ESP mediante redes locales inalámbricas