miércoles, 22 de diciembre de 2010

Programador USBasp

Ya todos conocen la importancia de tener un buen programador o quemador de uC's; en el mercado existe una gran diversidad de los mismos y a diferentes precios, pero para que pagar por uno de ellos cuando podemos hacerlo nosotros mismos.
En la pagina http://adf.ly/1X64cL encontraremos todo lo necesario para la construcción del famoso USBasp. Yo personalmente lo uso todos los días y hasta ahora no me ha fallado.
El esquema del circuito es muy sencillo, la cantidad de componentes es mínima y puede funcionar inclusive con win7-64bits.
En el siguiente enlace se puede encontrar la información necesaria ( esquema, layout, firmware, etc..) para su implementación.
USBasp.

El software para programación que recomiendo es Sinaprog, el cual puede ser descargado de el siguiente enlace SinaProg-1.4.5.10.
*** NEW  SinaProg 2

Ésta entrada no serviría de nada sin un pequeño aporte de mi parte.
Agregándole una cantidad mínima de componentes podemos llegar a esto:


El cual permitirá programar placas que ya tengan el famoso conector ISP de atmel y también otros uC's usando el ZIF-SOCKET (mega8,16,32,164P,324P...).
El layout de éste lo pueden encontrar aquí LAYOUT, ésta hecho en proteus.


PROGRAMANDO ATMEGA128

  

 
 
PROGRAMANDO ATMEGA324P


Para poder usar éste programador en Windows 7-64 bits tienen que usar el siguiente driver USBasp-Win7-x64. USBasp-Win7-x64.7z
El proceso de instalación se muestra en las siguientes imagenes.




Espero esta entrada sea de utilidad para ustedes, hasta la próxima.









Parte 2 (17/03/16):
En la siguiente imagen se muestra el nuevo programador USBasp.
Al final de este post dejare los archivos para la implementación.

image

El esquema del programador se muestra en la siguiente figura.
El firmware fue modificado para generar una frecuencia de reloj por el pin PB1/OC1A (de 2KHz a 6MHz). Esta frecuencia, aplicada al pin XTAL1 del uC a programar, permitirá usar cualquier cambianación de fuses.

ZIF


SinaProg 2.1
Esquemas USBasp zif – proteus
USBasp firmware modificado


Vendo Programador AVRISP XPII, compatible con AVRISP mkII. Funciona al 100% con Atmel Studio 7. 
PRECIO: S/. 120.00




97 comentarios:

  1. broderr una pregunta en el layout para el programador usbasp hay dos cristales uno de 12 MHz propio del programador y el otro que pones de cuanto es me puedes decirr....porque no aparece el valor....mi nombre es jano

    ResponderEliminar
  2. Hola Jano. Cuando programas un ATmega puedes ponerle RC interno, RC externo, XTAL ó fuente de reloj a XTAL1. Luego de programar con alguno de ellos necesitaras tener ese oscilador conectado para la siguiente programación. Es decir que si programaste para usar un crystal externo, en la siguiente programación necesitaras tener un crystal conectado al uC, caso contrario no podras programar. Por esa razon está el segundo crystal, éste se encuentra conectado a los pines XTAL1 Y XTAL2 para ATmega de 28 pines (ej. ATmega8) y para ATmega de 40(ej. ATmega32).

    ResponderEliminar
  3. Lo olvidaba.. puedes poner cualquier valor para el segundo crystal, yo personalmente tengo 3 programadores con crystales de 4MHz, 7.3728MHz y 12MHz.

    ResponderEliminar
  4. Hola amigo, tengo unas consultas... espero puedas ayudarme..

    - Quiero armar mi USBASP pero leyendo veo que tienes que configurar los fuses del atmega8 que servirá como programador...es decir, tenia la idea que era suficiente comprar todos los componentes, quemar con otro programador el firmware en el atmega8 del USBASP y listo...ya tenia mi USBASP...pero creo que éste necesita una configuración especial de los fuses..es así? ...si fuese cierto..cual sería la configuración?

    - Quiero usar mi USBASP dentro del AVRSTUDIO...lei en otro de tus posts que esto es posible usando otro firmware (que simula el STK500)...entonces, "quemo" ese nuevo firmware en el uC y sería todo?...o de nuevo...necesita una configuración adicional?...como en los fuses por ejemplo...

    - Por último, la ventaja del USBASP es precisamente su conexión USB (y creo que también la velocidad con que programa) pero fuera de eso...no sería posible armar un quemador serial y ponerle una interfaz serial (rs232) to USB para tener mi quemador con conexión USB?...o faltaría algo más?

    Gracias por tu atención.

    MARCO

    ResponderEliminar
    Respuestas
    1. Hola Marco, aquí algunas respuestas.
      La configuración recomendada de fuses para el USBasp es HFUSE=0xC9 LFUSE=0xEF.
      Si programas el otro firmware (para emular es STK500) puedes usar los mismos fuses.
      Los programadores que usan el puerto serial necesitan los +12volt y -12volt que generan el estándar RS232. Un conversor USB-Serial solamente genera +5 y -5, y con esos valores no funcionaria un programador ( esto es algo que personalmente lo he probado ).

      Eliminar
    2. Gracias Jonathan; muy bueno tu blog...espero que continúes con nuevos posts.
      Saludos.

      MARCO

      Eliminar
  5. Saludos, mi nombre es mario tengo este programador usbasp, y necesito cargar el .hex en un AT89S52 pero cuando lo voy a hacer no lo veo dentro de la lista de dispositivos soprtados del avrdude, se que el dispositivo se puede agregar en el config del avrude pero no se como hacerlo. gracias

    ResponderEliminar
    Respuestas
    1. Hola mario. Yo solamente programa ATmega y no podria decirte que hacer exactamente. Pero quiza en estas paginas encuentres tu respuesta.

      http://www.8051projects.info/content/8051-programmers/14-usb-8051-avr-programmer.html

      http://www.edaboard.com/thread157151.html

      Saludos !

      Eliminar
  6. Gracias por tu respuesta jonathan, ya habia probado la propuesta en esta pagina, que es muy similar

    http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=99161&sid=47fa4cae3e9142d197029913f20f3e52

    lo unico que tendria que probar es que lo estaba haciendo con un cristal de 12 Mhz probare con el de 4 Mhz, espero que ese sea el problema. cualquier cosa comentare nuevamente.

    Saludos

    ResponderEliminar
  7. Saludos, por fin pude hacer funcionar el usbasp con el at89s52 pero el problema radica en la version del firmware pues solo funciona la version del enlace que me recomendaste, funciono co el cristal de 4 como con el 12 Mhz y con diferentes valores de los condensadores. espero que pueda ser de ayuda a alguien mas.

    ResponderEliminar
    Respuestas
    1. Me alegro por ti... seguro eso le servirá a muchos.
      Saludos...!!!

      Eliminar
    2. hola tengo ese mismo problema como cambiaste la vercsion del firmware?

      Eliminar
    3. Yo no lo probe, pero a mario le funciono. En el conecto ISP tienes MISO, MOSI, SCK, RESET, VCC Y GND... solo te falta RESET. Usando esos pines y otro programador podras hacer la actualizacion de firmware...

      Eliminar
  8. hola k tal jona
    pues tambien me gustan los micros avr
    y de hecho ya logre hacer funcionar el usbasp pero tengo una duda
    -si programo otro micro con un cristal externo de un valor de 4mhz
    y despues cambio el cristal por uno de 12mhz
    ¿crees que sea mas rapido la programacion del .hex al micro?

    ResponderEliminar
  9. Si es mas rápido, aunque no se nota mucho la diferencia. Eso si, tienes que configurar el USBasp para que la velocidad sea mas rápida.
    Como cambiarle la velocidad lo describo en mi ultimo post.

    Saludos..!!!

    ResponderEliminar
  10. Hola tengo una consulta... tengo el usbasp.. y ahora me baje el software que vos nombraste, el sinapong... el tema que este programa toma solo archivos en Assembler no? Porque yo necesitaria programar en C... no se si vos me podrias dar alguna idea..
    Desde ya muchas gracias!
    Saludos

    P.D.: Muy buena la info!

    ResponderEliminar
    Respuestas
    1. No toma archivos en assembler, toma los .hex . Y que yo sepa todos los programas generan una salida en .hex.Yo he programado en C, usando el avr studio, y siempre genera el .hex para poder grabar el uC.

      Eliminar
    2. Ok, gracias.. averigue y tenes razon! en verdad mi problema esta en que no puedo programar el uC, el programa me tira que no encuentra el USBasp... lo que noto es que este tiene una luz prendida al enchufarlo y cuando le conecto el uC esta luz se apaga.. es correcto esto?

      Disculpa por la molestia.
      Muchas Gracias

      Eliminar
    3. Que programador estas usando ( quiero ver una imagen) y que uC ATmega estas usando ?. El led no se deberia apagar, eso ocurre cuando el programador no funciona bien.

      Eliminar
    4. el USBasp me lo paso un conocido... y el uC en un atmega8. hay alguna manera de probar si el software reconoce el USBasp sin que este este conectado al atmega8?

      Gracias.

      Eliminar
    5. Primero tienes que ir al administrador de dispositivos y ver si al conectarlo el SO lo reconoce.
      Abre el SinaProg, en 'programmer' selecciona USBasp. Luego presiona 'Search' y si aparece el mensaje 'can't find programmer' el SinaProg no lo esta reconociendo.

      Eliminar
  11. Buenas. me gustaria saber el porque cuando conecto el USBASP al progisp y al intentar detectar un chip figura un error "CHIP ENABLE PROGRAM ERROR", desconozco los fuses y como se configuran.

    ResponderEliminar
    Respuestas
    1. Estimado. Te recomiendo usar el SinaProg, yo no uso el ProgISP y no sé a que se debe el error que te aparece.

      Eliminar
  12. Utilizando el ZIF-SOCKET (mega8,16,32,164P,324P...).
    Me podrias decir que otros micros se pueden programar en esta base, quisiera saber si se pueden programar los Attiny (2313,45,13,84) entro otros que manejo

    ResponderEliminar
    Respuestas
    1. El zif tiene soporte para 40 pines, 28 pines, 20 pines.
      En teoría el programador funciona con todos los que tienen ISP, pero no he probado con todos.

      Eliminar
  13. ¡Saludos!para todos, la verdad necesito crearme un quemador de Armaga, ¿tienen un programador ya utilizado y funcional para quemar el Atmega8?,, si es así, ¿me podrían comentar cual utilizar?.
    Otra, se comenta que es posible utilizar cualquier ATmega para el USBasp, pero veo que existen muchos, ¿pueden recomndar ino especificamente, de 28 pines (digamos: ATMEGA88-20PU, ATMEGA8A-PU, ATMEGA8L-8PU) bueno por el omento estos son los que puedo obterner.
    Gracias por su atención y ayuda...
    Por cualquier cosa mi correo es: papel12300@gmail.com
    Atte.: Ramón

    ResponderEliminar
    Respuestas
    1. Estimado, el USBasp es el mas barato y funcional, soporta muchos modelos y corre en windows, linux, Mac... Yo tambien tengo un AVR MKII, un JATGICE3.. son originales y muy potentes, pero esos tienes que importarlos (un poco caro). Todos lo USBasp que tengo funcionan muy bien con ATmega8 (no he probado otros). Si usas tu ATmega8A estaría bien.
      Saludos !

      Eliminar
  14. HOLA¡¡ TENGO UN PROBLEMA CON MI PROGRAMADOR, PARA microncontrolador atmel, pero mi caso es que no lo instala mi maquina, y ocupa el ATMGA8-16PU, dice dispositivo no reconocido,,, que puedo hacer, ya que he hecho varios intentos y nada... GRACIAS

    ResponderEliminar
    Respuestas
    1. Estimado, el uC es correcto, asumo que grabaste el firmware correctamente, que los fuses son los correctos y que el XTAL es 12MHz. Si consideraste todo eso y tu windows aun no lo reconoce.. el problemas esta en tu placa !.

      Eliminar
    2. GRACIAS,,, Otra duda, tu esquematico me servirá tanto para AVR, como AT89S52,, gracias¡¡

      Eliminar
    3. Estimado... TE FELICITO POR TU BLOG¡¡ gran ayuda

      Eliminar
    4. No he usado nunca un AT89S52, y no creo que te sirva para ese fin.
      Saludos !

      Eliminar
  15. hola tengo un problema yo uso el atmega164p pero al querer cargar el programa .hex me sale chip enable program error que significa y q puedo hacer...gracias

    ResponderEliminar
    Respuestas
    1. Estimado, para ayudarte necesito mas informacion. Que programador usas?, windows y el GIU de programacion lo reconococen ?, el Atmega164P es nuevo o dejo de reconocerlo sin razon aparente ?. A que frecuencia lo estas intentando programar ?.. etc

      Eliminar
  16. Abraham Castañeda30 de marzo de 2013, 10:26

    Hola amigo buenos dias saludos desde México.

    Hice un programador usbasp propio con algunos cambios (necesitaria pasarte los archivos que estan en proteus pasame tu mail y t los envio), segun yo las conecciones esta bien de acuerdo al diagrama original del programador de la version 2009-02-28, ya grabe el firmware al micro que es un ATMEGA48, cuando lo conecto a la PC se enciende el led rojo de coneccion, pero lo trata de detectar windows XP y dice: "No se reconoce el dispositivo usb" y no me da la opcion de cargar el driver y estoy muy confundido pense que era el conector usb ya que uso un conector tipo B pero ya cheque la hoja de espesificaciones revise el cable y la nuemracion de los pines y coinciden. Espero me puedas apoyar y con gusto enviare mis archivos para que les des un vistazo muchas gracias y cuidate.

    ResponderEliminar
    Respuestas
    1. Estimado, que cambios le hiciste ? que fuses grabaste ? . El led rojo se enciende cuando el Uc se energiza, no necesariamente cuando se comunica con la pc.
      Escribeme a jseminario@dideart.com !

      Eliminar
    2. Abraham Castañeda30 de marzo de 2013, 15:36

      Muchas gracias te escribo a tu correo.

      Eliminar
  17. Hola amigo buenas tardes amigo te envio un coordial saludo.

    Ya tengo armado mi usbasp con ATMEGA48-16PU, uso la interfaz de programacion sinaprog 2.0; pero utilizo para mis circuitos el atmega48PA y no lo detecta si trato de programar seleccionando el dispositivo ATMEGA48 me dice: "programing failed", por que me ocurre esto? y como puedo solucionarlo?.

    Me desconcierta esa parte ya que la mayoria de mis compañeros usamos versiones mas baratas como el ATMEGA48PA que en méxico cuesta $32 pesos mexicanos a diferiencia de un ATMEGA48 que cuesta $70 pesos mexicanos y es mucho mejor compras 2 ATMEGA48PA por esos mismos $70.

    Espero me puedas ayudar y agradecerte por tu blog es magnifico, espero tu respuesta.

    ResponderEliminar
    Respuestas
    1. Si tu ATmega48PA es nuevo, deberia estar con RC interno de 8MHz, entonces en cualquier configuracion de USBasp deberia funcionar. Asumo que en el SinaProg seleccionaste USBasp. Deberias verificar que los pines de programacion (MISO, MOSI, SCK, VCC, GND, RST) se encuentren correctamente ubicados.
      Saludos.

      Eliminar
  18. Ha otra pregunta sobre ares uso la version 7.10 sp1, ya tengo mi circuito hecho el problema es que necesito obtener la mascara para el antisoldante ya que hare mi placa por el metodo de serigrafiado imprimiendo los acetatos; es la primera vez que lo hare ya obtuve la mascara de componentes y la de pistas pero no se como obtener la del antisoldante, obtube una parecida pero deja en color morado los puntos de soldadura y el resto es negro como debe ser, pero esos puntos rosas deberian de ser blancos para que dejen pasar la luz y se endurezca la maya del bastidor, espero me ayudes.

    ResponderEliminar
  19. Saludos amigo

    En efecto ya revise muchas veces la conexion de mis terminales en la proto ya fui a reclamar el micro me lo cambiaron pero sigo sin programarlo.

    Puede q sea un problema de mi provedor en sus micros o es una deficiencia del usbasp el no poder programar el ATMEGA48PA y las otras versiones si?, por que me prestaron un ATMEGA48A y sin problemas.

    Gracias por darle seguimiento a mi pregunta y tu blog es muy bueno gracias.

    ResponderEliminar
    Respuestas
    1. Estimado.
      El ATmega48A tiene ID diferente al ATmega48PA (0x1E 0x92 0x05 y 0x1E 0x92 0x0A).., es decir "no son lo mismo". Si estas usando el AVRdude (o el Sinaprog), este no lo reconocera, ya que no lo tiene en su lista. Si usas el Sinaprog tienes que agregar el ATmega48PA a su lista.
      Tambien puedes usar el Khazama AVR Programmer, este te permite programar el ATmega48PA como si fuera el ATmega48.
      Tambien puedes usar el eXtreme Burner - AVR, en este puedes agregar facilmente el ATmega48PA... solo debes modificar el archivo "chips.xml" que se encuentra en la carpeta de instalación.
      Espero esto te ayude... Saludos!

      Eliminar
  20. Tu me podrias orientar en como añadir el ATMEGA48PA en sinaprog 2.0 si no es mucho pedir muchas gracias y saludos desde México.

    ResponderEliminar
    Respuestas
    1. Estimado, te recomiendo que uses el Khazama AVR Programmer o eXtreme Burner, es mas facil.
      Para incluirlo al sinaprog (avrdude) tienes que agregarlo en los sigueintes archivos:
      avrdude.conf
      Calc_EF.cal
      Calc_HF.cal
      Calc_LB.cal
      Calc_LF.cal
      Device.txt

      Saludos.

      Eliminar
  21. MMM ya probe Khazama V1.6.2 y nada no programa mi atmega48PA mmm stoy muy triste por eso ummm pero gracias por toda tu ayuda.

    ResponderEliminar
    Respuestas
    1. En la pagina http://khazama.com/project/programmer/ dice "from version 1.7.0 you can override chip signature check (for example for ATMega48 and ATMega48PA chip signatures are different but with overriding sign check you can program this chips truly). you can change programing clock speed too."

      deberias probar con la version 1.7.0. y asegurate que seleccionar la opcion "Override Signature Check" dentro de "Program Options" en la pesataña "Command".

      Una pregunta, en la ventana de la derecha en el SinaProg que aparece cuando haces click en el boton "Search", esto cuando tienes conectado tu ATmega48PA ?.

      Saludos.

      Eliminar
  22. Hola buenos dias Jonathan pues cada vez que le doy en serch dice:

    avrdude -C avrdude.conf -c usbasp -p m48 -q
    avrdude: AVR device initialized and ready to accept instructions
    avrdude: Device signature = 0x1e920a
    avrdude: Expected signature for ATMEGA48 is 1E 92 05
    Double check chip, or use -F to override this check.

    avrdude done. Thank you.

    estoy por probar khazama muchas gracias por toda tu ayuda eres una muy buena persona.

    ResponderEliminar
    Respuestas
    1. Estimado, eso indica que el avrdude si reconoce tu ATmega48PA, alli dice que el dispositivo que lee es el 0x1e920a (que es el ATmega48PA --> avrdude: Device signature = 0x1e920a), pero no lo puede programar ya que no lo tiene en su lista.
      Tu programador funciona bien, el problema es el avrdude que no tiene en la lista al 48PA.

      Saludos !

      Eliminar
  23. Wooo muchisimas gracias si funciono con la version 1.7.0 por lo tanto ¿consideras que Khazama es el mejor software para el USBasp?, ya que las otras versiones de avrdude no tiene esta opcion de anular la firma del micro y lo considera en su version mas antigua.

    Te reconosco gracias a ti y este blog me he adentrado mas al mundo de los micros AVR y son mucho mejor q los de microchip a mi consideracion.

    ResponderEliminar
    Respuestas
    1. El mejor software sera el mas util para la persona que lo usa, pruebalo y tu definiras eso.
      Saludos.

      Eliminar
  24. Hola amigo buena tarde, trato de utilizar Khazama AVR programer la version 1.7.0 para windows 7 y no me funciona como que se queda pasmado alguna psoble solucion para ello o este programa no es para esta version de SO de windows muchas gracias.

    ResponderEliminar
    Respuestas
    1. Me parece que no se instalo correctamente, yo lo tengo funcionando en windows 7 x64 sin problemas. Te recomendaría que lo desinstales y vuelvas a instalar.
      Saludos.

      Eliminar
  25. ¡Saludos! jonathan, y mil gracias por responder.
    Este post es muy bueno, gracias nuevamente y buen trabajo.
    Ramón R.

    ResponderEliminar
  26. buen dia,

    sabes si el USBasp, programa el Atmega328, de ser asi como se configuran los fuses

    saludos

    ResponderEliminar
    Respuestas
    1. Estimado.
      El USBasp si puede programar el ATmega328, pero no entiendo tu pregunta sobre los fuses.

      Eliminar
  27. Hola lo probe pero no funciona con at89s8253, alguna soluci{on , gracias

    ResponderEliminar
    Respuestas
    1. Quiza esto te ayude... yo nunca use los 8051.
      http://www.circuitvalley.com/2011/06/usb-8051-avr-microcontroller-programmer.html
      http://www.mikrocontroller.net/topic/140310

      Saludos.

      Eliminar
  28. Buen dia Jona.

    Aun no estoy muy bien empapado del tema de AVR y estoy realizando un proyecto en donde comunico Atmega644p(Mayor memoria) y Atmega16a. El problema es que el atmega644p con el sinaprog se me han quemado algunos a que me refiero con quemado a que se me inhibe y no puedo volverle a cargar informacion, me podrias recomendar algun programador en especial para evitar que me suceda esta clase de cosas, porque tambien me paso lo mismo con el Atmega16 con el progisp y se me murieron =( En si trabajo programando con los dos programadores.

    ResponderEliminar
    Respuestas
    1. Lo que esta pasando es que, sin querer, los estas bloqueando. Antes de cualquier grabacion debes verificar que los fuses (especialmente los que controlan el oscilador) sean los correctos. Tus uC´s no están muertos, solo bloqueados ( es este post toco el tema http://avrperu.blogspot.com/2012/06/formas-de-bloquear-y-desbloquear-un.html).

      Yo hice una modificación del USBasp original, y con dicha modificación - http://dideart.com/desarrollo-electronico/19-programador-quemador-usbasp-zif-para-atmegas.html- se pueden desbloquear los uC´s bloqueados.

      Otra forma es usar un JTAGICE3, pero es dificil de comprar y caro.

      Espero haberte ayudado.

      Saludos.

      Eliminar
  29. que tal !!
    estoy usando el Usbasp v2.0 con el AVRstudio y el extreme burner, tengo el atmega48A-PU y el atmega48PA-PU. cuando abro el extreme burner, cargo el .hex sin problemas, pero cuando ya lo tiene cargado no hace funcionar nuestra practica, que es el parpadeo de un led
    hago todas las conexiones correctamente y nada mas no prende el led, a que se puede deber esto?
    también tenemos que hacer con un push prender el led, el programa y conexiones están bien pero no funciona... gracias !!

    ResponderEliminar
  30. crees q estén bloqueados los micros y que por eso no funcionen ya con el programa grabado?

    ResponderEliminar
    Respuestas
    1. Despues de programarlo verificas que se programo correctamente ?. Que oscilador y fuses estas usando ? Puedes pasarme el codigo ? Si lo programa sin problemas entonces no esta bloqueado. Cuando lo simulas funciona ?

      Eliminar
    2. hola !
      el extreme burner me dice que se ha cargado el programa al Uc exitosamente, no utilizo ningún cristal ya que el programador (Usbasp) tiene el suyo, así que solo realizamos las conexiones para los leds, me podrías proporcionar tu correo? te mando todo documento. gracias!!
      código del parpadeo de un led
      Programa en C.
      #include //librería de entradas y salidas.
      #include //librería de retardos.
      int main (void){ //inicio del programa principal.
      DDRB=0xFF; //declarar el puerto B como salidas.
      while(1){ //iniciar bucle infinito.
      PORTB=0x01; //puerto B = 00000001.
      _delay_ms(250); //retardo 250 milisegundos.
      PORTB=0x00; //puerto B = 00000000.
      _delay_ms(250); //retardo de 250 milisegundos.
      PORTB|=_BV(PB0); //Bit 0 del puerto B = 1.
      _delay_ms(250); //retardo de 250 milisegundos.
      PORTB&=~(_BV(PB0)); //Bit 0 del puerto B = 0.
      _delay_ms(250); //retardo de 250 milisegundos.
      } //fin del bucle infinito.
      } //fin del programa principal

      Eliminar
    3. Tu programa parece estar bien. Con la pregunta del cristal no me referia al cristal del USBasp, me referia al que usa tu ATmega (el que estas programando). O lo dejaste con los fuses por defecto. Cuales son los fuses que tiene grabado ?.

      Eliminar
    4. uff... no lo se con certeza, me podría decir en donde puedo checar eso? en un diagrama que tenemos se utiliza un cristal de cuarzo de 4Mhz entre el pin 9 y 10 junto con dos capacitores de 15pf, ese es el arreglo q no tenemos, será necesario hacerlo? gracias !

      Eliminar
    5. En la opcion de los fuses,, los "low" hacen referencia al oscilador que usara el uC. que valores tiene alli ? Prueba usando el Sinaprog.

      Eliminar
    6. el valor en LOW es 0xFF, en HIGH es 0xFF y en EXTENDED es 0xFF
      no he descargado el Sinaprog pero vi unas imágenes en las que el programador viene una opción de cristal, puedo escoger el valor desde hay?

      Eliminar
    7. Estimado, tenemos un problema con esos fuses, al parecer tu programador no esta funcionando correctamente o tu no lo estas usando correctamente. Si tu uC es nuevo deberias tener low=0x62 - high=0xDF y Ext=0xFF (esto para el ATmega48PA)... Aqui puedes verificar los fuses: http://www.engbedded.com/fusecalc.
      El USBasp que estas usando lo armaste tu usando el firmware original?
      Mi correo es jonathan081986@gmail.com.. enviame algunas imagenes para poder ayudarte. Trata con el SinaProg. Despues de grabar lee el uC y compara lo que lee con los que escribes.

      Eliminar
    8. que tal !!
      el USBasp lo compre ya armado, pero en cuanto llegue a casa te mando las fotos, estuve intentando modificar los fuses en el AVR pero no me deja, ya que necesito tener conectado algún programador de los que se encuentran en el mismo AVR, como puedo modificarlos? gracias !!

      Eliminar
    9. Cualquier programador te debe permitir hacer modificaciones de fuses, el USBasp tambien. no puedes hacer las modificaciones porque el programador no esta reconociendo el uC, y tal parece que nunca lo llega a programar.. ese es el problema.

      Eliminar
    10. t mande unos archivos a tu correo, por otro lado, baje el SinaProg y hay si me detecta los fuses tal y como los pusiste, pero no logra hacer funcionar el circuito. en el mail vienen varias cosas
      gracias !!

      Eliminar
  31. hola mi necesito tu ayuda tengo un grabdor usabasp que me preste deseo armar mi grabador como grabo el fimware?

    ResponderEliminar
  32. Programalo como a cualquier otro uC, pero debes tener en cuenta los Fuses que son: HFUSE=0xC9 LFUSE=0xEF.
    Con eso es suficiente.

    ResponderEliminar
  33. Hola amigo, tengo un problema necesito programar por isp el TINY167 o el ATMEGA168, pero viene deshabilitado el reset externo y solo puedo modificar los fuses con alto voltaje, ¿habra alguna forma de convertir el programador USBasp a alto voltaje? y como conectaria para programar el micro.

    Gracias.

    ResponderEliminar
    Respuestas
    1. Estimado. En ninguan ATmega o ATtiny viene deshabilitado el RESET, por error o desconocimiento debes haberlo deshabilitado.
      Aqui puedes encontrar ayuda: http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en

      Eliminar
    2. O lo que sucede es que cuando intento grabar los fuses de este para un reloj diferente que no sea el interno no me lo permite es nuevo no he modificado nada asi lo revise en el data y asi indica que el fuse para el reset no esta programado o habre entendido mal, muchas gracias por la informacion.

      Eliminar
  34. Entendiste mal. el hecho de que diga que no está programado indica que no esta deshabilitado, es decir que es este caso programar ese fuse implica deshabilitar el reset.
    Como es nuevo tu problema puede ser la frecuencia del isp que usas en la programación. ... qe frecuencia estas usando? .

    ResponderEliminar
  35. Hola amigo muchas gracias lo estoy ocupando a 1KHz, pero tenias mucha razon, si habia quemado el fuse y deshabilite el reset y ya no me permitio grabar el reloj. Ahora me imagino que tengo que desbloquearlo por alto voltaje.

    Muchas gracias y tienes un excelente blog.

    ResponderEliminar
  36. Hola amigo algun programador para grabar el tiny167, ya que me intereso por su ADC en modo diferencial, que pocos micros lo tienen.

    saludos.

    ResponderEliminar
    Respuestas
    1. Me imagino que no puedes comprar un programador como el AVRISP MKII o JTAGICE3, ya que esos pueden hacerlo. Deberias probar con el USBasp, debido a que el tiny167 tiene ISP, quiza se pueda programar.

      Eliminar
  37. TENGO UN AVR ISP VERSION 2.0 (CLON) Y NO LO RECONOCE EL AVR STUDIO 6, TENGO ARMADO EL USBasp Y NO HE ENCONTRADO ALGUN PROGRAMA QUE SOPORTE ESE INTEGRADO YA SEA EN TINY167 O EL 87, PEDI PRESTADO EL PROGRAMADOR DE POLOLU PARA AVRS Y NADA DE NADA Y LA VERDAD NO SE QUE HACER ESPERO ME PUEDAS ORIENTAR MAS, MUCHAS GRACIAS POR TU RESPUESTA.

    ResponderEliminar
    Respuestas
    1. Como es un clon el ATMEL STUDIO 6 no lo reconocera, el 4.x si puede. El USBasp y este enlace son la solución http://www.mikrocontroller.net/topic/236355

      Eliminar
  38. Hi Jonathan,
    I design new AVR USBasp to easy use ZIF socket. you just insert all AVR , 89S5X or 24CXXX EEPROM from pin 1 to ZIF, programmer No need any jumper or switch setting and auto detect chip inserted!
    you can see photo and get more details about my programmer in : http://www.elewiz.com/en/83-product/90-usb-programmer.html

    ResponderEliminar
  39. BUEN DIA:
    amigo tengo una pregunta yo diseñe ps mi propio programador de atmega cierto viendo el tuyo no entiendo porq los dos cristales, yo tengo solo el de 12Mhz q es el propio del programador, tengo entendio maso menos algo sobre la velocidad de progrmacion con determinado cristal pero no comprendo bien me puedes ampliar esa info por favor, el mio con un solo cristal me funciona perfecto y en el codigo he puesto externo como interno y no presento problemas. mira mi programador

    ResponderEliminar
    Respuestas
    1. Cuando cambias los los fuses para usar un oscilador externo debes tener un oscilador externno en los pines xtal o una señal aplicada a xtal1.

      Eliminar
  40. Buenas... Me compre 3 programadores USBasp y no puedo instalar ninguno.
    error: could not find USB device with vid=0x16c0 pid=0x5dc
    Vi todos los tutoriales, probe en Windows 7 (32) y windows 10 (64). Me recomendarias una pagina para poder llegar a instalar, trato de grabar unos Atmega328p-pu. Muchas gracias

    ResponderEliminar
    Respuestas
    1. Estimado.
      Usa este instalador de driver "http://zadig.akeo.ie/"

      Eliminar
    2. usas "libusb-win32 (v1.2.6.0)"

      Eliminar
    3. zadig estoy usando, pero en libusbK, que sistema operativo me recomendas para no tener conflictos? Desde ya muchas gracias por tu pronta respuesta.

      Eliminar
    4. yo tengo win7 x64 y nunca he tenido problemas.
      Pero también debería funcionar en win10.
      Si tu problema continua quizá tengas que deshabilitar la opción de comprobación de firma digital de lo drivers

      Eliminar
    5. Debes usar "libusb-win32 (v1.2.6.0)"

      Eliminar
    6. No me reconoce el ATMEGA328P. Lo saque de un Arduino uno, tengo 2 para probar, pero no lo graba ni lee y probé de todas formas las conexiones de los cables. Que podrá ser?. Este programador tengo ahora:

      https://ae01.alicdn.com/kf/HTB1WJzLIXXXXXaYXXXXq6xXFXXXu/USB-ISP-USBISP-USBASP-ASP-AVR-Programmer-for-51-ATMEL-AVR-WIN7-64-RANDOM-COLOR-.jpg

      avrdude: set SCK frequency to 187500 Hz
      avrdude: error: programm enable: target doesn't answer. 1
      avrdude: initialization failed, rc=-1
      Double check connections and try again, or use -F to override
      this check.

      avrdude done. Thank you.

      Eliminar
    7. Tienes que usar un cristal entre los pines XTAL1 & 2.

      Eliminar
    8. Ahora si funciona con un xt de 16mhz, tenia puesto uno de 4mhz. Muchas gracias y a seguir con tus tutoriales.

      P/D: Los ATMEGA328P si utilizo la funcion "lock" en los fuses, puedo volver a re-programarlo? Muchas gracias

      Eliminar
    9. Lock es para proteger la flash de futuras lecturas. Si piensas hacer un programa y no quieres que nadie pueda leer la flash y copiarla debes usar los lock fuses.

      Eliminar
  41. Por ejemplo si activo el "lock", puedo borrar el micro y volverlo a grabar (seria como la serie "F" en PIC). Muchas gracias esa era la única duda antes de comenzar. Usted sabe mucho y le agradezco su atención.

    ResponderEliminar
  42. Buena tarde tengo mi usbasp y funciona genial pero quiero hacer un programador apartir de mi usbasp realice el circuito que viene en la pagina de Fischl con un atmega48 y lo carga bien pero cuando conecto este ultimo a la computadora me aparece que no se reconoce el dispositivo, repito tengo un usbasp y funciona bien entonces no es por el driver el circuito ya lo arme mas de 20 veces el programa si lo carga bien en el atmega48 los fuses ya intente con el oscilador interno y con un oscilador externo pero al parecer avrdude no me permite cambiarlo a 12Mhz podrías ayudarme..... Gracias.

    ResponderEliminar