Programador USB para microcontroladores AVR atmel

#1
Hola compañeros de foros de electrónica, en este caso les traigo algo que quizás les sirva a muchos. Se trata de un programador USB para la línea de microcotroladores AVR.

Esta herramienta es un clon del programador USBtinyISP que está publicado en esta página: http://www.ladyada.net/make/usbtinyisp/index.html

Las únicas modificaciones importantes que he realizado con respecto al programador que se muestra en la página, son las siguientes:


  • Circuito impreso a una sola cara para fácil armado por parte del hobbysta inexperto.
  • Eliminar buffer tri - estado 74HC125M (A veces trae problemas de comunicaciones).
  • Eliminar unión Self - programming (Recomendado en la página oficial del programador).
El programador es multiplataforma por lo que tiene soporte en todos los sistemas operativos vigentes:


  • Windows XP, vista, Seven ( Versiones 32 y 64 bits )...yo lo he probado con Windows XP y Seven de 32 bits y funciona correctamente.
  • Linux Ubuntu.
  • MAC OS v9 en adelante.
El software de programación que maneja este dispositivo es el AVRDUDE. Como este software trabaja bajo línea de comando, es mejor utilizar un GUI o interfaz de usuario para programar nuestros micros ; personalmente recomiendo 2:


  • Sinaprog (Soporte en Win únicamente, Configuración de los fuses poco amigable, lista de microcontroladores soportados completa).
  • AVR burn o mat (Buena interfaz , soporte en Win y Linux....lista de micros soportados incompleta)
La lista de dispositivos soportados la podemos ver realizando las siguientes acciones:

- Instalar AVRDUDE o en su defecto WINAVR
- Ir a Inicio - Ejecutar - cmd
-
luego teclear avrdude -c usbtiny. Al realizar esta acción veremos todos los dispositivos soportados por el programador.

El cerebro de nuestro programador es un ATtiny2313 - 20PU. El mismo lo pueden conseguir en CIKA electrónica Dicomese

Para grabar el firmware del programador recomiendo usar el Pickit2 o el programador serial que aparece en la siguiente página

Más abajo tienen todo lo necesario para su construcción, espero les sirva. En la próxima les mostraré los posibles mensajes de error de programador y como solucionarlos.
 

Adjuntos

#2
Posibles errores al utilizar el programador: En este apartado veremos algunos de los errores más comunes que se presentan con el uso del programador y las posibles soluciones a los mismos.



Este es uno de los errores más comunes que se pueden presentar al intentar usar el programador. Las razones pueden ser las siguientes:


  • El chip a programar no está conectado.
  • El chip a programar no está bien conectado...falla en las conexiones.
  • El chip a programar no está correctamente alimentado (+5v positivo 0v negativo).
  • El chip a programar tiene cristal externo que no corresponde con su configuración (fuses incorrectos, falla de sincronismo).
  • Hay algo conectado al puerto ISP del microcontrolador (Dispositivo SPI anexo).
Para corregir esto podemos realizar lo siguiente:


  • En caso de que el chip no esté conectado....mal conectado (placas experimentales con conexiones defectuosas) o no esté alimentado , revisar es lo que tenemos que hacer antes de empezar a programar...una gran verdad es que los problemas de hardware que se presenta en la mayoría de los circuitos es por conexiones defectuosas así que siempre revisar antes de poner en funcionamiento.
  • Cuando programamos un chip, el programador tiene que entrar en sincronía con el dispositivo para poder establecer una comunicación y la manera. En los dispositivos AVR hay que configurar la frecuencia de operación mediante unos registros especiales llamados FUSES. En caso de que estos registros estén mal configurados el chip no se sincronizará con programador y mostrará error. La causa de esto es en la mayoría de las veces poner un cristal incorrecto.
  • Otro de los grandes problemas al usar la programación en circuito ISP, es la posibilidad de tener dispositivos anexos al puerto de programación del microcontrolador. Esto nos puede traer desde problemas de sincronismo, perdida de señal, errores en la comunicación etc. Para evitar este problema lo mejor es aislar el puerto de programación del dispositivo asociado mediante unas resistencias como lo muestra la siguiente imagen:



Teniendo lo anterior en cuenta nos tiene que aparecer el siguiente mensaje:


Este mensaje corresponde a la prueba realiza con mi placa entrenadora para el attiny2313 que pueden encontrar en esta página, cuyo puerto ISP es compatible PIN A PIN con este entrenador: https://www.forosdeelectronica.com/f24/targeta-entrenamiento-attiny2313-45327/

El mensaje nos dice que se ha comunicado correctamente con el dispositivo a programar y que está listo para recibir instrucciones de programación (borrar dispositivo, programarlo, modificar fuses etc)

Como última imagen les muestro lo siguiente:



Este es un error poco frecuente y se debe principalmente a 4 cosas:

  • El programador no está conectado.
  • El programador está conectado y no fue reconocido por windows.
  • El programador está conectado , reconocido por windows pero existe un error de comunicación con el host por parte del dispositivo.
  • El JUMPER DE ALIMENTACIÓN DEL PROGRAMADOR no está puesto y no recibe alimentación del USB.
Las soluciones para estos problemas son variadas pero las más relevantes son las siguientes:


  • En caso de que el programador no esté conectado , conectarlo.
  • En caso de que el programador no haya sido reconocido por Windows puede llegar a ser por varios motivos...desde error en el hardware del programador hasta una falla en la configuración en los fuses del microcontrolador maestro...esto se estudiará de forma particular más adelante.
  • Cuando existe un error de comunicación simplemente desconectar el programador y conectarlo nuevamente ...
  • El jumper del programador es muy importante ya que nos permite seleccionar si la alimentación provendrá del USB o de una fuente externa...su mala conexión puede resultar de un puerto USB quemado o el mal-funcionamiento del programador.
Por ahora estos son los posibles problemas que pueden llegar a tener al momento de probar el funcionamiento del programador, en la próxima les daré más información con respecto a la construcción del mismo :cool:


 
Última edición:
#4
Gracias por tomarte el tiempo de readaptar este sencillo programador USB (y), se ve aun mas simple que el USB-asp, fui a la tienda a preguntar por el micro pero no lo tienen . No importa de alguna forma lo conseguiré...

Y una pequeña pregunta cuando colocas el jumper, ¿cuando tiene alimentacion externa? o para que se ¿alimente desde el puerto USB?, esque no tengo disponible el EGALE para ver el esquematico...

Además si no t es mucha molestia, podrias colocar una puequeña guia de como programar AVRs con este programador usando Linux Ubuntu, hace algunos meses que lo instale y me interesa aprender a utilizar su Terminal y demás funcionalidades para electronica. :D
 
Última edición:
#5
Hola @strysg como estás.
Y una pequeña pregunta cuando colocas el jumper, ¿cuando tiene alimentacion externa? o para que se ¿alimente desde el puerto USB?, esque no tengo disponible el EGALE para ver el esquematico...
El jumper se coloca cuando NO tienes alimentación externa. Cuando tienes por ejemplo una placa de desarrollo con alimentación propia tienes que quitar el jumper.

Además si no t es mucha molestia, podrias colocar una puequeña guia de como programar AVRs con este programador usando Linux Ubuntu, hace algunos meses que lo instale y me interesa aprender a utilizar su Terminal y demás funcionalidades para electronica. :D
Yo no tengo instalado UBUNTU en la PC, pero en cuanto tenga tiempo lo pruebo en la PC de un amigo y te digo que pasos seguir para poder usar el programar.
 
#6
hola estoy interezado en el programdor mi pregunta es si sirve para programar un ateme16
de ser asi me podiar enviar el programa que hay que programarle al attiny2313 t me podrias
gracias

ademas trabajo con el avrestudio
 
Última edición:
#7
Moya has pedido micros a Atmel por la pagina ??? porque yo los pedí por la página pero me pareció medio raro que no me hagan registrarme ni nada, solo poner los datos y los micros. No me mandaron ninguna notificacion ni nada y todavia no llegó nada. O será que tengo que seguir esperando ??
bueno saludos. No se si se conseguiran en capital.
 
#8
@tatan9211 hola como estás. Mirá te sirve para programar el ATMEGA16, el firmware del microcontrolador está en la carpeta que subí.

Foso hola como estás. El microcontrolador lo compré en mendoza a través de un distribuidor de Cika electrónica. Tenés que ir a capital , ahi ellos tienen stock del ATtiny2313.
 
#19
La lista la ves en el AVRdude.....igual como he dicho anteriormente soporta todos los microcontroladores AVR que tengan ICSP....solo los de 5v..luego postearé una versión para 3.3v.

Funciona con cualquier software de programación que ejecute en su nucleo avrdude y que tenga soporte de comandos para usbtiny.
 
#20
con bascom puedo usarlo? la lista de programas que tengo actualmente son:

bascom
mikroC por for avr (en este se instala un tal avr usb flash creo que sirve para programarlos parece, pero nunca ñp use).
winavr

un tal sinapro tb.

podrias subir un tutorial de como instalar los drivers? no se como empesar una vez armado este programador...:LOL:
 
Arriba