www.iesmajuelo.com ...
Martes, 9 de junio
Gines - Sevilla, Temperatura: 30.65 ºC, Humedad: 37 %, Presión: 1014 mbar, Viento: 1.79 km/h

Aire acondicionado

Una nevera de viaje adaptadaHace unos años, aprovechando lo económicas que resultan las "neveras de viaje" eléctricas, se adaptó una de ellas para mantener dentro de unos márgenes razonables de temperatura el servidor iesmajuelo.com. Sin embargo, este tipo de neveras no consiguen rebajar más que entre 4 y 5 grados la temperatura ambiente. A pesar de la buena situación que se ideó con respecto al servidor -adosada directamente a su base-, cuando en pleno mes de agosto se superan los 47 grados en el aula donde está situado, poco puede hacer por él este sistema (bueno, es verdad que 43 grados son menos que 47, pero no deja de ser una cifra realmente alta).

El equipo de aire acondicionadoActualmente se han hecho populares los sistemas de aire acondicionado "portátiles" [1] y sus precios han caído considerablemente. Tanto es así, que el Centro ha adquirido uno de ellos y durante el verano se pretende aprovecharlo para refrigerar el servidor iesmajuelo.com.
Sin embargo, este tipo de aparatos tiene dos características que se convierten en serios inconvenientes si se quiere usar como sistema de refrigeración de una máquina de forma continuada y desatendida [2]:

  • Si se conecta directamente a la tensión eléctrica, no arranca automáticamente, si no que se queda parado "esperando" hasta que o bien en su botonera o bien en su mando a distancia se pulse el botón de encendido
  • Si se le fija una determinada temperatura, cuando la alcanza, en lugar de pararse completamente, solo deja de enviar aire frío pero su sistema de ventiladores continua funcionando indefinidamente.

Es decir, o bien se le fija una determinada temperatura y se deja funcionando ininterrumpidamente día y noche durante todo el verano sin descanso -lo que no parece buena idea ni desde el punto de vista de su vida útil ni del consumo eléctrico-, o bien no se podrá usar tal cual y habrá que idear algún sistema para que se encienda él solo cuando haga calor y se pare -pero completamente- también el solo cuando ya no lo haga.

Lo que a partir de aquí se detalla es el proceso que se ha ideado para "adaptar" uno de estos equipos de aire acondicionado a las necesidades concretas del Centro, y harán falta algunos conocimientos de electrónica e informática para poder seguir los detalles que a continuación se cuentan.


No olvides hacer clic en las imágenes para verlas ampliadas


La consola para controlar el aire acondicionadoLo primero es considerar que una solución como puede ser desmontar y alterar el circuito eléctrico interno del aire acondicionado no es viable, ya que además de no disponer de documentación alguna al respecto, se pretende que cuando no sea verano y no esté refrigerando el servidor iesmajuelo.com siga pudiéndose emplear en cualquier otra estancia tal y como lo haría normalmente sin modificación alguna.

Con esta premisa, la alternativa que se ha tomado está basada en aprovechar que desde su mando a distancia este aparato permite encenderlo fijándole una temperatura determinada y apagarlo completamente, aunque lógicamente de forma "manual", es decir, apretando los botones apropiados en el mando.

Como no es factible estar todo el verano pendiente del aparato -apretando botones en su mando a distancia-, lo que se necesita es un circuito electrónico que esté comprobando la temperatura ambiente constantemente y:

  • si detecta que supera un determinado valor máximo envíe al aire acondicionado la misma información que enviaría su mando a distancia para encenderlo y fijarle una temperatura determinada
  • si detecta que no llega a un valor mínimo envíe al aire acondicionado la misma información que enviaría su mando a distancia para apagarlo completamente

Reloj temporizadorDe esta forma se superan los dos inconvenientes ya comentados, y, si además se conecta a un reloj temporizador que por ejemplo le suministre tensión de alimentación solo de 9:30 de la mañana a 9:30 de la noche se conseguirá que se encienda "solo" cuando además de ser de día haga realmente calor y que se apague -de forma completa- cuando no lo haga... con lo que se ahorrará electricidad y se alargará su vida útil.

El inconveniente de esta solución es disponer del circuito electrónico que realice esta tarea, pues evidentemente no se vende algo así ya construido y hay que diseñarlo "a medida" para la ocasión.

Para estos casos, lo más rápido, sencillo y económico [3] es utilizar un microcontrolador que, programado al efecto, se haga cargo tanto de detectar la temperatura como de enviar las órdenes oportunas al aire acondicionado haciéndole creer que provienen de su mando a distancia.

Con estos requisitos, la elección de un microcontrolador adecuado es sencilla. Concretamente se ha recurrido al circuito PIC12F675 de la empresa Microchip. Este dispositivo incluye internamente un convertidor ADC -es decir, es capaz de convertir valores analógicos a valores digitales- con el que se puede testar la temperatura ambiente y por otra parte, es lo suficientemente potente/rápido como para generar la señal infrarroja que simulará provenir del mando a distancia del aire acondicionado.

Elegido el microcontrolador, los dos aspectos siguientes a considerar son:

  • es necesario escribir un programa que lo controle adecuadamente de forma que detecte temperaturas y envíe comandos infrarrojos adecuados en respuesta a ella
  • hay que construir una placa de circuito impreso donde situar los diferentes componentes de apoyo que necesita el microcontrolador para funcionar

Programa de control

El programa tiene dos partes claramente diferenciadas: la detección de la temperatura ambiente y el envío de los comandos infrarrojos.

Para detectar la temperatura ambiente, como ya se ha comentado, lo más sencillo es emplear el convertidor ADC del microcontrolador siempre que se cuente con apoyo de algún componente externo que pueda convertir las variaciones de temperatura en variaciones de tensión -que será lo que realmente mida el microcontrolador-.

Aunque para un control exacto de la temperatura existen dispositivos como el antiguo LM135 o el más moderno y basado en procesador DS1624, para este caso como no es necesaria una gran precisión ni un gran margen de temperaturas, se ha recurrido a algo tan simple como crear un divisor de tensión con una resistencia NTC y un potenciómetro, dejando que sea el programa del microcontrolador quien lleve el "peso" de la gestión de la temperatura.

El convertidor ADC del microcontrolador tiene una precisión de 10 bits, es decir, puede diferenciar hasta 2^10=1024 valores diferentes. Como el circuito se alimenta a 4.5 voltios [4], cada "paso" del convertidor son 4.5/1024=4.4^-3 voltios, es decir, por cada aproximadamente 4.5 milivoltios que varíe la tensión a su entrada se podría detectar una temperatura diferente.

Lo cierto es que para un montaje como este no hace falta tanta precisión y se ha optado por detectar variaciones de unos 20 milivoltios -unos 4 "pasos" del convertidor- que ya es más que suficiente y simplifica considerablemente el código del microcontrolador (aunque para comprender por qué habría que estudiar detalladamente la forma de entregar los resultados del convertidor ADC...lo que por otra parte, está perfectamente detallado a partir de la página 41 de su manual). Además, con ayuda de un par de LEDs indicadores [5] y el potenciómetro ya comentado, es muy sencillo ajustarlo para que envíe comandos de encendido al aire acondicionado cuando se superen unos 30 grados y comandos de apagado sobre los 25 grados [6].

Mando hackeado :-)En cuanto a la parte del programa que se encarga del envío de los comandos infrarrojos, el principal inconveniente es saber como son los comandos que hay que enviar. Dado que no se dispone de documentación alguna al respecto, la única posibilidad pasa por desmontar el mando a distancia original del aire acondicionado y "trastearlo" de forma que puedan observarse esos comandos -y así luego poderlos "imitar" con el microcontrolador-.

Viendo las tramas infrarrojasComo en nuestro Centro no se imparten ciclos de electrónica ni similares, no disponemos de analizadores lógicos ni otro instrumental parecido, pero afortunadamente, si que disponemos de ordenadores y de un programa como Logic Analizer. Este programa, aunque es del año 1993 y solo funciona bajo MS-DOS -no utiliza siquiera el ratón- es capaz de analizar señales digitales usando como entrada el conector de la impresora de cualquier PC... y está tan ingeniosamente diseñado que permite medir y presentar con gran facilidad gráficas de las señales que recibe.

Cable para Logic AnalizerPara utilizarlo es necesario construir un cable apropiado -viene detallado en la ayuda del propio programa y permite hasta 5 señales simultáneas- y luego tomar la entrada de datos del propio LED infrarrojo del mando a distancia [7].

Una vez realizadas las conexiones oportunas, se selecciona el modo de captura en el programa Logic Analizer y se fija el flanco de la señal que lo hará comenzar -a cero en este caso-. Luego, se pulsa un botón en el mando a distancia del aire acondicionado e inmediatamente se obtiene una gráfica con la señal que se ha recibido.

Portadora infrarrojaUna vez se tienen esos datos, lo que se debe hacer es determinar el ancho de los pulsos que sirven como portadora de la información que se envía en la señal infrarroja [8]. Se puede ver en la imagen adjunta (haz clic para verla aumentada) que están en torno a una frecuencia de 38KHz, es decir, un periodo completo dura 26.2 microsegundos (en la gráfica es el valor X-Y) pero si se observa con más detalle se podrá ver que el nivel alto ocupa 12.4 microsegundos (en la gráfica es el valor Y-Z) por lo que el nivel bajo ocupará 13.8 microsegundos [9].

Trama infrarroja para 20 gradosEn cuanto a lo que son los datos -los unos y los ceros- que son los que realmente llevan la información y van "sobre" la portadora, pueden verse en la imagen adjunta a modo de ejemplo, como serían para el caso de un comando de encender el aire acondicionado a 20 grados (en este aparato concreto, un mismo comando además de encender fija una temperatura determinada).

Estudiando esta señal de observa que:

  • al comienzo se envía un primer trozo muy largo (bueno, en realidad no mide más que 9.1 milisegundos) que es muy probable que sirva como activación/ajuste de la parte del receptor que va dentro del aire acondicionado (como ya se ha comentado no se dispone de información al respecto y esto solo es una "especulación" basada en la experiencia)
  • seguidamente viene un periodo de "silencio" en el que no se envía nada -aunque para ser exactos, como puede verse en la gráfica, el LED infrarrojo permanece encendido- que suele usarse como marca de comienzo, es decir, justo después de ese "silencio" es cuando comenzarán los datos reales del comando que se envíe
  • a continuación se observan pequeños envíos (como se ve en la figura anterior) en grupos de 4, 3, 3, 7, 4, 3 y 6 [10] que son los que realmente llevan la información

Con estos detalles ya se puede diseñar un programa para el microcontrolador [11] que haga exactamente lo mismo (bueno, o al menos algo muy parecido). Lógicamente, también haría falta "capturar" el comando de apagado desde el mando a distancia para poder completar el programa. De todas formas, y dado lo sencillo que resulta hacer la captura de comandos con el programa Logic Analizer, si tienes interés en el código fuente del programa puedes ver los detalles de unos cuantos comandos más de los muchos que genera el mando a distancia (o puedes bajarte la versión ya compilada y probarlo tu mismo).

Placa de circuito impreso

El diseño electrónicoEl diseño electrónicoPara el diseño de la placa de circuito impreso, aunque podría hacerse completamente "a mano" dado que son pocos los componentes que intervienen, es mucho mejor usar un programa como Eagle. No solo es estupendo, fácil de usar e incluye infinidad de componentes ya prediseñados, sino que además es gratuito para uso no comercial... y además, funciona tanto en Windows como en Unix. Con su ayuda se ha creado la disposición de los componentes y se han interconectado todos ellos en una pequeña placa de una sola cara y sin un solo puente.

La placa aún sin soldarA medias por la cara de las soldadurasA pesar de todo, y contando ya con el diseño, aún hace falta construir físicamente la placa de circuito impreso. Afortunadamente, como parte de las prácticas de la asignatura de Tecnología que se imparte en el Centro, se encuentra la construcción de este tipo de material. Es decir, que además de con los componentes necesarios -revelador, ácido, agua oxigenada, etc- también se cuenta con una insoladora, un taladro y su banqueta adecuados, cubetas, y demás aparataje preciso para esta tarea... y lo que es aún más importante, con la colaboración del profesor Domingo García que a partir del diseño ha sido quien realmente ha hecho la placa.

A medias por la cara de los componentesLa placa terminadaUna vez construida y montados los componentes sobre ella, ya está todo el montaje terminado. Solo resta antes de irnos de vacaciones de verano, situar el aire acondicionado en el taller donde está ubicado el servidor iesmajuelo.com y acercarle "el invento" que se encargará de controlarlo. Esperemos que a partir de este verano el servidor no pase tanta calor como ha pasado los cursos anteriores :-)


  • [1] Bueno, realmente portátiles lo que se dice portátiles no son. Además del considerable tamaño que tiene -y a pesar de las ruedas que incorpora-, exige conectarle un tubo -bastante grueso- que desemboque en algún lugar "externo" respecto de donde esté situado y al que desplazará todo el calor que consiga extraer de la estancia donde se coloque. Además, tiene una salida de agua que también hay que prever que hacer con ella, pues si no se hace así, se llena el depósito que tiene y ya no enfría más en tanto no se vacíe. Concretando, es "portátil" en el sentido de que no está atornillado a una pared, pero poco más :-(
  • [2] La situación física en el aula donde está el servidor iesmajuelo.com también es un inconveniente, pero se ha realizado un agujero para situar el tubo de expulsión de aire caliente y se van a colocar unas bandejas para recoger el agua que evacúa mientras está funcionando.
  • [3] Algunas empresas que fabrican componentes electrónicos facilitan muestras gratuitas a quienes las solicitan para que puedan probar sus productos y decidir si comprarlos o no. Concretamente, la empresa Microchip tiene un plan de envío de muestras gratuitas inmejorable que pone a disposición de cualquiera que lo solicite la mayor parte de los dispositivos que fabrican. Aprovechando esta posibilidad es como se ha adquirido el microcontrolador PIC12F675 que se ha empleado en este montaje. De todas formas, en el comercio "normal", este dispositivo tiene un precio de poco más de un par de euros (e incluso menos si se compran varios de una vez).
  • [4] Un cargador de teléfonos como alimentadorEn un principio, y dado el consumo ridículo del circuito -no llega a 3 miliamperios si no se conectan los LEDs indicadores- se pensó alimentarlo con pilas. Una pila de "petaca" -que no son más que tres pilas de 1.5 en serie- de 4.5 voltios podría -al menos teóricamente- hacerlo funcionar todo el verano sin problemas. Aún así, al final se ha decidido usar un cargador de teléfonos móviles que suministra unos 5.3 voltios pero haciéndolo "atravesar" un diodo en serie con él -que le resta unos 0.7 voltios- y lo deja en unos 4.6 voltios... es decir, prácticamente igual que la pila de "petaca".
  • [5]A medias por la cara de las soldaduras Los dos LEDs indicadores funcionan de la siguiente forma. Si ambos están apagados, la temperatura es lo suficientemente fresca como para que el aire acondicionado no tenga que funcionar, por lo que se le envían comandos infrarrojos de apagado -es decir, si estuviese en marcha se apagaría-. A partir de ahí, y al ir subiendo la temperatura, comienza a parpadear el primer LED -y dejan de enviarse los comandos de apagado-. Si sube más la temperatura el primer LED queda fijo. Si sube algo más, comienza a parpadear el segundo LED. Si aún sube más, el segundo LED también permanece fijo y a partir de ahí es cuando se envían comandos infrarrojos al aire acondicionado para que comience a funcionar y haga descender la temperatura, con lo que el proceso se repetiría pero ahora de forma inversa.
  • [6] Para que todo funcione se debe cumplir que la temperatura que se fije en el aire acondicionado debe ser inferior a la que el sistema que se está diseñando considere mínima. En este caso, el sistema fija como temperatura del aire acondicionado 20 grados, y por tanto, antes de bajar hasta esa temperatura ya debe apagarlo. Concretamente se ha fijado que a 25 grados ya se envía el comando de apagar... de esta forma, lo que el circuito "decide" prevalece sobre el termostato interno del aire acondicionado.
  • [7] Aunque el mando a distancia funciona con dos pilas LR03 de 1.5 voltios -es decir, a 3 voltios- es suficiente para "mover" de forma adecuada los niveles TTL -es decir, entre 0 y 5 voltios- que son los que se aceptan en el puerto de la impresora, pues en estos casos, cualquier valor por encima de 2.5 voltios ya se considera un uno lógico.
  • [8] Salvando las diferencias, la mayoría de sistemas de emisión infrarroja funcionan haciendo pasar la señal digital que se quiere enviar -los unos y ceros- "a través" de una señal portadora antes de enviarse. Se hace así para evitar las interferencias de este tipo de luz -que no vemos- con la luz normal -la que si vemos-. Habitualmente, la frecuencia de la portadora está alrededor de los 38 KHz y es "sobre ella" -modulándola en amplitud para ser exactos- como se envían los ceros y unos que conforman la información que debe ir desde el mando a distancia al aparato de aire acondicionado.
  • [9] Aunque pueda parecer que con que la frecuencia portadora sea de 38 KHz es suficiente, es decir, sin tener en cuenta que el tiempo en nivel alto de la señal es diferente que el tiempo en nivel bajo, a nivel práctico no es así. Tras montar un primer prototipo y hacer algunas pruebas se pudo comprobar que si los dos periodos se hacen de igual duración -la ventaja de esto es que así suele ser más fácil escribir el código del programa para el microcontrolador- el aire acondicionado recibe los comandos que se le envíen, pero solo desde muy corta distancia. Si se quiere que funcione este "invento" desde una distancia similar a la del mando "real", es necesario respetar la desigual duración de los pulsos de la portadora (aunque para conseguirlo cueste algo más de trabajo escribir el programa del microcontrolador).
  • [10] Evidentemente, otros comandos generan otras señales, pero siempre siguen esta norma, es decir, la trama inicial, el espacio de "silencio" y los pequeños envíos. Observando los pequeños envíos, se ve que estos siempre miden unos 600 microsegundos pero que unas veces van seguidos por un periodo de "silencio" de poco más de 700 microsegundos mientras que en cambio otras veces ese "silencio" es de unos 2 milisegundos -es decir, casi el triple de duración-.Señal detallada Suponiendo que el ancho del pulso de "silencio" que sigue a cada pequeño envío determina si se está enviando un cero lógico o un uno lógico, puede hacerse una posible interpretación de la señal enviada de esta forma: Numéricamente, el comando de encender a 16 grados es así: 4,3,3,3,7,4,9 (es decir, 4 envíos "cortos" seguidos de uno largo, 3 cortos seguidos de uno largo, otros 3 cortos seguidos de uno largo, etc). Convirtiéndolo en ceros y unos quedaría: 000100100100100000010001000000001. Ahora, si se "trocea" en grupos de 8 bits resultaría: 00010010 - 01001000 - 00010001 - 00000000 - 1, que convertido en hexadecimal -y despreciando el último uno que siempre aparece al final de todas las tramas queda reducido a estos números 12, 48, 11, 00 hexadecimales. Otro ejemplo. El comando de apagar a 22 grados es así: 4,3,3,3,5,3,5,1,6. Convirtiéndolo en ceros y unos quedaría: 000100100100100001001000011000001. Ahora se "trocea" en grupos de 8 bits y resulta: 00010010 - 01001000 - 01001000 - 01100000 - 1, que convertido a hexadecimal -y de nuevo despreciando el último uno- es 12, 48, 48, 60. Repitiendo el proceso para unos cuantos comando más -en el código fuente están los datos para 16,18, 20 y 22 grados- podríamos concluir que siempre los dos primeros bytes enviados son los mismos (12 y 48 en hexadecimal), así que lo más probable es que estos identifiquen el dispositivo (es muy habitual que una empresa que fabrica varios modelos de un mismo aparato, a cada uno le asigne un código de referencia y en este caso concreto, esos dos números serían esa identificación). Luego, si el comando es para encender se envía un 11 y si es para apagar un 48 (siempre en hexadecimal). Finalmente, y según la temperatura que se desee fijar, partiendo de 16 grados que es lo mínimo que permite seleccionar el aparato de aire acondicionado se envía un 00, un 20, un 40 ó un 60 para los valores de temperatura de 16, 18, 20 ó 22 grados. Por supuesto, estas deducciones no son más que "conjeturas", pues como ya se ha mencionado otras veces, no se dispone de ninguna documentación al respecto, claro que el programa para el microcontrolador se ha construido basado en estas suposiciones y funciona perfectamente :-)
  • [11]Programador TE20X Además de crear y probar en un PC el programa del microcontrolador en el entorno integrado que proporciona gratuitamente la empresa Microchip, hay que grabar el código resultante en el microcontrolador real. Para esto, es preciso disponer de un grabador y de un programa adecuado. El grabador es un aparato realmente barato y fácil de conseguir -incluso de construir-, y el programa grabador, aunque hay varios, icprog es uno de los más completos y fáciles de usar.

  • Volver al departamento

     

El Majuelo. Enrique Granados, 43. 41960 Gines. Sevilla. Telf: 955622592 RCJA: 380592, Fax: 955622598 RCJA: 380598 ©®