Autor Tema: Sencillo Cabletester  (Leído 10645 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Sencillo Cabletester
« en: 02 de Noviembre de 2006, 14:14:50 »
Bien amigos foreros, aquí tengo un proyectico que quise desde hace tiempo, se trata
de un sencillo cabletester, que medirá la continuidad del cable UTP y mostrará los
3 tipos de conexión conocidos DIRECTO, CRUZADO e INVERTIDO (y no conocidos), mostrando la información en una pantalla LCD de 2x16. Como siempre le miro a mis proyectos sus pros y contras:

PRO:

- muestra un poco mas de información que equipos a led´s convencionales.
- puede mostrar la "mayoría" de las conexiones existentes.
- no requiere componentes costosos,especiales o de dificil acceso.
- cualquiera lo puede modificar a su gusto.
- lo que no podía faltar, toda la información de como lo hice (fuente, circuito, funcionamiento).


CONTRAS:

- como ya mencioné, muestra la mayoría de las conexiones, pero existen casos especiales
donde el cabletester dá resultados inexactos (para mayor información ver en la documentación).

- es un solo módulo, por lo que, para probar cables UTP, ambos conectores deben estar cercanos.

- La certificación la dá el mismo usuario que montó el equipo.


Notas:

- He realizado varias pruebas en el protoboard y ha funcionado correctamente,
pero no he probado cables más allá de 8 metros.

- Debido a que en el medio de transmisión, se trabaja con niveles TTL, no se garantiza
la precisión de los resultados para varias decenas de metros (aunque sigo investigando  :))

los codigos, esquematicos, simulación, etc. lo pueden bajar  aquí.

la documentación sobre el funcionamiento aquí

quisiera pegar algunas imagenes, pero el circuito en protoboard está muy fea la cablamentazón, je je


Cualquier duda, correción es bien recibida.


salu2
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Rulo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 168
Re: Sencillo Cabletester
« Respuesta #1 en: 02 de Noviembre de 2006, 14:22:28 »


         Muchas gracias por compartirlo PalitroqueZ, creo que me sera muy util en estos tiempos.

               Saludos   :-)

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #2 en: 04 de Noviembre de 2006, 09:38:21 »
El proyecto me gusta mucho, pero falta un fichero al menos para poder jugar algo mas con el. Si fueses tan amable de subir el tonos.h te estaria agradecido, me falta para recompliar y poder hacer modificaciones.
Gracias

Desconectado Rulo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 168
Re: Sencillo Cabletester
« Respuesta #3 en: 04 de Noviembre de 2006, 13:45:00 »

    yo inclui la que viene con CCS
Código: C
  1. #include <tones.c>

 
Código: C
  1. ////////////////// Driver to generate musical tones /////////////////////
  2. ////                                                                 ////
  3. ////  generate_tone(frequency, duration)     Generates wave at set   ////
  4. ////                                         frequency (Hz) for set  ////
  5. ////                                         duration (ms)           ////
  6. ////                                                                 ////
  7. /////////////////////////////////////////////////////////////////////////
  8. ////        (C) Copyright 1996,2003 Custom Computer Services         ////
  9. //// This source code may only be used by licensed users of the CCS  ////
  10. //// C compiler.  This source code may only be distributed to other  ////
  11. //// licensed users of the CCS C compiler.  No other use,            ////
  12. //// reproduction or distribution is permitted without written       ////
  13. //// permission.  Derivative programs created using this software    ////
  14. //// in object code form are not restricted in any way.              ////
  15. /////////////////////////////////////////////////////////////////////////
  16.  
  17.  
  18. #ifndef  MUSIC_NOTES
  19. #define  MUSIC_NOTES
  20.  
  21. //            NOTE                 FREQUENCY
  22. //                     Octave0  Octave1  Octave2  Octave3
  23. const long C_NOTE[4]  ={ 262,     523,    1047,    2093};
  24. const long Db_NOTE[4] ={ 277,     554,    1109,    2217};
  25. const long D_NOTE[4]  ={ 294,     587,    1175,    2349};
  26. const long Eb_NOTE[4] ={ 311,     622,    1245,    2489};
  27. const long E_NOTE[4]  ={ 330,     659,    1329,    2637};
  28. const long F_NOTE[4]  ={ 349,     698,    1397,    2794};
  29. const long Gb_NOTE[4] ={ 370,     740,    1480,    2960};
  30. const long G_NOTE[4]  ={ 392,     784,    1568,    3136};
  31. const long Ab_NOTE[4] ={ 415,     831,    1661,    3322};
  32. const long A_NOTE[4]  ={ 440,     880,    1760,    3520};
  33. const long Bb_NOTE[4] ={ 466,     923,    1865,    3729};
  34. const long B_NOTE[4]  ={ 494,     988,    1976,    3951};
  35. #endif
  36.  
  37. #define TONE_PIN  PIN_B0
  38.  
  39.  
  40. void do_delay(int ms_delay, int num_ms, int us_delay, int num_us)  {
  41.  int i;
  42.  
  43.  for(i=0;i<num_ms;i++)
  44.   delay_ms(250);
  45.  delay_ms(ms_delay);
  46.  for(i=0;i<num_us;i++)
  47.   delay_us(250);
  48.  delay_us(us_delay);
  49. }
  50.  
  51.  
  52. void generate_tone(long frequency, long duration)
  53. {
  54.    int32 total_delay_time;                      // in microseconds
  55.    long total_ms_delay_time, total_us_delay_time;
  56.    int num_us_delays, num_ms_delays, ms_delay_time, us_delay_time;
  57.    long num_periods;
  58.  
  59.    total_delay_time = (1000000/frequency)/2-10; // calculate total delay time (10 for error)
  60.  
  61.    total_ms_delay_time = total_delay_time/1000; // total delay time of ms
  62.    num_ms_delays = total_ms_delay_time/250;     // number of 250ms delays needed
  63.    ms_delay_time = total_ms_delay_time%250;     // left over ms delay time needed
  64.  
  65.    total_us_delay_time = total_delay_time%1000; // total delay time of us (ms already acounted for)
  66.    num_us_delays = total_us_delay_time/250;     // number of 250us delays needed
  67.    us_delay_time = total_us_delay_time%250;     // left over us delay time needed
  68.  
  69.    num_periods = ((int32)duration*1000)/(1000000/frequency);
  70.  
  71.    while((num_periods--) != 0)
  72.    {
  73.       do_delay(ms_delay_time, num_ms_delays, us_delay_time, num_us_delays);
  74.       output_high(TONE_PIN);
  75.       do_delay(ms_delay_time, num_ms_delays, us_delay_time, num_us_delays);
  76.       output_low(TONE_PIN);
  77.    }
  78.  
  79.    return;
  80. }


     Saludos   :-/

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #4 en: 04 de Noviembre de 2006, 13:50:31 »
Mil gracias

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Sencillo Cabletester
« Respuesta #5 en: 04 de Noviembre de 2006, 16:14:27 »
Bueno amigos, me alegro que les pueda servir de utilidad, si llegan hacer algunas pruebas sería de gran ayuda que lo comentaran, por la red aparecen varios circuitos de cabletester, usando IC contadores, etc.  Pero no dicen mucho acerca de las distancias maximas del cable, y sus limitaciones, yo considero que estos equipos siempren tendran limitaciones (aunque todavía no sé como un pentascanner puede determinar longitudes de cables menores a 1 metro), pero en fin lo importante es que para un medidor de continuidad realice lo básico :

- tratar de mostrar la información de las conexiones basicas.
- y dar alguna orientación o pista en caso de una anomalía.

Salu2
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #6 en: 05 de Noviembre de 2006, 10:06:44 »
Una nota, ya que el sistema me gusta mucho solo queria comentarte que necesitaria para ser perfecto un añadido mas.
Cuando no se tiene acceso a la vez a los dos extremos del cable no se puede comprobar y eso pasa normalmente en las redes de oficina con switch etc.
Se me ocurre que se podria poner una red resistiva en un extremos y introducir una tension por el primer hilo y leer sucesivamente uno a uno y ver los niveles de tension que hay en cada uno de ellos, con lo que el funcionamiento seria similar a lo que ya tienes pero serviria asi.
¿Seriamos capaces de hacerlo? ¿ Si puedo ayudarte en algo dimelo?

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Sencillo Cabletester
« Respuesta #7 en: 06 de Noviembre de 2006, 12:21:45 »
Hola Algec. La idea inicial que tenía en mente era hacer 2 modulos: el principal que yo denominaría el inyector y el secundario el remoto.

y ya había hecho algunos avances pero me topé con el principal problema:

la referencia ó GND, me explico, como el medio de transmisión es el medio que estamos probando, no se puede escoger un hilo a masa que sea constante, éste tiene que ir cambiando de hilo en hilo, lo pienso así porque hay que suponer que no se sabe cuál hilo está abierto (en caso de exista un abierto), entonces el inyector hará pruebas redundantes pero seguro.

esto fué lo que hice en otra oportunidad y le había puesto un par de buffer´s pero el problema era que no se daba el común (GND) entre equipos y no se porqué, después fijé ese GND con un hilo aparte (otra suposición) y ahí si se daba la comunicación.

Tu propuesta es interesante, pero no la entiendo bién, ¿te refieres a colocar en el otro extremo un circuito a base de resistencias? ¿podrías colocar un circuito de propuesta?


Salu2
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #8 en: 06 de Noviembre de 2006, 14:03:26 »
Si la idea es que haya una red resistiva entre los hilos 1 y 8, el primero seria de 5 VDC y el 8 0VDc y la red seria de 8 resistencias iguales, por ejemplo de 1K y cada hilo restante iria entre resistencia y resistencia por lo que en el segundo habria una septima parte mas de nivel de tension. Si no es asi se puede deducir que algo anda mal y  midiendo las tensiones una a una incluso el cableado existente ya que a cada hilo debe corresponder un nivel de tension fijo (con un pequeño margen).
Si no los ves claro te subo un esquema de proteus.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Sencillo Cabletester
« Respuesta #9 en: 08 de Noviembre de 2006, 14:16:47 »
Esa sería una etapa parecida a la red R-2R que usan los convertidores digital analogico a base de resistencias



creo que habría que rediseñar el circuito, porque ya no se trataría de manejar datos binarios sino niveles de tensión, mediante una etapa adicional usando comparadores ó el mismo CAD que trae el pic, no he tratado aún por esa vía, pero es interesante.

Salu2
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #10 en: 08 de Noviembre de 2006, 14:33:58 »
Captaste la idea, la red resistiva es el lado receptor, el emisor en donde esta el pic, envia  5 voltios por el hilo 1 y el cero por el hilo 8. luego mide los hilos 1, 2 3...sucesivamente teniendo en cuenta que debe tenerse en cuenta un umbral ya que existe caida de tension en el cable etc.
Para eso solo debe usarse un convertidor del mismo pic y un multiplexor que seleccione el hilo a leer.
Se memorizan los valores leidos y se juega como tu hiciste con los datos en una matriz usandolos igual que tu para ver que hilo esta bien y cual esta mal y ademas el orden de estos.
Es la idea, no se si funionara, pero si te atreves y se te puede ayudar encantado de hacerlo.
Por supuesto todo el merito es tuyo, yo solo pretendo ayudarte.
Mil gracias por responder y vuelvo a felicitarte por tu proyecto

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #11 en: 25 de Noviembre de 2006, 10:40:54 »
TEngo el sistema medio realizado pero desisti de usar el sistema A/D
HE hecho todo con una matriz de diodos en la toma final y funciona a medias.
Identifica bien el cable si esta OK pero da errores si se trata de localizar cables desconocidos o hilos abiertos y en corto.
Ando aun con el liado, pero si quereis lo subo y si alguien quiere colaborar....seria de ayuda.
De hecho es fiable si el cable esta OK por lo que podria usarse e incluso podria tratar de montar en el mismo equipo la idea de palitroquez y mi modificacion

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #12 en: 27 de Noviembre de 2006, 16:41:08 »
Como decia en el post he tratado de modificar el genial diseño original para que funcione con dos puntas separadas y con un terminador pasivo.
El sistema funciona bien para testear cables conocidos, no sirve para testear cables desconocidos y tambien falla algo si existen mas de dos hilos consecutivos abiertos dando fallo en mas de dos, pero en reglas generales funciona correctamente.TAmpoco creo que se pueda conseguir mucho mas con algo tan simple y sencillo y con un terminador pasivo.
Puede ser una herramienta para chequear cables de red en una instalacion tipica de oficina por conducciones.
Publico el diseño con permiso de Palitroquez quien tiene el merito por supuesto del diseño del que copio, ademas de la colaboracion de otro usuario del foro.
Quedan tres simulaciones de proteus para que podais comprobar los distintos tipos de cables que hay normalmente, que son los que puede testear.
Aviso que solamente se ha probado en Proteus y que aun no fisicamente pero que lo hare en breve.
Os dejo el diseño de Ares de las placas (el terminador es propio por que la caja que lo ubicara es de esas medida extraña)
Si alguien quiere añadir algo, abierto esta el diseño, el soft y demas pero por favor ruego que publiquen los resultados y las modificaciones asi todos ganaremos con ello igual que hizo Palitroquez con el original y hemos hecho con la modificacion.
Gracias
http://www.4shared.com/file/6548570/614b41ad/Cable_tester_con_terminador.html
« Última modificación: 27 de Noviembre de 2006, 16:49:52 por Algec »

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Sencillo Cabletester
« Respuesta #13 en: 10 de Diciembre de 2006, 15:42:14 »
He realizado el cable tester en real y funciona, aqui os dejo el programa y los ficheros de Proteus para que lo verifiqueis, en dos o tres dias os subo unas fotos y os digo con cuantos metros de cable de red llega a funcionar, ya que tengo un rollo de 200 metros y aun no he tenido tiempo para probarlo mas que con un metro que es el que tenia a mano.
Como vereis hice unas modificaciones por el material que tenia, en los switchs etc.
No funciona al 100 % pero con esa configuracion poco mas se puede hacer, ando trabajando en unas modificaciones que si funcionan os ire comentando, ademas de dejar una pequeña guia de su uso.
Solo decir que si hay abiertos mas de dos hilos detectara mas de dos, y si hay en corto mas de dos hilos lo mismo, pero funcionar fuunciona ya que en el montaje del equipo se me solto un hilo y rapidamente lo detecto y luego en las pruebas funciono siempre bien con esas limitaciones
Mil gracias Palitroquez ya es es tuyo el diseño original y la idea.
El enlace es
http://www.4shared.com/file/7208672/c3f10314/Cable_tester_algec.html
« Última modificación: 10 de Diciembre de 2006, 15:45:32 por Algec »

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Sencillo Cabletester
« Respuesta #14 en: 12 de Diciembre de 2006, 11:36:11 »
Hola Algec. Con ese rollo de 200 metros podrás hacer una prueba exaustiva del equipo y comprobar sus limitaciones más allá de lo estandar.

Sabes que estuve viendo un equipo comercial , y en el remoto ellos tienen varios diodos led´s y cuando está funcionando esos leds hacen un barrido, estaba pensando que ya tu diseño usa diodos también pudieras hacer pruebas usando led´s, aunque creo que demandaría corriente adicional al equipo principal.


Salu2
Pedro
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek


 

anything