Conversor USB - RS232

Hola.
Para inaugurar este blog he elegido un proyecto muy sencillo y muy práctico. Se trata de adaptar un barato conversor de 2€ para poder comunicarnos con un microcontrolador. Es útil en caso de que vuestro PC no tenga puerto serie y sólo tenga puertos USB, o si lo tiene generalmente está poco accesible en la parte de atrás de la torre.
En esta ocasión no se trata de diseñar y construir nuestro conversor, porque por el precio que tiene no merece la pena el tiempo que invertiríamos. Además necesitaríamos cierta práctica trabajando con SMD. Hay conversores de varios precios, el más barato que he visto está en Dealextreme. Una vez desmontado podéis verlo en esta foto. Disculpad la calidad.
Está basado en el popular PL2303 de Prolific. Descripción y datasheet aqui. Sin embargo para reducir el precio no integra un PL2303 "de verdad" sino que está integrado en la misma placa.
Para conectar un microcontrador al PC habitualmente usaremos sólo las lineas Rx, Tx y GND. Dejando de lado las demás. No obstante nos interesará que esas líneas no queden en el aire, de lo contrario algunos programas podrían no funcionar. Para evitarlo haremos una conexión null modem con falso handshake como se indica aquí:



La imagen está tomada de esta web, donde se detallan los pros y los contras de cada conexionado.
Recomiendo eliminar las clavijas DB9 y USB y sustituirlas por sendos cables. Eliminar el conector USB es sencillo. Para extraer el DB9 quizá tengáis que serrar los pines, porque están soldados por ambos lados. Para terminar, un poco de retráctil evitará que toquemos con la placa en sitios delicados.

Notas adicionales:
  1. La calidad del dispositivo deja mucho que desear, pero para el uso que queremos darle es suficiente.
  2. Si al conectarlo al PC aparece un mensaje de que el USB es defectuoso (en windows), o diversos errores en /var/log/syslog (en linux) es debido a que el oscilador es inestable. Una resistencia de 100k en paralelo con el cristal debería arreglarlo.
  3. Los drivers de windows son muy quisquillosos. En linux funcionó a la primera, mientras que en windows tuve que tirarme dos tardes instalando varias versiones del driver y sólo he conseguido que funcione en un único puerto USB. Si lo conecto a otro lo reconoce pero no transmite ni recibe nada.
  4. Para probarlo recomiendo la aplicación gtkterm.

4 comentarios:

  1. No entiendo realmente que es lo que se intenta hacer, osea el conversor funciona al conectarlo a la pc.
    Si queremos interactuar con un microcontrolador tipo pic por interfaz rs232 con un max232 no se puede?

    saludos!

    ResponderEliminar
  2. Se puede con el max 232 pero solo si tu compu ya tiene integrado un puerto serie, las compus nuevas por lo general solo traen usb y este adaptador hace el truco de convertir de puerto serie a usb

    ResponderEliminar
  3. Si, ya tube bastante tiempo para investigar. Solo coloqué una ficha db9 hembra a las plaquetas de mis proyectos y lo demas lo conecto con alarges. Pero es mas practico sustituirlo como tu dices.

    Saludos

    ResponderEliminar
  4. no veo ninguna conversión aquí. Yo utilizo mucho el convertidor de fabrica, pero me interesaría hacer esta conversión, es decir, que pines de un db9 (macho) conecto hacia un conector usb y a que pines? algún plano electrónica basica?

    Aunque sea barato vale la pena liarse con la conversión manual, porque hay dias en que ya no se consigue el construido de fabrica. Yo lo uso para conectar una PC hacia una bascula.
    Gracias

    ResponderEliminar

Por favor, usa mayúsculas, minúsculas, puntos, comas, interrogaciones y todo eso. Muchas gracias.