Simplificate 2.0

Si algo parece muy complicado, es que esta mal explicado.

Convertir un USB a Serie del eBay en un Arduino UNO

with 2 comments


USB a TTL como Arduino UNO.

Me compre por eBay este conversor de puerto USB a serie, el chip que lleva incorporado es un Silicon Labs CP2102, un chip como otro cualquiera, lo quiero para poder cargar los Sketches de Arduino en los proyectos sin tener que sacar el chip del zocalo, así que diseño la placa con un puerto de programación y lo programo usando por ese puerto, pero como todo en la vida no hay nada fácil así que encontré un problema, básicamente que no funciona.

Un poco de Bla Bla Bla

Para poder hacer eso lo primero que hice fue mirar el esquema de una placa Arduino, al parecer para cargar los Sketchs usando el Bootloader de Arduino lo que se usan son los pines del puerto serie, RX y TX, ademas del pin de Reset y claro esta, la masa común.

En la imagen podéis ver que el TX y el RX del FTDI están conectadas a los pines RX y TX del Atmega sin pasar por ninguna parte más, por eso no los pongo en la imagen.

La señal de reset sin embargo si que es otro cantar, el pin de reset es el que tiene un circuito aparte y merece la pena mirar, el Reset esta conectado con una resistencia Pull-UP a VCC y en paralelo el botón de reinicio, pero para reiniciarlo desde el chip FTDI usan la linea DTR ( Data Terminal Ready ) que el entorno de Arduino activa cuando va a cargar un Sketch, a activarla la señal pone a masa el condensador C13 de la imagen que procede a ponerse en carga y como esta totalmente vació y la resistencia R1 es de 10 K Ohm pues el pin Reset se queda a O voltios durante un instante mientras el condensador se carga del todo, ( según la formula de la carga del condensador podemos saber que ese tiempo es exactamente 1 milisegundo ).

Según el Datasheet del fabricante del integrado nos dice que:

Cualquier pulso en el pin de reset de más de 2,5 micro segundos generara un reinicio del micro y por consiguiente el pulso de 1 mili segundo que nos genera el conjunto de la imagen de arriba supera con mucho el tiempo necesario así que cuando el Arduino IDE genera un nivel bajo en el pin DTR se resetea el chip y en ese momento empieza a cargar el Sketch nuevo en el integrado.

Vamos a la acción.

Bueno metidos en materia, al probar si el conversor este que compre funcionaba pues resulto que no funciona, y no funciona por que aunque trae un pin de Reset, este pin no estaba conectado al DTR sino que estaba conectado al pin DTS o no se cual, uno cualquiera que no era el que debía ser, así que no hay forma humana de programar el chip usando este conversor, a no ser que le metamos mano.

Aunque como podemos ver en la imagen el conversor si tiene el pin DTR disponible para soldar alguna cosa, así que para hacer que funcione con nuestros chips debemos hacer una par de cositas, la primera es poner el condensador entre el DTR y la salida de Reset de la placa.

Lo que tenemos que hacer es soldar un condensador del valor adecuado entre el pin DTR y el Pin de salida del Reset de la plaquita, buscamos en el cajón cualquier condensador de más de 10 nF ( para cumplir el tiempo de reset del fabricante ) y lo soldamos entre el pin DTR y el pin de salida.

Una vez hecha la chapucita del condensador estamos a un paso más de lograr que funcione, solo nos queda terminar el trabajito fino cortando la pista original del pin Reset.

Notar la precisión del corte que hemos realizado, una maravilla el cutter.

Probando el invento.

Para probar el invento solo necesitamos un Arduino cualquiera.

Un conversor de USB a TTL.

Conectar según os digo.

USB-Serial     Arduino

RX <–> RX

TX <–> TX

GND <–> GND

VCC <–> VCC

RESET <–> RESET

Y programamos un Sketch de prueba, por ejemplo el que nos muestra la tabla ASCII por pantalla.

Si fallara por alguna cosa, casi seguro que es que tenéis del revés el RX y el TX, volver a chequear.

Bueno pues nada, espero que le sirva a alguien y sino pues nada.

Podéis comprar un conversor como este en eBay.

Written by cuningan

27 abril, 2012 a 16:56

Publicado en Inventos

2 comentarios

Subscribe to comments with RSS.

  1. wow pensé que había tirado mi dinero a la basura! muchas gracias por el aporte!

    Marco

    10 julio, 2013 at 0:52

    • Macho, queria tener un hijo como tu!, estas endemoniado de electrones!!!!, e como falamos no brasil, curto e grosso tsttststs obrigado y gracias hermano!!!, que los Dioses de la Electonica te recompernses los neuronios utilizados, faléi e diz!!!!

      sergiO

      29 julio, 2015 at 23:32


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: