Go Down

Topic: Problemi driver ATmega16u2 DFU (Read 35145 times) previous topic - next topic

kikko_965


menniti

Ragioniamo...
i fuse attuali sono quelli di Arduino Mega (prima non lo erano.....)
il blink caricato è compilato per la Mega
il led resta fisso
potrebbe essere disturbato dal collegamento ISP, ma non credo.

Ad ogni modo, per scrupolo scollega la mega dalla UNO e collegala direttamente al PC, se il LED comincia a lampeggiare abbiamo un'indicazione, altrimenti persistiamo nel problema.
A prescindere dal risultato della prova (che poi mi dirai), una volta fatta ricollega tutto com'è ora (mi raccomando il collegamento del RESET ]:D)
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

kikko_965

a dire il vero avevo già fatto la prova di alimentare la mega e vedere cosa succede (stesso risultato)
reset.... me la sono meritata.... :smiley-mr-green:

menniti

Secondo me c'è un problema hardware, e può essere di due nature:
1 - l'osciullatore esterno di 16MHz sta dando i numeri
2 - il convertitore USB-seriale manda qualche porcheria al reset.

Kikko, siamo al gran finale, purtroppo, ci resta una sola prova da fare (salvo altre intuizioni :D): il burn bootloader.

Lascia tutto collegato com'è (UNO al PC e mega via ISP)
IDE 0022 (con 1.0.1 la procedura è diversa!)
Seleziona la board MEGA2560
Seleziona la COM della UNO (importantissimo!!!)
Esegui Tools - Burn Bootloader - w/ Arduino as ISP

O funziona e risolviamo o è certo il problema hardware, che sicuramente NON riguarda il micro. Fammi sapere :smiley-sweat:
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

kikko_965

=( =( =(

allora, la situazione è questa,sulla finestra di stato:

avrdude: verification error, first mismatch at byte 0x1e000
              0xff != 0x0d
avrdude: verification error; content mismatch

led della mega lampeggia (velocemente)

menniti

Mi spiace, il problema è certamente hardware.

Do' per scontato che tu abbia risolto la questione del convertitore USB-Seriale, visto che ora ti riconosce la COM, ma il micro risponde correttamente solo se "contattato" via ISP con avrdude: abbiamo letto e cambiato i fuse, scritto uno sketch che dà un qualche segno di vita.
Quando abbiamo tentato di caricare il bootloader abbiamo avuto errori sia con avrdude che con IDE, questo potrebbe indicare un qualche problema nella parte alta della memoria flash, quella appunto riservata al bl, e così sembra dire quel messaggio di errore.

Quindi restano in piedi solo le due possibilità che ti ho detto prima, o il convertitore ha problemi lato micro (quindi funziona solo lato USB) e infastidisce le operazioni, o l'oscillatore del micro non va, o il micro ha problemi sulla parte alta della flash.

Ma via software penso che le abbiamo provate tutte; se tu hai qualche idea e vuoi fare altre prove io sono a disposizione, però temo che a questo punto sia difficile risolvere senza mettere mano alla scheda, forse è proprio arrivato il momento di fartela sostituire :(
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

menniti

MI è venuta in mente un'altra prova, per verificare l'oscillatore esterno, ti va di farla o ti sei scassato?
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

kikko_965

#157
Jul 25, 2012, 10:06 pm Last Edit: Jul 25, 2012, 10:15 pm by kikko_965 Reason: 1
dimmi, domani la farò
ora devo chiudere......
grazie di tutto

menniti

Figurati, allora ti serve un frequenzimetro o un oscilloscopio, il più ridicolo che riesci a reperire, mi pare che dicevi di disporre di strumentazione seria...
Riprogrammeremo il micro in modo da portare su un pin di Arduino Mega la frequenza dell'oscillatore, così abbiamo un altro elemento. E' una cosa che ho fatto svariate volte e funziona benissimo.
A domani e non preoccuparti, grazie a te sto studiando e sperimentando.... ;)
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

kikko_965

Buongiorno Michele,
tanto per capire ho dato un occhiata allo schema elettrico della r3 e vedevo che ci sono due oscillatori, uno sul cip dell' interfaccia USB e l'altro sul micro.
Quando parli di oscillatore esterno a quale ti riferisci? A quello del micro?
Se quello, credo si possa misurare con freq od oscillo, caricare uno sketch che riporti l'oscillatore su un pin non credo che funzioni, altrimenti funzionerebbe anche il blink.
Altra considerazione, da quanto ho capito in tutte queste prove abbiamo (hai) cercato di verificare se la mega era programmata firmware, bootloader.... ed è stato caricato lo sketch blink.
Se fosse uno degli oscillatori, non ci sarebbe un clock e quindi non dovrebbe funzionare o l'interfaccia USB o il micro, a quanto pare l'interfaccia USB funziona perchè viene riconosciuta dal PC, il micro funziona ugualmente altrimenti non si riuscirebbe a leggere i fuse, a caricare il bootloader (sembra non abbia dato errori).
Dà errori solo caricando lo sketch, sarei propenso ad una falla su parte della flash.

Lungi da me fare obiezioni, ma solo stò cercando di capire.

menniti

Come obiezioni? e chi sono io, Re Arduino? (che peraltro, se non ricordo male, è esistito davvero....)
Io ho fatto una serie di ipotesi, tra cui quella
Quote
Quando abbiamo tentato di caricare il bootloader abbiamo avuto errori sia con avrdude che con IDE, questo potrebbe indicare un qualche problema nella parte alta della memoria flash, quella appunto riservata al bl, e così sembra dire quel messaggio di errore.
Quindi non è vero che al caricamento del bl non ci sono stati errori, li abbiamo avuti sia in avrdude che da IDE, se rileggi i test precedenti; invece lo sketch lo abbiamo caricato senza errori, solo che poi non funziona correttamente (LED acceso fisso); io almeno così capisco da quanto hai scritto in questi giorni...

La prova che voglio fare io non è software, bensi hardware. Nel Low Fuse esiste un bit che, se attivato, porta sul pin PORTE 7 la frequenza di lavoro del microcontrollore di Arduino (quindi parlo dell'ATmega2560, peraltro il convertitore ha un quarzo non un oscillatore, se è come Arduino UNO).

Ma effettivamente, se ci fosserro stati errori di tempistica, non saremmo riusciti a caricare nemmeno il blink, quindi penso anch'io che sia una prova inutile. L'unica prova che farei, ma per puro "pionierismo elettronico", non certo per convenienza, sarebbe la sostituzione dell'ATmega2560; ho notato che glissi sempre sulla questione della sostituzione in garanzia, avrai i tuoi buoni motivi :smiley-mr-green:
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

menniti

Leggi un po' questo intervento di Marcus Barnet, chissà che quegli errori non siano dovuti ad una scarsa alimentazione della mega da parte della UNO :smiley-roll-sweat:
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

kikko_965

#162
Jul 26, 2012, 10:13 am Last Edit: Jul 26, 2012, 10:23 am by kikko_965 Reason: 1
Re Arduino? hi hi hi... per me lo sei......
Oggi non ho molto tempo però forse riesco a ripetere le prove di caricamento con alimentazione esterna.

Oscillatori / Quarzi..... conosco la differenza è stata solo licenza poetica. :smiley-mr-green: :smiley-mr-green:

Sostiuzione in garnazia? è la via più breve, ma poi cosa ne capirei.......

menniti


Re Arduino? hi hi hi... per me lo sei......
Oggi non ho molto tempo però forse riesco a ripetere le prove di caricamento con alimentazione esterna.

Oscillatori / Quarzi..... conosco la differenza è stata solo licenza poetica. :smiley-mr-green: :smiley-mr-green:

Sostiuzione in garnazia? è la via più breve, ma poi cosa ne capirei.......

Beh, insomma, io direi che finora esperienza ne abbiamo fatta e tanta, essere arrivati ad una conclusione a mio avviso significa già tanto. Chiaro che a questo punto puoi decidere, anche in modo anti-economico, di andare fino in fondo, sostituendo l'ATmega2560 e poi, in eventuale seconda battuta, il convertitore, però noi Italiani viviamo di princìpi :D
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

kikko_965

Fatto le prove con alimentazione esterna, senza risultato....
visto che abito al 5° piano, gli ho insegnato a volare..... :smiley-mr-green: :smiley-mr-green: :smiley-mr-green:

Go Up