USBTINY

by Edited by

=Sobre el programador=

El programador "Uniandes - USBTinyISP" se encuentra basado en el proyecto hospedado en. El diseño del proyecto USBTinyISP es completamente libre por lo que la versión "Uniandes - USBTinyISP" está adaptada a los materiales que se pueden conseguir localmente. Se ha buscado un diseño optimizado en costos por lo que los materiales están por los $12.000= pesos colombianos (Sin contar con la fabricación de la tarjeta).

Nota: El desarrollo de este proyecto es sin animo de lucro y es una adaptación al código y materiales del proyecto original USBTinyISP. Si se siente motivado a realizar cambios o mejoras, sea libre de publicarlos cambios en esta wiki.

OKzMInkZMCw awTY7Mw_ZiE

=Dispositivos Soportados=

32UC3A0512 ATXMEGA128A4 ATXMEGA64A4 ATXMEGA32A4 ATXMEGA16A4 ATXMEGA256A3B ATXMEGA256A3 ATXMEGA192A3 ATXMEGA128A3 ATXMEGA64A3 ATXMEGA256A1 ATXMEGA192A1 ATXMEGA128A1REVD ATXMEGA128A1 ATXMEGA64A1 ATMEGA6450 ATMEGA3250 ATMEGA645 ATMEGA325 AT90USB82 AT90USB162 AT90USB1287 AT90USB1286 AT90USB647 AT90USB646 ATmega32U4 ATMEGA128RFA1 ATMEGA2561 ATMEGA2560 ATMEGA1281 ATMEGA1280 ATMEGA640 AT90PWM3B AT90PWM2B AT90PWM3 AT90PWM2 ATtiny2313 ATMEGA328P ATMEGA168 ATTINY861 ATTINY461 ATTINY261 ATMEGA8535 ATMEGA8515 ATMEGA161 ATMEGA6490 ATMEGA649 ATMEGA3290P ATMEGA3290 ATMEGA329P ATMEGA329 ATMEGA169 ATMEGA163 ATMEGA162 ATMEGA1284P ATMEGA644P ATMEGA644 ATMEGA324P ATMEGA164P AT90CAN128 ATMEGA128 ATMEGA103 AT90S8535 AT90S8515 AT90S4434 AT90S4433 AT90S2343 AT90S2333 AT90S2313 AT90S4414 AT90S1200 ATtiny9 ATtiny5 ATtiny4 ATtiny84 ATtiny44 ATtiny24 ATtiny85 ATtiny45 ATtiny25 attiny88 ATMEGA88 ATMEGA48 ATTINY26 ATMEGA8 ATMEGA32 ATMEGA16 AT90CAN32 AT90CAN64 ATMEGA64 ATtiny15 ATtiny13 ATtiny12 ATtiny11

=Software= Tanto para Linux como para Windows existen versiones del software necesario para utilizar el programador. Para utilizarlo solo basta conectarlo y ejecutar a través de lineas de comandos el programa avrdude, el cual ha de estar previamente instalado. Para obtener mayor información acerca de avrdude se puede visitar la pagina principal del proyecto.

AVRDUDE
AVRDUDE - AVR Downloader Uploader Es una aplicación por linea de comandos que permite descargar y cargar programas en la memoria de los microcontroladores con núcleo AVR8. Esta pequeña aplicación puede utilizar diferentes interfaces de hardware para realizar la programación de la memoria de los microcontroladores. Dentro de estas múltiples interfaces está la versión t2313, que hace referencia a un programador basado en Atiny2313.

Linux
A continuación se listan los paquetes necesarios para la instalación de las herramientas de desarrollo para AVR con Ubuntu. Si necesita ayuda con la instalación de paquetes consulte:

Ejecute en el shell: sudo apt-get install ddd avrdude avr-libc gdb-avr gdb gcc-avr simulavr

Nota: En algunas distros de Linux es posible que deba crear las siguientes reglas para el manejador de dispositivos de configuración. Para realizar esto agregue al siguiente archivo /etc/udev/rules.d/10-usbtinyisp.rules los reglas así:

Editar/crear el archivo: sudo nano /etc/udev/rules.d/10-usbtinyisp.rules

Adicionar las reglas en el archivo: SUBSYSTEM=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c9f", GROUP="adm", MODE="0666"

Por último debe reiniciar el servicio del udev o reiniciar el equipo: sudo /etc/init.d/udev restart

Windows
Nota: Para utilizar el programador en Windows se deben instalar los siguientes controladores: controladores para Windows Si tiene problemas intente con:



Tomado de AVRDUDE

Si desea utilizar el programador desde AVR Studio puede usar el siguiente programa: Programa para conectar con AVR Studio

=Hardware=

El programador consta de:
 * 1) Un puerto USB con conector tipo B
 * 2) Dos conectores ISP descritos en la figura.
 * 3) Dos leds indicadores:  estado y programación para probar el funcionamiento de la tarjeta.
 * 4) Tres Jumpers
 * 5) J1 Conecta la alimentación de la tarjeta como +5V del puerto USB
 * 6) J2 Conecta la alimentación de los ISP con la alimentación de la tarjeta
 * 7) J3 permite dejar la tarjeta en modo programación, conectar otro programador por cualquiera de los puertos ISP, desconectar el puerto USB y conectar la alimentación del puerto ISP a la tarjeta para programar.



Nota: Para ver el esquemático del proyecto consulte:

Archivos de fabricación
Los archivos de diseño en KiCAD son:

Los archivos de fabricación son:

Nota: Para visualizar los archivos de fabricación puede usar el paquete gerbv de ubuntu

Lista de componentes
'''IMPORTANTE: Recuerde que los diodos zener son de 3.3v exactos. '''

Consideraciones de tensión

 * 1) Para programar un microcontrolador externo, la tarjeta puede proveer la energía necesaria por medio de la interfaz USB, pero por razones de costos la interfaz USB no cuenta con protección o aislamiento DC-DC y es responsabilidad del usuario, tomar precauciones en el momento de conectar el programador a una tarjeta de pruebas.


 * 1) Si el usuario desea programar microcontroladores alimentados a 3.3V debe desconectar el Jumper que alimenta la tarjeta por USB y alimertar desde la interfaz ISP, dado que existiría un corto entre el voltaje del ISP y el USB

=Ejemplos de funcionamiento= Aca puede encontrar los archivos de programación. El archivo main.hex permite programar un microcontrolador para que cumpla la función de programador. Por otro lado el archivo test_leds.hex es un ejemplo que permite probar el funcionamiento del los LEDs incluidos dentro de la tarjeta. Esto le ayudará a comprobar el funcionamiento de su tarjeta.

Programación del dispositivo
Para programar el dispositivo ejecute: sudo avrdude -c usbtiny -p t2313 -U flash:w:main.hex -U lfuse:w:0xff:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m Nota: Debe cambiar en la anterior linea main.hex por el correspondiente archivo

Acerca de los FUSIBLES
Los FUSES son secciones en la memoria del microcontrolador que configuran comportamientos específicos del mismo, como por ejemplo la configuración de la fuente del oscilador. A continuación se puede ver que el parámetro -U l/hfuses el valor a programar.

sudo avrdude -c usbtiny -p t2313 -U flash:w:main.hex -U lfuse:w:0xff:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

En el siguiente link se podrá encontrar una Calculadora FUSES AVR8

= FAQs =