Pages: [1]   Go Down
Author Topic: RS232 vs USB duda  (Read 793 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, he realizado una interfaz gráfica para comunicar con el arduino, tengo todo implementado y funciona correctamente.
El problema esta en que esta realizada la comunicación vía usb y ahora necesito llevar la comunicación a través de un cable de unos 10 metros aprox. Claramente el cable usb ya no me sirve, necesitaría implementar un cable RS-232.
Habria alguna forma de hacerlo sin necesidad de tener que modificar toda la programacion? Alguna idea
Logged

ALCALA DE HENARES
Offline Offline
Sr. Member
****
Karma: 13
Posts: 279
Centro de Robótica Educativa
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola

¿A que velocidad quieres comunicar? 10 metros es una distancia importante, pero el problema no es tanto la interface, como la velocidad. Naturalmente que hay varias factores que afectan: el tipo de cable, el ambiente (ruido eléctrico)...

A 9600 yo he hecho pruebas con una conexión USB de 10 metros de longitud sin problemas, pero insisto, depende de varios factores.

Para una conexión RS232 no deberías tener problemas a 9600 ni ha 19200.

La forma de hacer la conexión es prescindir del convertidor USB <-> RS232 de la placa Arduino, igual lo más sencillo  es usar una de las versiones de Arduino que no tienen este convertidor (). El ATMEGA 168/328 tiene un puerto serie pero a niveles TTL (0-5V) y los ordenadores transmiten +/-12V. La solución es poner un convertidor de niveles (como el MAX232) lo más cerca posible de la placa Arduino.

En este enlace http://complubot.educa.madrid.org/tecnologia/electronica/comunicaciones_pc_robot/comunicaciones_pc_robot.php puedes encontrar algo de información sobre estas cuestiones que igual te puede ser de utilidad.

Si necesitas subir mucho más la velocidad y quieres una comunicación más robusta necesitarias una comunicación RS485.

Hay otros aspectos que también son importantes. En ocasiones parece que la comunicación funciona con una determinada velocidad y longitud de cable... el problema es que lo hace con una tasa de errores mucho mayor. Aquí ya entra en juego la estadística: no es lo mismo hacer una transmisión cada 10 minutos que estar continuamente comunicando.

Por otra parte es una buena política incluir una cierta "tolerancia al fallo" en nuestros programas (el del PC y el del Arduino), implementado algún tipo de protocolo y "TimeOut" en las funciones que esperan recibir algo.
Logged

Centro de Robótica Educativa
www.complubot.com

Pages: [1]   Go Up
Jump to: