Autor: Lic. Bernardo Herrera Pérez / bernardo@mtz.jovenclub.cu
A solution to the Haier TV problem and the remote control of the KONKA digital box
Resumen
El trabajo propone una solución para impedir la interferencia causada por el control remoto de algunas cajas decodificadoras de TV digital, en el funcionamiento de los televisores Haier de 29 pulgadas, presentes en muchos hogares cubanos. En esencia, consiste en un conmutador electrónico basado en el microcontrolador PIC12F508, de Microchip.
Palabras claves: TV Haier, PIC12F508, control remoto
Abstract
The work proposes a solution to prevent the interference caused by the remote control of some digital TV set-top boxes, in the operation of the 29-inch Haier televisions, present in many Cuban homes. In essence, it consists of an electronic switch based on the microcontroller PIC12F508, from Microchip.
Key words: Remote control, PIC12F508, Haier TV
Introducción
La introducción de la televisión digital terrestre (TDT) en el país ha sido acogida por la población, con mucho beneplácito, por todas las ventajas que ofrece esta tecnología cuya implementación se ha llevado a cabo empleando cajas decodificadoras para lograr la compatibilidad con los televisores analógicos, aún predominantes en todo el territorio nacional, por lo que se requiere de dos mandos a distancia para el control, por separado, de ambos equipos.
En el caso de los televisores Haier, de 29 pulgadas, y las cajas decodificadoras, marca KONKA, sucede que al usar el control remoto de la «cajita» para ejecutar alguna acción en la misma, el TV responde también con acciones no deseadas, lo que resulta muy molesto para el usuario, quien se ve obligado a diseñar diferentes estrategias con tal de minimizar este tipo de interferencia.
La propuesta del presente trabajo es una solución que resuelve dicho problema, pues trata sobre un conmutador electrónico, de apenas cuatro componentes, que intercalado en la interfaz infrarroja del TV, funciona como una llave que sólo deja pasar la señal generada por el control remoto del TV.
Descripción de la solución
El protocolo NEC, de comunicación infrarroja, es ampliamente utilizado en el control remoto de diferentes equipos electrónicos de uso doméstico, como televisores, reproductores de video, cajas decodificadoras de TV digital, etc. Como la diversidad de fabricantes es abrumadora, resulta muy común que el control remoto de un equipo cause acciones no deseadas en otro equipo. Tal es el caso de los televisores Haier, de 29 pulgadas, y las cajas decodificadoras marca KONKA, los cuales utilizan el protocolo NEC para el control remoto.
Un ejemplo de lo anterior es que al pulsar la tecla BAJAR, en el mando de la «cajita» para cambiar al canal precedente, el TV responde cambiando de canal también, saliendo del modo AV, algo verdaderamente molesto para el usuario. Sin embargo, la «cajita» es inmune a los comandos del control remoto del TV. Para explicar este fenómeno, el autor del presente artículo considera la hipótesis de una programación inadecuada del FIRMWARE usado por microcontrolador del TV ya que, al parecer, no chequea correctamente la parte del protocolo correspondiente al fabricante.
Para conocer los detalles sobre el protocolo NEC se puede visitar el sitio web SB-Projects, cuyo enlace aparece en sección «Referencias bibliográficas». En pocas palabras, el protocolo NEC, desde el punto de vista digital, tiene 32 b (bits), es decir, está formado de 4 B (bytes); los dos primeros corresponden al código del fabricante y los dos restantes, a la función de la tecla. Se observa que los bytes correspondientes a la función de la tecla son complementarios entre sí, o sea, la operación lógica XOR entre ellos da como resultado FF (notación hexadecimal del número 255), sin embargo, los correspondientes al fabricante, no necesariamente son complementarios. Por ejemplo, la tecla BAJAR, del control remoto del TV Haier de 29 pulgadas, forma el número de 32 b cuyo formato hexadecimal es 00FF48B7, pero en el mando de la «cajita» KONKA el número formado es 609F48B7. En el mando de la «cajita» Soyea, la tecla BAJAR forma el número 6EAC0AF5.
Como se puede apreciar, los bytes correspondientes a la identificación del fabricante del TV (00FF) y de la «cajita» KONKA (609F) son complementarios entre sí y no sucede así con los bytes que identifican al fabricante de la «cajita» Soyea (6EAC). Es un hecho práctico que el mando de la «cajita» Soyea no interfiere en la funciones del TV Haier de 29 pulgadas como sí lo hace el mando de la «cajita» KONKA. Varias «cajita» de las comercializadas en el país usan el protocolo NEC de comunicación infrarroja, sin embargo, sus respectivos mandos no interfieren en las funciones del TV Haier en cuestión, ya que los bytes de identificación no son complementarios, como sucede en el caso de la «cajita» KONKA.
Como ejemplo, a continuación se menciona la marca de las «cajitas» y entre paréntesis, los bytes de identificación: Gelect (AC6E), Runch (A4D7), Haier (11D5), Mico (FB00) y Real TV (80BF). Estas observaciones hacen pensar, al autor del artículo, en que la parte del FIRMWARE del TV, que se ocupa de analizar la comunicación infrarroja, está incorrectamente programada ya que cualquier control remoto, basado en el protocolo NEC y cuyos bytes de identificación sean complementarios entre sí, puede interferir en las funciones del TV Haier referido. Para resolver este problema se propone un conmutador electrónico basado el microcontrolador PIC12F508, de Microchip, que intercalado en la interfaz infrarroja del TV Haier, rechace las tramas del protocolo NEC cuyos bytes de identificación sean distintos a los del control remoto de dicho TV, es decir, 00FF.
Funcionamiento del circuito.
La figura 1 muestra el circuito del conmutador, donde el transistor Q1 se comporta como una llave que regula el paso de la señal entrante por IR_IN hacia la salida IR_OUT. El microcontrolador PIC12F508 es el encargado de abrir y cerrar la llave polarizando la base del transistor a través del resistor R1. En ausencia de señal, la entrada IR_IN, el emisor del transistor y la entrada GP3 (pin 4) del PIC, permanecen a una tensión de 5 V, suministrada por VDD a través de un resistor de pull-up conectado internamente a GP3. La salida IR_OUT, tomada del colector del transistor, también permanece a una tensión de 5 V («1» lógico), producida por la fuente de alimentación a través del resistor R2.
Bajo esas condiciones, el PIC mantiene un «1» en el pin 5 (GP2), polarizando la base del transistor positivamente, pero como el emisor también se encuentra a 5 V, la tensión base-emisor es nula, de manera que el transistor se encuentra cortado, pero si en la entrada IR_IN, la tensión baja a 0 V («0» lógico) debido a la señal entrante, también bajará a 0 V la tensión en el emisor del transistor, el cual pasará al estado de saturación, imponiendo un «0» en la salida IR_OUT. En otras palabras, mientras el PIC mantenga un «1» en GP2, la salida IR_OUT tendrá el mismo estado lógico que la entrada IR_IN, es decir, la llave permanece abierta.
Por el contrario, si GP2 mantiene un «0», independientemente del valor que tenga la entrada IR_IN, el transistor permanecerá cortado, de manera que la salida IR_OUT se mantendrá en «1», es decir, la llave estará cerrada y por tanto, los «0» que llegan a la entrada, no alcanzarán la salida. El programa del PIC está concebido para decodificar la señal de un mando a distancia que cumple con el protocolo NEC. En ausencia de señal, el microcontrolador PIC mantiene la llave abierta (GP2 = «1»).
Cuando a la entrada IR_IN llega una trama proveniente del mando, esta es decodificada al mismo tiempo que va pasando a la salida IR_OUT. Si los primeros 16 b decodificados forman el número hexadecimal 00FF, entonces la llave permanece abierta, dejando pasar los 16 b restantes. Si no es así, el PIC cierra la llave (GP2 = «0») y el resto de la trama no alcanza la salida. Después de transcurrir el tiempo necesario para que la trama finalice, el PIC abre la llave nuevamente haciendo GP2 = «1» y se prepara para esperar la próxima trama.
Montaje.
Una vez programado el PIC, este se coloca en la placa del panel frontal del TV, en la cercanía del sensor infrarrojo, siguiendo el esquema eléctrico dado anteriormente. Como son muy pocos componentes, no es necesario hacer un circuito impreso. La figura 2 muestra la forma de intercalar el pequeño circuito en la interfaz infrarroja del TV Haier. Como se puede apreciar, hay que cortar el impreso a la salida del sensor infrarrojo y entonces los puntos IR_IN e IR_OUT se conectan a ambos lados del corte practicado. La alimentación del circuito se toma en paralelo con la alimentación del sensor infrarrojo.
Nota: Contactar con el autor a través de su correo electrónico, para obtener el fichero .HEX que constituye el programa del PIC.
Listado de componentes
U1 = Microcontrolador PIC12F508
R1 = R2 = 10 kΩ
Q1 = Transistor BC337 o similar
Referencias bibliográficas
Microchip Technology Inc. (2007). PIC12F508/509/16F505. Recuperado el 26 de Mayo de 2010, de http://ww1.microchip.com/downloads/en/DeviceDoc/41236D.pdf
SB-Projects. (2004). NEC protocol. Recuperado el 20 de septiembre de 2016, de http://www.sbprojects.com/knowledge/ir/nec.php
Aprovecho la ocasión y le agradecería de antemano, sí con Ud. yo pudiera obtener Manual de Servicio de la cajita Konka KHDT-875A así como los TV Haier 21y 29 T5.
Gracias…… 5 370 3787
Buenas noches amigo como yo podria contactar con usted me interesa mucho, su proyecto, como tambien me interesa, el codigo fuente para poder pasar este proyecto, a otro microcontrolador pic como por ejempllo el pic16f628a que es que que tengo a mano.
ME INTERESA SU PROYECTO COMO PODRIA OBTENER EL .HEX