Proyecto Estación Meteorológica 5: Análisis y Tratamiento de Datos Mediante Matlab
Análisis y Tratamiento de Datos Mediante Matlab
Para terminar de forma adecuada el proyecto, se ha decidido darles una razón de ser a los datos recogidos. Con la ayuda del software Matlab se hace el control de la temperatura y la humedad de la habitación utilizando un controlador fuzzy. La habitación en cuestión tendrá un climatizador que se ocupará de calentar, enfriar, humidificar o deshumidificar el aire de la sala. El climatizador estará formado por los siguientes elementos:
- Un intercambiador de calor para enfriar el aire.
- Un contenedor para retirar el agua condensada.
- Una resistencia para calentar el aire.
- Un humidificador.
Pasando al código de Matlab, este cuenta con 3 partes principales: la obtención de datos de ThingSpeak, el controlador fuzzy y el Simulink en el cual se conseguirán las acciones de control.
Tal y como se ha mencionado, primero hay que obtener los datos de entrada, los cuales están almacenados en los servidores de ThingSpeak. Teniendo en cuenta que la temperatura y la humedad no varían mucho en un minuto, se ha decidido que como datos de entrada se usarán todos los datos del último minuto, con las cuales se calculan los datos medios de ese intervalo. Además, al ser un sistema no crítico (ya que, al ser una habitación normal y los actuadores no ser demasiado potentes, los cambios en las condiciones no son muy drásticos) el periodo entre obtención de datos es de unos 15 segundos, aunque no cumple requisitos de tiempo real.
Una vez se han obtenido los datos y se han preparado para poder ser utilizados, se diseña el controlador. Este está formado por dos entradas (media de la humedad y la temperatura) y tres salidas (calentar, humidificar y enfriar). Las entradas y salidas han sido relacionadas mediante 34 reglas, una regla para cada combinación de entradas posibles. Las señales de control (las salidas) se han programado para un climatizador con los niveles de actuación definidos a continuación:
- Calentar: CalentarN1, CalentarN2 y CalentarN3.
- Enfriar: FrioN1, FrioN2 y FrioN3.
- Humidificar: HumedecerN1 y HumedecerN2.
*A tener en cuenta: para deshumidificar el aire, primero se enfriará el aire con el fin de condensar la humedad del aire. El agua condensada se retirará mediante un contenedor, y por último, se volverá a calentar el aire (en caso de querer mantener o aumentar la temperatura).
Además de diseñar el controlador, el cual se implementará en Simulink más adelante, se grafican tanto las entradas como las salidas para que el usuario tenga mayor conocimiento sobre lo que está pasando.
Por último, se diseña el Simulink en el cual se ejecutará el controlador fuzzy, el cual calculará las salidas correspondientes de acuerdo a las entradas. Además, todos estos datos van a poder ser observados tanto en el Simulink como en Matlab.
Al final, juntando todas las partes, el código de Matlab tiene el siguiente aspecto:
Comentarios
Publicar un comentario