El clon de AVRISP mk2 puede programar Arduino Uno, pero no ATMega328P independiente

1

Tengo una imitación de AVRISP mk2 con la que no puedo trabajar.

Escenario 1: clon de AVRISP mk2 frente a Arduino Uno: funciona

Si tomo un Arduino Uno y le conecto el cable ICSP de 6 pines del AVRISP, ocurre una de dos cosas, ambas como se esperaba:

  • El cable está enchufado en la orientación correcta, y puedo usar avrdude para consultar el estado del fusible y cargar archivos .hex

  • El cable está enchufado al revés y una luz naranja en el AVRISP comienza a parpadear

Escenario 2: AVRminiProg frente a ATMega328P en el panel: funciona

A continuación, coloqué un ATMega328P en una placa de pruebas, conecté la alimentación / tierra y usé cables de puente para conectar los pines de reinicio y MOSI / MISO / SCLK a un cable ISCP de 6 pines. Luego tomo un AVRminiProg, conecto el otro extremo del cable ISCP y conecto la alimentación / tierra (a diferencia del AVRISP, el AVRminiProg suministra 5V por su cuenta al sistema que está programando). Puedo medir los 5 V en el tablero, el ATMega328P funciona como se esperaba y puedo usar avrdude para consultar fusibles / cargar programas.

Escenario 3: AVRISP mk2 clone vs same breadboard: no funciona

Los dos pasos anteriores fueron solo de diagnóstico; mi objetivo real es utilizar el AVRISP para programar el ATMega328P en una placa de pruebas, de modo que pueda suministrar mi propio voltaje (mi objetivo es utilizar 3.3V). Entonces tomo el mismo cable ISCP que en el escenario 2, pero lo conecto al AVRISP en lugar del AVRminiProg. También adjunto 3.3V (de un Arduino Uno, que ya está en el escritorio) a la placa de pruebas.

Sin embargo, el LED naranja en el AVRISP comienza a parpadear inmediatamente, como si la orientación del cable fuera incorrecta; aunque la misma orientación funcionó bien para el AVRminiProg. Si trato de cambiar solo la alimentación y la conexión a tierra, aún no funciona, pero el voltaje entre ellos se reduce a casi nada.

En mi desesperación, en realidad terminé descargando el diseño de PCB del Uno para rastrear los pines ICSP para asegurarme de que estoy cableando las cosas correctamente. Sin embargo, parece que si simplemente conecto la alimentación y la conexión a tierra, y nada más, y de la misma manera que están en el Arduino Uno, con el AVRisp mk2, ya tengo la naranja parpadeando. Sin embargo, al conectar el mismo AVRisp mk2 a los pines ICSP en el propio Uno, funciona como se esperaba.

¿Qué estoy haciendo mal?

    
pregunta Cactus

2 respuestas

0

Mi problema resultó ser causado por una resistencia de pull-up no coincidente en el pin RESET del AVR. Estaba usando una resistencia de 220 ohmios por error. Luego de reemplazarlo con uno de 10 KOhm uno, ahora puedo programarlo con el clon AVRISP mk2.

    
respondido por el Cactus
1

Antes tenía una experiencia similar en la que estaba usando el AVRISP MK2 para un proyecto. Estaba programando un Atmega32 con él y lo había acortado por error. Así que inicialmente, intenté grabar un pequeño código en el Arduino Uno con él y funcionó bastante bien. Pero con el AVR todavía no funcionaba. Así que tomé prestado un USBasp de un amigo e intenté grabar el código en el AVR y funcionó perfectamente bien. Así que escribí un correo a Atmel describiendo el problema y me respondieron que podría haber una posibilidad de que dado que el IDE arduino usa avrdude para grabar el cargador de arranque, tal vez esté usando un controlador diferente para el ISP. De todos modos, sugirieron que el AVRISP MK2 podría estar funcionando mal y me pidieron que lo reemplace.

    
respondido por el Rohan Narlanka

Lea otras preguntas en las etiquetas