Tabla de contenido:
Video: Sensor de temperatura de bricolaje con un diodo: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Entonces, como uno de los hechos sobre las uniones PN es que su caída de voltaje directo cambia de acuerdo con la corriente que pasa y también con la temperatura de la unión, usaremos esto para hacer un sensor de temperatura simple y económico.
Esta configuración se usa comúnmente en muchos circuitos integrados para medir su temperatura interna y muchos sensores de temperatura como el famoso LM35 que se basa en esta propiedad.
Simplemente, la caída de voltaje directo de un diodo (que es una única unión PN) cambia a medida que cambia la cantidad de corriente que pasa a través de él, también a medida que cambia la temperatura del diodo, la caída de voltaje va a cambiar (a medida que aumenta la temperatura, el caída disminuye en un valor de (1.0 milivoltios a 2.0 milivoltios para diodos de silicio y 2.5 milivoltios para diodos de germanio).
Entonces, al pasar una corriente constante a través del diodo, la caída de voltaje directo ahora solo debería variar de acuerdo con la temperatura del diodo. Ahora solo necesitamos medir el voltaje directo del diodo, aplique algunas ecuaciones simples y listo, ¡aquí está su sensor de temperatura!
Suministros
1 - 1n4007 diodo n. ° 12 - 1 resistencia de Kohm n. ° 13 - placa Arduino
Paso 1: diagrama de circuito
Como puede ver en el esquema, es muy simple. Al conectar el diodo en serie con una resistencia limitadora de corriente y una fuente de voltaje estable, podemos obtener una fuente de corriente constante cruda, por lo que el voltaje medido a través del diodo solo variará debido al cambio de temperatura. demasiado baja para que pase mucha corriente a través del diodo y haga un autocalentamiento notable en el diodo, tampoco es una resistencia muy alta, por lo que la corriente que pasa no es suficiente para mantener una relación lineal entre el voltaje directo y la temperatura.
una resistencia de 1 kilo ohmio con un suministro de 5 V debería dar como resultado una corriente de diodo de 4 miliamperios, que es un valor suficiente para este propósito. I (diodo) = VCC / (Rseries + Rdiode)
Paso 2: codificación
Debemos tener en cuenta que hay algunos valores para modificar en el código para obtener mejores resultados como:
1 - VCC_Voltage: como el valor de analogRead () depende del VCC del chip ATmega, debemos agregarlo a la ecuación después de medirlo en la placa arduino.
2 - V_OLD_0_C: la caída de tensión directa del diodo utilizado a una corriente de 4 mA y una temperatura de 0 Celsius
3 - Temperature_Coefficient: el gradiente de temperatura de su diodo (mejor obtenerlo de la hoja de datos) o puede medirlo usando esta ecuación: Vnew - Vold = K (Tnew - Told)
dónde:
Vnew = caída de voltaje recién medida después de calentar el diodo
Vold = caída de voltaje medida a cierta temperatura ambiente
Tnew = la temperatura a la que se calentó el diodo a
Told = la antigua temperatura ambiente a la que se midió Vold
K = Temperature_Coefficient (un valor negativo que varía entre -1,0 a -2,5 milivoltios) Finalmente, ahora puede cargar el código y obtener los resultados de la temperatura.
#define Sens_Pin A0 // PA0 para placa STM32F103C8
doble V_OLD_0_C = 690.0; // 690 mV Voltaje directo a 0 Celsius a 4 mA de corriente de prueba
doble V_NEW = 0; // Nuevo voltaje directo a temperatura ambiente a 4 mA de corriente de prueba double Temperature = 0.0; // Temperatura ambiente calculada double Temperature_Coefficient = -1.6; // Cambio de 1,6 mV por grado Celsius (-2,5 para diodos de germanio), mejor obtenerlo de la hoja de datos del diodo double VCC_Voltage = 5010.0; // Voltaje presente en el riel de 5V del arduino en milivoltios (requerido para una mejor precisión) (3300.0 para stm32)
configuración vacía () {
// ponga su código de configuración aquí, para que se ejecute una vez: pinMode (Sens_Pin, INPUT); Serial.begin (9600); }
bucle vacío () {
// ponga su código principal aquí, para que se ejecute repetidamente: V_NEW = analogRead (Sens_Pin) * VCC_Voltage / 1024.0; // divide por 4.0 si estás usando un ADC de 12 bits Temperature = ((V_NEW - V_OLD_0_C) / Temperature_Coefficient);
Serial.print ("Temp =");
Serial.print (temperatura); Serial.println ("C");
retraso (500);
}
Paso 3: obtener mejores valores
Creo que es aconsejable tener un dispositivo de medición de temperatura confiable a su lado cuando realice este proyecto.
puede ver que hay un error notable en las lecturas que puede llegar a 3 o 4 grados centígrados, entonces, ¿de dónde viene este error?
1 - es posible que deba modificar las variables mencionadas en el paso anterior
2 - la resolución ADC del arduino es menor de lo que necesitamos para detectar la pequeña diferencia de voltaje
3 - la referencia de voltaje del arduino (5V) es demasiado alta para este pequeño cambio de voltaje en el diodo
Entonces, si va a utilizar esta configuración como un sensor de temperatura, debe tener en cuenta que, aunque es barato y práctico, no es preciso, pero puede darle una muy buena idea sobre la temperatura de su sistema, ya sea en un PCB o montado en un motor en marcha, etc.
Este instructivo está destinado a usar la menor cantidad posible de componentes, pero si desea obtener los resultados más precisos de esta idea, puede hacer algunos cambios:
1 - agregue algunas amplificaciones y etapas de filtrado usando amplificadores operacionales como en este enlace 2 - use un controlador de referencia analógico interno inferior como las tarjetas STM32F103C8 con voltaje de referencia analógico de 3.3 Voltios (vea el punto 4) 3 - use la referencia analógica interna de 1.1 V en el arduino, pero tenga en cuenta que no puede conectar más de 1,1 voltios a ninguno de los pines analógicos de arduino.
puede agregar esta línea en la función de configuración:
analogReference (INTERNAL);
4 - Use un microcontrolador que tenga ADC de mayor resolución como STM32F103C8 que tiene una resolución ADC de 12 bits Entonces, en pocas palabras, esta configuración basada en arduino puede brindar una buena descripción general de la temperatura de su sistema pero resultados no tan precisos (aproximadamente 4.88 mV / lectura)
la configuración del STM32F103C8 le daría un resultado bastante preciso, ya que tiene un ADC de 12 bits más alto y un valor de referencia analógico de 3.3V más bajo (aproximadamente 0.8 mV / Lectura)
Bueno, eso es todo !!:D
Recomendado:
Lente macro de bricolaje con AF (diferente a todas las demás lentes macro de bricolaje): 4 pasos (con imágenes)
Lente macro de bricolaje con AF (diferente a todas las demás lentes macro de bricolaje): He visto a muchas personas fabricar lentes macro con un kit de lentes estándar (generalmente un 18-55 mm). La mayoría de ellos son una lente que simplemente se pega en la cámara al revés o se quita el elemento frontal. Hay desventajas para ambas opciones. Para montar la lente
Caja de cámara con control de temperatura para bricolaje con módulo Peltier TEC: 4 pasos (con imágenes)
Caja de cámara con control de temperatura de bricolaje con módulo Peltier TEC: He ensamblado una caja de cámara con control de temperatura para probar pequeñas placas electrónicas. En este tutorial, he compartido mi proyecto, incluidos los archivos fuente y el enlace a los archivos Gerbers para hacer el PCB. He utilizado solo materiales baratos comúnmente disponibles
Sensor de respiración de bricolaje con Arduino (sensor de estiramiento de punto conductor): 7 pasos (con imágenes)
Sensor de respiración de bricolaje con Arduino (sensor de estiramiento de punto conductor): este sensor de bricolaje tomará la forma de un sensor de estiramiento de punto conductor. Se envolverá alrededor de su pecho / estómago, y cuando su pecho / estómago se expanda y se contraiga, también lo hará el sensor y, en consecuencia, los datos de entrada que se alimentan al Arduino. Entonces
Sensor de incendio basado en diodo PIN: 4 pasos
Sensor de incendio basado en diodo PIN: aquí hay un sensor de incendio basado en diodo PIN que activa una alarma cuando detecta un incendio. Las alarmas de incendio basadas en termistor tienen un inconveniente; la alarma se enciende solo si el fuego calienta el termistor en las inmediaciones. En este circuito, un diodo PIN sensible es u
Extintor de incendios con sensor de temperatura y humedad para bricolaje (Arduino UNO): 11 pasos
Extintor de incendios con sensor de temperatura y humedad de bricolaje (Arduino UNO): este proyecto fue diseñado para ser utilizado por cualquier persona en hogares o empresas como un sensor de temperatura y humedad que se muestra en una pantalla LCD y un sensor de llama emparejado con un zumbador y una bomba de agua para extinguir un incendio en caso de emergencia