Resettare Fuses su Atmega2560

Ciao raga ho appena combinato un'altra delle mie, ho cambiato il cristallo da quello originale a 16 Mhz con uno da 18.432 Mhz. Fin qui tt ok, funzionava da dio.
Se non che ho sbagliato a impostare i fuses che selezionano il clock è ora non va più nulla.

Ho provato anche con il programmatore MKII ma nulla, è morto.

Qualche idea su come resuscitare l' ageggio?

Spiega meglio cos'hai fatto a livello hardware e software, altrimenti è difficile dare una mano.

Eh già io stavo per dire: Vacci di HV ]:smiley: ...però poi pensandoci è come ha detto Leo :slight_smile:

ratto93:
Eh già io stavo per dire: Vacci di HV ]:smiley: ...però poi pensandoci è come ha detto Leo :slight_smile:

La MEGA ha il chip non estraibile. Se ci vai di HV sai bello col segnale a 12V che dalla linea del reset si diffonde sulla schedina sbruciacchiando anche l'Atmega16U2 ]:smiley:

Con un programmatore HV riesci a resettare i fuse anche a ATmega bloccati.
Ci sono circuiti per gli ATmega DIL che viene messo su un zoccolo Arduino-based AVR High Voltage Programmer | MightyOhm , oppure il progetto di Michele Menniti: http://arduino.cc/forum/index.php/topic,104478.0.html
Non so come fare se é un ATmega2560 daldato sul Arduino MEGA.
La programmazione HV consiste nel dare 12V sul pin reset con una tempistica ben precisa e usare gli altri pin come interfaccia paralella.
Come detto non lo ho mai visto fare sul ATmega1280 o 2560.
Ciao Uwe

Bella Grana.

In pratica o butto tutto o fondo il 16U2. =(

Edit:

Potrei anche rinunciare alla programmazione tramite usb, uso l' mk2, taglio la pista del reset che va al 16U2.
Cosi dovrebbe rimanere sano e continuare a farmi da trascriver usb.

Resta il problema che non so se funzioni il metodo sul 2560

Il ArduinoMEGA2560 ha un ponticello da separare denominato "reset en". Si trova vicino ai condensatori e alla presa dell' alimentatozione. Se interompi la pista tra i due retangoli isoli il ATmega16u2 e non dovresti romperlo. Dopo puoi collegarli con una goccia di stagno.
Sulla modalitá di fare i HV Programming devi consultare il datasheet del ATmega2560

Ciao Uwe

Ma prima di arrivare all'HV....

leo72:
Spiega meglio cos'hai fatto a livello hardware e software, altrimenti è difficile dare una mano.

:wink:

In pratica ho sostituito il cristallo da 16 Mhz con uno da 18,432. Sto facendo un progettino che usa parecchio le seriali.

Curiosando nella sezione dei fuses su Eclipse ho settato F7 5F FF; dove F7 sta per Full Swing Oscillator 16K CK + 65 ms; Crystal Osc; slowly rising power.

Di default dovrebbe essere FF cioè Ext. Crystal Osc 8.0- Mhz.... ecc...

Tutto qua, ho cambiato solo il low byte.

Avendo "solo" cambiato il fuse basso hai cambiato il tipo di generatore di clock che l'Atmega si aspetta di trovare sui pin XTAL1 e XTAL2.

Adesso si aspetta un oscillatore mentre tu hai un risuonatore. E' un problema. Bisogna operare di High-Voltage per resettare i fuse. Ma ti serve un programmatore esterno, forse con il tuo MKII puoi farlo, non lo conosco bene. Assicurati che sia capace di mandare un segnale a 12V sul pin di reset. E di tagliare la pista RES-EN come ha detto Uwe.

EDIT:
oppure, visto che hai già dissaldato il risuonatore originale, togli quel quarzo che hai montato e procurati un oscillatore di qualunque valore e usa quello per riattivare il micro, poi riprogramma il giusto fuse.

Presumo che stai lavorando con un ATmega su un tuo circuito e non sul Arduinno MEGA 2560?
Ciao Uwe

E' il mio arduino da battaglia :slight_smile:

Mi ci sono affezionato, mi dispiacerebbe buttarlo :slight_smile:

MarioMass:
E' il mio arduino da battaglia :slight_smile:

Mi ci sono affezionato, mi dispiacerebbe buttarlo :slight_smile:

Disallda il quarzo che ci hai montato e collega provvisoriamente un oscillatore.

MarioMass:
E' il mio arduino da battaglia :slight_smile:
Mi ci sono affezionato, mi dispiacerebbe buttarlo :slight_smile:

Ma il Arduino MEGA2560 non monta un quarzo sul ATmega2560, ma un risuonatore. Hai cambiato il quarzo del ATmega16U2 programmato per l'interfaccia USB-seriale?
Per capirci http://arduino.cc/en/uploads/Main/ArduinoMega2560_R3_Front.jpg il risuonatore é quel rettangolino metallico sopra il piedino dei 5V. Il quarzo da 16Mhz vicino al connettore USB é quello per il ATmega16U2. Avendo cambiato il quarzo potrebbe non funzionare piú il collegamento USB.

Avendo giocato con i Fuse puoi comunque aver bloccato il ATmega2560.

Ciao Uwe

Si ho dissaldato il risuonatore, quello microbico, sopra ai pin dei 3.3 e i 5V

Anche se il risultato è un pò delicato è venuto bene.

Penso che mi prenderò un avr Dragon o qualcosa del genere, costa 50$.

Supporta l' HVSP, anche se non ho ancora trovato in giro la conferma per il 2560.

Ma che vada lo uso per il debugging, Vi faccio sapere se risolvo con quello. :grin:

La programmazione tramite HV è quasi impossibile da applicare con il micro montato sul circuito, oltre alla questione 12V è necessario collegare molti pin, toccherebbe dissaldare il micro metterlo sull'apposito zoccolo per smd (solo lui costa più 60 Euro) e poi risaldarlo sulla scheda, alla fine costa meno una MEGA2560 nuova o più semplicemente sostituire il solo 2560 se si è in grado di farlo.
Però in questo caso il problema è sicuramente nelle capacità di carico visto che ha settato il clock come full swing, che è sempre un modo per quarzo o risonatore con la differenza che l'opamp interno lavora in modo rail to rail, prova a rimontare il risonatore originale e quasi sicuramente Arduino ti riparte.

Sono riuscito a ripristinare i vecchi fuses XD

Ho dovuto usare avrdude in modalità terminal e impostando l' sck a 1500 è riuscito a riprogrammare

avrdude -c avrisp2 -p m2560 -P "usb" -t -F

sck 1500;

w efuse 0 ValoreHEX

w hfuse 0 ValoreHEX

w lfuse 0 ValoreHEX

Complimenti! La caparbietà è la strada per la vittoria :grin:
Una curiosità, ma avevi provato a rimettere il risuonatore originale, come consigliato da Astro?

uwefed:
Il ArduinoMEGA2560 ha un ponticello da separare denominato "reset en". Si trova vicino ai condensatori e alla presa dell' alimentatozione. Se interompi la pista tra i due retangoli isoli il ATmega16u2 e non dovresti romperlo. Dopo puoi collegarli con una goccia di stagno.

Ciao Uwe

sicuro di quello che hai detto qui?

Pensa se sto povero cristo ci metteva una goccia di stagno .... e quando ce lo levava più

Ps: sulla 2009 c'e' un errore per forza quei 2 nodi su una pista continua non ha molto senso :slight_smile:

Paolo, era il jumper che ti consigliavo di cercare, perché parli di errore? Nella prima immagine il jumper serve per mandare a massa l'UGND, nel secondo caso, una pista in "parallelo" ad un jumper significa che il jumper c'è ed è in corto; infatti ti consigliavo di trovarlo ed interromperlo. In che consiste l'errore?