Al instalar o hacer mantenimiento de una red de ordenadores, resulta muy conveniente disponer de una herramienta que nos permita comprobar la integridad del cableado. Para ello existen equipos especiales, similares al que proponemos construir hoy.Hoy día es bastante frecuente que en un hogar haya más de un ordenador, y casi siempre es posible conectarlos en red, ya sea para jugar contra un amigo o simplemente para compartir ficheros o la conexión a internet.
Sin embargo, la tarea de armar la red implica trastear con cables, fichas y plaquetas, además de la configuración del software.
Uno de los puntos en los que suelen presentarse problemas en con el cableado en si. Terminamos de instalar las placas de red, hemos configurado todo como debe ir, hemos armado los cables y los tenemos enchufados, pero sin embargo, los ordenadores no se “ven”… ¿Qué puede estar pasando?
Muy probablemente el problema este en el cableado. En estas situaciones puede ocurrir que alguna de las fichas RJ-45 haya quedado mal puesta, o que alguno de los conductores no este en la posición correcta. Incluso, con un poco de mala suerte, puede pasar que el cable mismo tenga en el interior algún conductor cortado.
Para encontrar estas fallas proponemos el montaje de un tester de cables UTP, sencillo de realizar, muy económico, y con prestaciones profesionales.
UTP es una sigla que proviene, como tantas otras en el mundo de la informática, del ingles Unshielded Twisted Pair , que significa “par trenzado sin blindaje”. UTP es un tipo de cableado estructurado, que consiste en 4 pares de conductores de cobre, utilizado principalmente para el cableado para redes interiores de comunicaciones. Interiormente, consta de pares que no poseen blindaje (malla exterior). Cada par es un conjunto de dos conductores aislados con un recubrimiento plástico y trenzados sobre si mismos para que la señales transportadas por ambos conductores, que son de la misma magnitud y sentido contrario no generen interferencias en los otros pares, ni resulten sensibles a sus emisiones. El hecho de que no posea tiene ventajas y desventajas. Por un lado, el cable es más económico, más flexible, más delgado y más fácil de instalar. Además no necesita mantenimiento, ya que ninguno de sus componentes precisa ser puesto a tierra. Pero también es cierto que presenta menor protección frente a interferencias electromagnéticas, aunque la que ofrece es suficiente para la mayoría de aplicaciones.
En el extremo del cable se coloca una ficha plástica que es la que va a realizar la conexión eléctrica entre el cable y la placa de red. Esta ficha se llama RJ-45
Existen dos formas de armar un cable de red con este tipo de conductor: “normal” o “cruzado”. En la conexión normal, cada pin de una ficha se une al mismo pin de la ficha del otro extremo, tal como se ve en la figura de más abajo, y es utilizado para conectar un ordenador a un hub o switch.
La conexión cruzada es la que permite conectar dos ordenadores entre si sin necesidad hub, y el cruzamiento justamente lo que hace es unir los pines correspondientes a la transmisión (TX) de un ordenador con los de recepción (RX) del otro, y viceversa.
El dispositivo que vamos a construir permite verificar ambos tipos de conexiones.
En efecto, henos elegido para nuestro primer proyecto con un microcontrolador al ya veterano PIC 16F84A, del que existen literalmente millones de paginas de información disponibles. Se trata de un microcontrolador con 2K de RAM interna, en la que se alojara el programa que hará funcionar a nuestro proyecto, y consta de dos puertos de comunicaciones, uno de 5 E/S (el PORT A) y otro de 8 pines de E/S (PORT B).
Nuestro tester constara de dos partes. La primera, equipada con el 16F84A, será la encargada de generar una serie de señales que se introducirán por uno de los extremos del cable, y una segunda, con una serie de LEDS, que se conectara en el otro extremo para recibir los pulsos generados por la primera e indicarnos el estado del cable.
Las fallas que detecta este instrumento incluyen conductores conectados a pines incorrectos, conductores cortados o cortocircuitos en el interior del cable.
La figura de mas abajo nos muestra el esquema eléctrico del emisor, que como dijimos se basa casi exclusivamente en las funciones del microcontrolador.
Este se encarga de generar un tren de pulsos, que salen al exterior del micro por los pines del puerto B (patas 6 a la 13), en un determinado orden. Este orden varía de acuerdo al tipo de cable bajo test. Si se trata de un cable normal, donde los conductores no están cruzados, el orden es secuencial, y se introducen pulsos en el conductor 1,2,3,4,5,6,7 y 8 en ese orden. Si queremos comprobar un cable cruzado, los pulsos se introducen en los conductores de la misma manera, pero en el orden 3,6,1,4,5,2,7 y 8 .
Se puede ver que existen dos pulsadores, que se utilizan para elegir que tipo de cable se va a someter al test. Hay también dos LEDs, cuya función es indicar visualmente si se esta testeando uno u otro tipo de cable.
El programa incorporado en el chip, que veremos mas adelante, se encarga de la generación de pulsos para cada caso, atento al pulsador que se haya presionado.
Una vez elegido uno de los modos, el programa genera indefinidamente el tren de pulsos correspondiente, hasta que se pulse uno de los pulsadores. Si es el mismo que estaba seleccionado, la secuencia de pulsos se detiene. Si es el otro, comienza la secuencia de pulsos para comprobar el otro tipo de cable. Se incluye un interruptor para apagar el equipo cuando no lo utilicemos. La alimentación es a partir de una pila de 9 voltios, pero se ha utilizado un regulador de voltaje tipo LM7805 para lograr los 5 volts con los que funciona el microprocesador. Un cristal de cuarzo de 4 MHz y dos pequeños condensadores cerámicos generan los pulsos de CLOCK necesarios para que el microcontrolador funcione. Una serie de resistencias puestas entre el PIC y el cable bajo test se encargan de proveer la corriente adecuada a los leds que se encuentran en el circuito receptor.
Respecto del receptor, simplemente consta de una serie de LEDS con otra resistencia en serie y un diodo de protección en antiparalelo que lo protege de la corriente inversa.
Este receptor ir prendiendo los LEDS desde el 1 al 8, con una cadencia de aproximadamente 1 Hz.
Siguiendo las indicaciones de la nota mencionada, imprimiremos la imagen del circuito impreso que aparece mas abajo, y lo someteremos a todos los pasos del proceso ya explicado.
Una vez que tengamos las placas listas (podemos hacerlas a la vez, y cortarlas una vez terminados todos los pasos), deberemos haces los agujeros con una broca de 0.75 mm, teniendo cuidado de no quebrarla ya que son sumamente frágiles.
Comenzaremos soldando los puentes, luego seguiremos por las resistencias y diodos, los pulsadores, el clip de la batería, etc. Debemos tener cuidado de no colocar en forma errónea los componentes que tienen polaridad, como la batería, regulador de voltaje, diodos, etc., ya que se pueden destruir.
Conviene utilizar como guía de montaje las fotos que acompañan al artículo, para evitar cometer errores.
Las fichas RJ-45 hembras que van una en cada placa conviene pegarlas al pertinax con algún pegamento de la familia de los cianoacrilatos, para evitar que al enchufar o desenchufar los cables a testear el esfuerzo se realiza sobre las soldaduras.
Por ultimo, se puede aplicar barniz en aerosol del lado de las pistas para proteger el cobre de la corrosión. Y por supuesto, conseguir alguna caja plástica donde alojar cada placa, cuidando de dejar agujeros para las fichas, LEDs y pulsadores.
La versión de BASIC utilizada es la correspondiente al PIC Simulator IDE, pero es fácilmente adaptable a cualquier otro dialecto BASIC, tales como PROTON, PROTON+ o MikroBasic, entre otros. Muchos de estos entornos de programación disponen de versiones gratuitas de evaluación, que a pesar de contar con algunas limitaciones, servirán perfectamente para compilar este sencillo programa.
Una vez compilado el programa, se generara un archivo con extensión .HEX, que deberemos introducir en el microcontrolador mediante un programador, como el JDM, cuya construcción es muy simple y ya se explico en NeoTeo.
El programa en si no presenta demasiadas complicaciones, y se ha intentando comentar el código como para que sea fácilmente entendible, e incluso modificado por el lector.
El siguiente es el código fuente de nuestro programa:
‘—– CONFIGURO PUERTOS—–
‘Configuro el portA:
TRISA.0 = 0 ‘Salida (LED 1)
TRISA.1 = 0 ‘Salida (LED 2)
TRISA.2 = 1 ‘Entrada (Pulsador 1)
TRISA.3 = 1 ‘Entrada (Pulsador 2)
TRISA.4 = 0 ‘Salida (NO USADO)
‘Configuro el portB:
TRISB.0 = 0 ‘Salida
TRISB.1 = 0 ‘Salida
TRISB.2 = 0 ‘Salida
TRISB.3 = 0 ‘Salida
TRISB.4 = 0 ‘Salida
TRISB.5 = 0 ‘Salida
TRISB.6 = 0 ‘Salida
TRISB.7 = 0 ‘Salida
‘——VARIABLES Y CONSTANTES——————
‘Defino constantes:
Symbol led1 = PORTA.0 ‘LED 1
Symbol led2 = PORTA.1 ‘LED 2
Symbol p1 = PORTA.2 ‘Pulsador 1
Symbol p2 = PORTA.3 ‘Pulsador 2
‘Variables
Dim aux As Word
Dim i As Byte
Dim flag As Bit
aux = 0
flag = 0
i = 0
‘—-COMIENZA EL PROGRAMA EN SI—–
‘Apago todos los leds del emisor
led1 = 0
led2 = 0
loop: ‘Bucle principal del programa
‘Veo si se pulso algun boton
If p1 = 1 Then ‘Presionaron el pulsador 1
Gosub cablenormal
Endif
If p2 = 1 Then ‘Presionaron el pulsador 2
Gosub cablecruzado
Endif
Goto loop ‘Repite eternamente
End
cablenormal: ‘Enciende Leds en orden 1-2-3-4-5-6-7-8
led1 = 1 ‘Enciendo el LED1 (indicador de funcion)
aux = 1 ‘Led Encendido: el 8
flag = 0 ‘Asumo el otro boton sin pulsar
While flag = 0 ‘mientras No se pulse el otro, funciona.
If aux = 1 Then ‘Enciendo LED 1
PORTB = %10000000
Endif
If aux = 2 Then ‘Enciendo LED 2
PORTB = %01000000
Endif
If aux = 3 Then ‘Enciendo LED 3
PORTB = %00100000
Endif
If aux = 4 Then ‘Enciendo LED 4
PORTB = %00010000
Endif
If aux = 5 Then ‘Enciendo LED 5
PORTB = %00001000
Endif
If aux = 6 Then ‘Enciendo LED 6
PORTB = %00000100
Endif
If aux = 7 Then ‘Enciendo LED 7
PORTB = %00000010
Endif
If aux = 8 Then ‘Enciendo LED 8
PORTB = %00000001
aux = 0 ‘Pongo a uno para reiniciar la cuenta
Endif
aux = aux + 1
For i = 1 To 255 ‘255
WaitMs 1 ‘espera 1/1000 de segundo.
If p2 = 1 Then ‘Se pulso el otro boton
flag = 1 ‘Pongo el flag para salir de la rutina
PORTB = %00000000 ‘Apago todos los leds
led1 = 0 ‘Apago el led “piloto”
WaitMs 500 ‘500 milisegundos para darle tiempo a soltar el boton
i = 255
Endif
Next i
Wend
Return
cablecruzado: ‘Enciende Leds en orden 1-2-4-3-6-5-7-8
led2 = 1 ‘Enciendo el LED2 (indicador de funcion)
aux = 1 ‘Led Encendido: el 8
flag = 0 ‘Asumo el otro boton sin pulsar
While flag = 0 ‘mientras No se pulse el otro, funciona.
If aux = 1 Then ‘Enciendo LED 3
PORTB = %00100000
Endif
If aux = 2 Then ‘Enciendo LED 6
PORTB = %00000100
Endif
If aux = 3 Then ‘Enciendo LED 1
PORTB = %10000000
Endif
If aux = 4 Then ‘Enciendo LED 4
PORTB = %00010000
Endif
If aux = 5 Then ‘Enciendo LED 5
PORTB = %00001000
Endif
If aux = 6 Then ‘Enciendo LED 2
PORTB = %01000000
Endif
If aux = 7 Then ‘Enciendo LED 7
PORTB = %00000010
Endif
If aux = 8 Then ‘Enciendo LED 8
PORTB = %00000001
aux = 0 ‘Pongo a uno para reiniciar la cuenta
Endif
aux = aux + 1
For i = 1 To 255 ‘255
WaitMs 1 ‘espera 1/1000 de segundo.
If p1 = 1 Then ‘Se pulso el otro boton
flag = 1 ‘Pongo el flag para salir de la rutina
PORTB = %00000000 ‘Apago todos los leds
led2 = 0 ‘Apago el led “piloto”
WaitMs 500 ‘500 milisegundos para darle tiempo a soltar el boton
i = 255
Endif
Next i
Wend
Return
No será muy difícil para el aficionado adaptar el programa para que los LEDs enciendan más o menos rápidamente, o para que las secuencias de pulsos generadas sean distintas. Esto último es especialmente útil si se quiere utilizar el tester propuesto para comprobar otros tipos de cables. De hecho, simplemente cambiando las fichas hembras RJ-45 por RJ-11 se pueden comprobar cables telefónicos. Quizás alguno de los lectores se anime a modificar la placa de circuito impreso para incluir ambas fichas, y lograr una herramienta multiuso.
Por lo pronto, hemos querido mantener este montaje lo mas simple posible, de modo que sirva como “primer proyecto” con microcontroladores, pero alentamos a los lectores a introducir los cambios que crean convenientes.
En realidad, el funcionamiento del dispositivo no puede ser mas sencillo: se toma el cable a probar, y se conecta en un extremo el emisor y en el otro el receptor. Mediante los pulsadores del emisor se selecciona el tren de pulsos a generar para el tipo de cable que queremos probar. Los diodos LEDs presentes en el emisor nos indican cual ha sido nuestra elección, de manera que no cometamos errores. Una vez puesto en marcha el emisor, debemos mirar los 8 LEDs presentes en el receptor. Se pueden dar algunas de las siguientes condiciones:
– Los LEDs se encienden en orden, del 1 al 8, y luego vuelven a comenzar, continuamente: En este caso, el cable es del tipo seleccionado, y esta funcionando correctamente, sin conductores cortados ni cortocircuitos. Si la red presentaba problemas, deberemos buscar en otra parte, el cable este bien.
– Los LEDs se encienden salteados: Hay dos alternativas. O bien el cable bajo test es del tipo incorrecto, situación que podemos comprobar fácilmente cambiando desde los pulsadores del emisor el tren de pulsos generado, o bien algun(os) conductor(es) están cableados de forma errónea. En este caso, debemos revisar las fichas y buscar donde esta el error.
– Algún o algunos LEDs no se encienden: Esta situación se da cuando uno de los conductores esta cortado o mal puesto en la ficha, y el pulso emitido no llega al LED correspondiente. Revisando las fichas se puede solucionar, o cambiando el tramo de cable.
– Algunos LEDs encienden a la vez: En un cable en perfectas condiciones no se puede dar el caso de que dos o más LEDs enciendan de manera simultánea. Si se da esta situación es por que hay un cortocircuito que ha unido eléctricamente dos o más conductores. Esta falla puede estar en la ficha, o en el interior de uno de los cables.
Como se puede ver, el manejo y la interpretación de los estados de los cables testeados no puede ser más sencilla.
Lista de componentes: Receptor
8 resistencias de 1K, 1/4 de watt.
8 diodos 1N4148.
8 LEDs de color a elección.
1 ficha UTP hembra p/circuito impreso.
Lista de componentes: Emisor
20 resistencias de 1K, 1/4 de watt.
2 LEDs de color a elección.
2 pulsadores p/circuito impreso
1 regulador de tensión 7805
1 ficha UTP hembra p/circuito impreso.
1 zocalo para integrados de 18 pines
1 PIC16F84A
1 Xtal de 4 MHz.
2 condensadores de 22pf.
Efectivamente, toda la teoría vista en las notas sobre componentes, microcontroladores o la explicación de cómo construir un circuito impreso han servido de base para la realización de este proyecto, que es el primero de una serie que nos proponemos publicar.
Quizás la parte mas compleja, sobre todo para el principiante sea la de la programación del microcontrolador, pero sin embargo, si se construye el programador visto también aquí, dicha tarea no revista ninguna dificultad, y el tener el programador a mano nos será útil para muchos de los artículos futuros.