Reporte Final
Descripción:
Control de un ventilador para que se encienda y/o se apague ante determinados rangos de temperatura.
Diagrama de Conexiones:
Descripción de Partes:
- Arduino UNO:
El Arduino uno sirve para poder controlar el ventilador en base a los valores recibidos desde el sensor. Lee desde un puerto analógico el valor del sensor LM35, y en base al valor recibido y convertido a grados centígrados, determina si el ventilador permanece encendido o apagado, esto mediante una señal PWM de salida que se conecta con el transistor para realizar el encendido y apagado del ventilador.
- LM35
Esta fórmula es así debido a que según el datasheet del LM35, es posible realizar una medición más precisa del LM35, ajustando el voltaje de referencia análogico a 1.1 (esto es posible hacerlo con el arduino agregando la línea analogReference(INTERNAL)). Entonces dividiendo el valor del sensor entre 9.31, nos da una temperatura un poco más precisa en grados centígrados.
- Transistor de Darlington TIP-122
El transistor es usado para poder manipular corrientes de 12V mediante el Arduino, que normalmente solo puede manejar corrientes de 5V por debajo.
- Ventilador
Por eso se utiliza un transistor de darlington para controlar el encendido y apagado del ventilador con 12V, separados de los 5V que utiliza el Arduino para funcionar.
- Fuente de poder de 12V
Se utiliza una fuente de poder extraída de una PC para obtener los 12V necesarios para encender el ventilador a máxima velocidad. La fuente de poder en sí no funciona por sí misma conectada a corriente, es necesario realizar un puente entre el pin ps_on(verde), y tierra(cualquier negro).
Con esta misma fuente de poder es posible utilizar 12V, 5V y 3.3V para cualquier cosa necesaria.
Funcionamiento:
El Arduino lee desde el pin del sensor un valor entre 0 y 1023. Dicho valor representa un voltaje, que a su vez representa una temperatura, basándonos en la siguiente ecuación:
Este voltaje es el que será representado en un valor entre 0 y 1023. Este valor necesitamos convertirlo a una temperatura, utilizando la fórmula mencionada anteriormente:
El valor del sensor es dividido entre 9.31, debido a que anteriormente en el Arduino estamos ajustando el voltaje de referencia análogo a 1.1, y dividiendo entre 9.31 podemos obtener una medición un poco más precisa.
Dependiendo del valor de la temperatura, el Arduino la comparará con un límite preestablecido. Sí el valor de la temperatura supera ese límite, el ventilador se enciende, buscando bajar la temperatura del objeto en contacto con el sensor. Cuando el valor de la temperature baje por debajo del límite, el ventilador se paga debido a que ha controlado la perturbación.
Para encender o apagar el Arduino, un valor entre 0 y 255 es utilizado (PWM). Este valor es dado de salida en el pin 9 del Arduino (PWM), y pasa como entrada al pin colector del transistor. Esto hara que el transistor utilice esa señal PWM como señal de encendido o apagado, para darle los 12V al ventilador de forma separada.
Código
Interfaz con la Computadora
El Arduino se conecta mediante puerto serial con la computadora, que a su vez corre un script en Python que se encarga de graficar en tiempo real los datos recibidos (la temperatura medida actual). Esto nos da una idea de las variaciones en la temperatura que se dan, y cuanto tiempo tarda en estabilizarse la temperatura a algo similar a temperatura ambiente por el enfriamiento del ventilador.
Usando un encendedor para incrementar rápidamente la temperatura del sensor, podemos simular un impulso que entra el sistema, donde la perturbación es el incremento de la temperatura por el encendedor.
Usando un encendedor para incrementar rápidamente la temperatura del sensor, podemos simular un impulso que entra el sistema, donde la perturbación es el incremento de la temperatura por el encendedor.
El código usado para graficar en tiempo real:
Ejemplo de gráfica:
Otro pequeño script que dependiendo de la temperatura recibida por comunicación serial, llena una barra gráfica y la pinta dependiendo de la temperatura, utilizando pygame.
Ejemplo:
Video:
Un pequeño vídeo grabado por el equipo, demostrando el funcionamiento del sistema cuando se incrementa la temperatura del sensor usando un encendedor.
Referencias: