jueves, 12 de junio de 2014

Convertidores serial/USB

Las tarjetas del tipo Arduino UNO, Leonardo, Due,Fio,  etc  se conectan directamente al puerto USB del computador mediante una interfase incorporada en la tarjeta.

Por otro lado tarjetas como Arduino PRO, Mini, etc requieren una interfase externa para poder establecer dicha comunicación. Lo  mismo ocurre si armamos una Aduino en protoboard.

En estos casos una posibilidad es utilizar interfases de conversión entre la comunicación serial del microcontrolador y la interfase USB del computador.

En el mercado existen una gran variedad de dichas interfases, basadas en diferentes integrados diseñados especialmente para este propósito (CP2102, FT232, PI-2303, etc).

Una primera característica que diferencia  estas interfases es el número de pines de comunicación que incorporan. 

Usualmente las mas económicas tiene cuatro pines , la función de los mismos sería:
  • +VCC : Usualmente +5 Voltios, pero también puede ser +3.3 Voltios 
  • +GND : Tierra
  • TxD : Transmisión de data
  • RxD : Recepción de data
La conexión de estos pines con el Arduino es:
  • +VCC con conexión de alimentación VCC del Arduino
  • +GND con conexión de Tierra del Arduino
  • TxD con el puerto Dx del Arduino
  • RxD con el puerto Tx del Arduino
Si estamos trabajando con una tarjeta que ya tiene alimentación, solo requerimos conectar el pin +GND para establecer la referencia común de tierra.
En ocasiones hay que invertir las conexiones TxD y RxD (problema de nomenclatura de los fabricantes).
Una característica incómoda de estas tarjetas es que tenemos que inicializar el Arduino (reset) para que la carga del script sea exitosa.  Cuando veamos que el mensaje en el IDE cambia de Compilar .. a Cargando , presionamos el boton de Reset durante unos 3-5 segundos. Lo mas importante es no esperar demasiado para presionar el Reset.

En el caso de interfases con seis pines tendríamos, además de los mencionados anteriormente, los siguientes:
  • RTS
  • CTS
En este caso la conexión con tarjetas  Arduino (PRO,Mini,etc) está especificada en el portal arduino.cc .


Si estamos trabajando con un Arduino que hemos armado en protoboard debemos conectar el pin RTS mediante un condensador de 100nF al pin Reset del microcontrolador.
Con estas interfases la carga de scripts es automática, no necesitamos presionar el botón de Reset en el Arduino.

Es importante tener en cuenta que hay interfases de 6 pines donde el pin RTS no permite hacer el reset automático del Arduino, en  este caso debemos utilizar el procedimiento para interfases con cuatro pines.

No hay que olvidar que deben instalarse los drivers correspondientes en el Computador para que éste reconozca la interfase. Usualmente en linux es automático. En el caso de windows es probable tener que hacer la instalación manualmente a partir de los archivos suministrados por el fabricante del integrado.

No hay comentarios:

Publicar un comentario