Banner publicitario de PCBWay

Problemas con el programador USBAsp.

Hola a todos
Buenooooo ., vamos por partes ., como diria " jack el descuartizador"
He aqui el gran dilema ., que se enfrentan todos los que empiezan a programar AVR
Y es el siguiente .," que es lo primero ., ¿¿¿ el huevo o la gallina ??? "
Para poder fabricar un programador ., hay que fabricar otro programador !!!!
Y si eso es asi ., ( para mi no tiene mucho sentido en la mayoria de los casos ).,
Yo directamente me fabrique un programador serial., (mas o menos decente) .,
O sea tengo el huevo y ninguna gallina !!!!! ja ja ja ja ja ja
Pero por las dudas me consegui ., !!!!! una gallina que vino de otro huevo ¡¡¡¡Imagen1.jpg
Bueno el programador que mas uso es el SI-PROG serial ., que lo arme hace bastante tiempo (mas de 10 años)
Lo uso con el ponyprog 2.08 ., actualizado tengo infinidades de micros y memorias para poder grabar
El usbasp V2.0 lo compre ( sale muchisimo mas barato que armarlo) por si tengo que programar algo desde una laptop .,que no tenga conexion serial ., pero si USB
La duda del consultante ., es bastante valida ., por que le puede pasar a los que empiezan con esto ( me paso a mi)
La gallina original ( que viene de otro huevo) .,o sea el programador ISP ., es este
El que fabrico el consultante es una variacion de este
Aca el circuito original
capture_01242025_004811.jpg
Y esta es la variacion que armo nuestro consultante
capture_01242025_004408.jpg
En este caso afregaron un zocalo ZIF ., y un zocalo para cristal externo
Tal vez de alli comienza la confucion ., en los archivos de la reforma no encontre referencia alguna de los BITSFUSIBLES para el atmega8
Que no son los que viene de fabrica porque tiene cristal externo de 12MHZ ., entonces no funcionaria (o se bloquee)
El archivo .HEX ., de la reforna ., es exactamente igual al de la pagina original ., que alli si esta indicado los fusebits
Hay una pagina ., donde se puede pasar de valores hexadecimal a binario (o casillas de 0 o 1) ., y es fuse calculador aqui
Si vamos alli ., vemos los fuses como vienen de fabrica en los atmega8

capture_01232025_180424.jpg
En la parte de abajo se ve los valores por DEFAULT en hexadecimal ., y arriba en binario
Hasta alli todo perfecto ., aunque los datos de los fusebits del montaje no estan tan a la vista
En el original estan en un archivo MAKEFILE y son estos
capture_01232025_181826.jpg
Que con el ponyprog se ven asi
capture_01242025_023907.jpg
Y el .HEX que corresponde a esto es usbasp.atmega8.2011-05-28 . RAR
Tambien subo el proyecto original ., con todos los archivos y instalador de drivers
Bueno espero que la cosa sirva y aclare un poco las dudas y se pueda solucinar el problema
!!! SUERTE ¡¡¡¡
ATTE : juan
 

Adjuntos

  • usbasp.2011-05-28.rar
    509.6 KB · Visitas: 10
  • usbasp.atmega8.2011-05-28.rar
    5.3 KB · Visitas: 8
Hola de nuevo , perdon por el retraso , hasta que no he terminado este serial para programar correctamente el atmega8 , puedo decir que he probado ponyprog para leer lo que hay dentro del atmega con exito , tambien lo he borrado . y aqui fotos de todo el proyecto , con vcc externa para el microprocesador.
 

Adjuntos

  • IMG_20250125_144036.jpg
    IMG_20250125_144036.jpg
    608 KB · Visitas: 8
  • IMG_20250125_144045.jpg
    IMG_20250125_144045.jpg
    633.5 KB · Visitas: 8
  • IMG_20250125_144048.jpg
    IMG_20250125_144048.jpg
    205.4 KB · Visitas: 7
  • IMG_20250125_144052.jpg
    IMG_20250125_144052.jpg
    233.2 KB · Visitas: 7
  • IMG_20250125_144103.jpg
    IMG_20250125_144103.jpg
    231.9 KB · Visitas: 8
Hola de nuevo , perdon por el retraso , hasta que no he terminado este serial para programar correctamente el atmega8 , puedo decir que he probado ponyprog para leer lo que hay dentro del atmega con exito , tambien lo he borrado . y aqui fotos de todo el proyecto , con vcc externa para el microprocesador.
Hola a todos
Fantastico el montaje y perfecto
Voy a tratar de mostrar y enseñar ., los pasos con PONYPROG y un programador serial ., en este caso una variante del SI-PROG
Asi de ese modo ., como de un " HUEVO" ., tenemos una hermosa y muy util "GALLINA" ja ja ja
Para empezar ., diremos que no hace falta armar un zocalo aparte ., para grabar el programa de nuestro microcontrolador
En este caso el microcontrolador de un USBASP ., ya que cuando diseñemos nuestra placa ., debemos dejar previsto los pines para poder conectar nuestro programador ., y asi grabar el programa por primera vez .,
Paso a mostrar algunos ejemplos de como se hace esto ., va a ser un poco largo ., pero como esta dirigido a los que comienzan ., ( y recordando mis dudas cuando comence con esto ja ja ja ja )
Si bien como dije antes yo uso el programador serial ., que hace exactamente lo mismo que el USBASP ., pero se manejan distinto
Vamos con lo primero ., la placa o placas que vallamos a programar deben tener los terminales de conexiones del ISP o ISCP que significa en ingles " In Circuit Serial Programming" que traducido al español seria " Programación en serie en circuito" ( es lo mismo solo es cuestion de semantica del lenguaje )
Por norma de conexiones y estandar es asi
Iscp pinut.jpg
Si se fijan en la imagen ., esta el pinutas tanto para AVR como para PIC ., y eso es una norma eatablecida
Un ejemplo de una placa DIY con microcontrolador AVR y la implementacion de la norma ISP
iscp pinuts en montaje.gif
Tambien la tienen los famosos arduinos (casi todos) ., y digo casi ., porque por tamaño algunos usan mini usb
arduino ISCP.jpg
Y como veran sigue la norma de los pinouts
arduino iscp pinuts.jpg
En mi caso ., las placas cree mi propia norma por una cuestion de espacio y comodidad
attiny2313 iscp.JPGatmega328 iscp.JPGatmega162 iscp.JPGatmega128A iscp.JPG
Como uso cables con teminales hembra paso 2.57 ., los puedo conectar por separado ., incluso si tengo que reprogramar una placa comercial ., no tiene los teminales ., le suedo provisoriamente unos cables a los pines del microcontrolador
Ahora vamos al programador .,como dije uso el SI-PROG serial
SI Prog AVR PROGRAMADOR.JPG
Como venimos diciendo los terminales importantes a conectar son : MOSI ., MISO ., SCK ., RESET (o RST) y GND
Los terminales +VCC y GND de alimentacion del microcontrolador a programar ., es aconsejable en todos los casos que sea con fuente aparte o externa
Si bien el programador SI-PROG provee el +VCC y GND al micro controlador ., de acuardo a las PC que se conecte puede o no puede proveer el voltaje adecuado en la terminal DB9 ., es mejor alimentarlo externamente
Y tambien es aconsejable unir el terminal GND del programador con GND de la alimentacion externa ., par que tenga referencia de niveles las señales del programador y microcontrolador a programar
Ahora vamos a la placa DIY del USBASP ., ali tenemos las conecciones
usbasp y zif iscp.jpg
Como veran ., ya tiene los terminales necesarios para colocar los cables del SI-PROG ., y con una cuestion adicional.,
Para que se pueda hacer un "UPGRADE" del programa (incluso lo tiene la vercion comercial V2.0) ., hay que puentiar (cerrar) con un jumper el terminal denominado " JP2 " ., que esta marcado con la flecha roja .,
Eso es solo para programarlo ., con el uso normal NO DEBE ESTAR PUENTIADO .,
Vamos a hora al programa gestor de grabacion ., en este caso PONYPROG 2000 ., en micaso la vercion V2.08
Este se descarga desde PonyProg2000 - Download page ., y recomiendo la ultima vercion
Instalar el programa como se recomienda ., y los driver se instalan automaticamente ., una vez hecho esto conectamos nuestro programador DIY en COM1 (o la que tenga su PC) ., y ejecutamos el programa
La presentacion del programa (con sonido y todo ja ja ja )
capture_01262025_163355.jpg
La interfaz de uso ., y como dijimos con el si-prog conectado vamos a configurar el "SETUP" de la interfaz con el programador
capture_01262025_163452.jpg
A continuacion "doble click" en "setup" y nos aparece esto
capture_01262025_163614.jpg
Debemos configurar nuestra interface corectamente ., entonces "doble click "en "interface setup".,no aparece esto
capture_01262025_163900.jpg
Aqui una cosideracion importante ., no importa que variacion de programador SI-PROG serial hemos armado ., todos funcionan con la libreria API del programa ponyprog .,
Si-prog I/O es otra cosa muy ditinta y JDM API es el programador serial para PIC"s
Para verificar que funciona corectamente ., tiene la funcion de prueba
capture_01262025_165609.jpg
Le damos "doble cick" a "PROBE" ., si esta todo correcto aparese esto
capture_01262025_165533.jpg
Si aparece "test error" ., puede ser por dos razones principales ., lamas simple de corregir es que el puerto com no sea elque esta marcado ., puede ser com2 ., o com3 ., o com4 .,si no es eo son las conexiones de nuestro programador en los pines de DB9
Si dio todo OK ., entonces seguimos con la calibracion
En "setup" elegimos la funcion "calibration" con "doble click"
capture_01262025_170910.jpg

Nos aparece esto con una advertencia., que nos indica que ., debemos cerrar todos los programas abiertos ., por ejemplo : navegador de internet ., visor de PDF ., de esquemas .,etc ., solo debe quedar el ponyprog activocapture_01262025_170122.jpg
Cerrado todos los demas programas .,y el unico que queda abierto y funcionado sea el ponyprog ., le damos a "YES" ., al cabo de unos segundos nos aparece esto
capture_01262025_170200.jpg
Esta configuracion que ejecuta el programa es inportantisima ., y es el ajuste de buidos (velocidad) que el programa transfiere a la interfaz ., una vez hecho esto pasamos a lo siguiente
Seleccionar el microcontrolador que vamos a grabar
capture_01262025_172116.jpg
CONTINUA..........
 
Bueno seguimos con esta otra parte .,
Una vez que tenemos nuetro microcontrolador elegido no vamos al paso siguiente ., que es grabar los "BITS FUSIBLES" o "FUSEBITS" que es lo mismo ., esto se hace antes de grabar el programa siempre y es primero
nos vamos al icono del "candadito"
capture_01262025_172819.jpg
Al hacer "doble click" nos aparece esta ventana
capture_01262025_174048.jpg
Al darle "doble click" en "READ" o que es lo mismo que leer
Nos aparecen los fusebit grabados de fabrica o microcontrolador nuevo ., esos viene grabados por DEFAULT
Desde esta parte ., podemos marcar y desmarcar ., las casillas que tiene o no el asterisco ., simplemente poniendo la "flechita" o el cursor de nuestro "mouse" o "raton"
en este caso las dejamos como pide nuestro proyecto que es el USBASP asi
capture_01242025_023907.jpg
IMPORTANTE :
antes de darle al boton "WRITE" o "grabar"que es lo mismo
Vean y reveam las casillas ., consulten la pagina del "fusecalculator"que pase ., lean los archivos "MAKEFILE" ., y el archivo "README" o leeme que es lo mismo ., y si tienen muchas dudas ., mejor consulten en el foro
MENCION INPORTANTE : gracias a todos los que de una u otra manera me enseñaron esto que hoy trasmito ., muchisimas pero muchisimas gracias ., por su tiempo para conmigo aqui en el foro
Dicho esto sigamos
Porque si lo hacen mal o se equvocan puede bloquear el micro controlador AVR ., se pude desbloquear pero hace falta el "fusebit doctor" que no sera tratado aqui
O sea que poniendo un poco de humor ante ese "desastre" o "HUEVO ROTO" ., nos quedamos sin gallina ., a menos que cosigamos otro "huevo"
Las configuraciones correcta del USBASP tratado aqui ., son la de la imagen anterior
como advertencia dire que ninguna casilla debe estar marcada en lo que seria la primera fila "BOOTLOCK y LOCK"
eso bloquearia el microcontrolador y es para otra cosa ., no usada aqui
Entonces encomedados al los santos patronos del silicio ., le damos "write" o grabar
Y ya quedan los fuses grabados
Ahora pasemos a grabar la "FLASH" o programa
capture_01262025_193609.jpg
Le damos "doble click"., en el icono de carpeta amarilla y nos habre una nueva ventana
capture_01262025_195444.jpg
Alli buscamos la carpeta donde tengamos nuestro archivo .hex ., en este caso es usbasp.atmega8.2011-05-28.hex y con "doble click" lo cargamos en la ventana principal
capture_01262025_200541.jpg
Como veran ., se nota claramente que es nuestro archivo para la USBASP
Una vez alli hacemos "doble click" en el icono "write progran memori flash"
capture_01262025_200837.jpg
Y empezar a correr la grabacion
Nos mostrara la ventana de advertencia que nos dice que borrara cualquier contenido anteriar de nuestro microcontrolador ., antes de grabar el nuevo
ponyprog2000_programming_confirmation.jpg
Damos "doble click" en "YES" y comienza la grabacion de nuestro microcontrolador
Aparece esta ventana que dice que esta grabando
programming_progress.jpg
Venos el porcentaje de grabacion y luego pasa a otra ventana que esla verificacion de lo que se grabo
verifying.jpg
Y si todo esta correcto ., nos aprece la ultima que es esta
write_successful.jpg
Si esta todo bien aparece asi ., sino nos dice que hay error
Y con esto terminamos nuestra grabacion
Cerramos el programa .,apagamos nuestra fuente externa., desconectamos el si-prog de la placa a grabar .,
Y al darle alimentacion de nuevo a nuestro montaje veremos con mucha ., pero muchisima felicidad "nuestra hermosa gallina" viviendo
cualquier duda ., o si ven que me falto algo por exp´licar !!! pregunten ¡¡¡
ATTE : juan
 

Adjuntos

  • capture_01262025_172604.jpg
    capture_01262025_172604.jpg
    332.9 KB · Visitas: 1
  • capture_01262025_172819.jpg
    capture_01262025_172819.jpg
    326.2 KB · Visitas: 1
  • capture_01262025_174048.jpg
    capture_01262025_174048.jpg
    67.6 KB · Visitas: 1
  • capture_01242025_023907.jpg
    capture_01242025_023907.jpg
    63.8 KB · Visitas: 1
  • capture_01262025_193609.jpg
    capture_01262025_193609.jpg
    321.9 KB · Visitas: 1
Gracias a nuestro colega , por esta super aportación . Final feliz para el huevo.
Y gracias especiales como siempre por el mejor foro de todos los tiempos , y por la junta y a todos los miembros .
Me causa mucha alegria ., que con un solo integrante del foro le sea util
Valio la pena con creces el tiempo invertido
Esto es el fruto de los integrantes del foro ., que con muchisima paciensa y esmero ., que me tuvieron ., para enseñarme
No nombro a ninguno ., y nombro a todos .,
Porque si me olvido de alguno ., seria un falta de respeto imperdonable de mi parte
ATTE : juan
 
Hola a todos .,
Complementando lo anterior subo al foro tres programas para gestionar el USBASP.,
Son gratuitos y de uso libre
El primero es el PROGISP que justamente gestiona en una de sus funciones un zocalo ZIF
Aparte es el unico de los tres que es PORTABLE ., no nesesita instalacion
colocar la carpeta descomprimida en" archivos de programa" ., ejecutar el exe y ya funciona todo
Progisp172_WPLA.jpg
El segundo es el KHAZAMA ., con una interfaz muy pequeña pero sinple de usar
KhazamaAVRProgrammer.jpg
Y por ultimo el EXTRME BURNER AVR ., este es el unico de los tres que su interfaz se pude colocar en español
Extreme_burner_avr_v1.4.3.jpg
Espero que los disfruten y les facilite sus montajes
ATTE : juan
 

Adjuntos

  • Extreme_burner_avr_v1.4.3_setup.rar
    3.2 MB · Visitas: 10
  • KhazamaAVRProgrammer.rar
    1.5 MB · Visitas: 6
  • Progisp172_WPLA.rar
    3.8 MB · Visitas: 6
Hola a todos
Esta es la pcb final del programador . Ahora tengo para una prueba de conducción un atmega168 así que quiero ver si lo detecta.
En el casode atmega168 ., los pines de grabacion son los de la imagen .,
A tener en cuenta : MOSI ., MISO ., SCK ., RESET y GND
Tambien +VCC y GND que sea alimentado de otra fuente que no sea el programador
icsp atmega168.png
Luego de su programacion ., para su funcionamiento definitivo ., son nesesarias las conexiones basicas para su funcionamiento
atmegaXX8_circuit_schematic.png
ATTE : juan
 
Espero que hayas entendido mal. Quiero decir que quiero leer la placa de circuito impreso atmel que hace, o el programador, que software es el que detecta automáticamente, para ver si funciona o no.
 
Creo que se me puede entender mal. Quiero decir que quiero leer el atmel de la PCB que hice anteriormente, desde el zócalo zif40 , el programador de arriba, que el software se autodetecta, para ver si funciona o no.
 
Sí, por supuesto, aquí está.
Tiene programado lock1 y lock2 ., esos fusibles son protecion contra copia y de seguridad .,
Pero el programa grabado en el microcontrolador ., puede trabajar sin problemas
Si intentas cambiarlos (desmarcarlos) .,cosa que se puede hacer ., pero te borrara el .HEX y .BIN del micro controlador
cosa que no te recomiendo que hagas
 
Atrás
Arriba