Go Down

Topic: Mega Bootloader STK500v2_receiveMessage(): timeout (Read 23117 times) previous topic - next topic

david_fiucci

Salve a tutti
Stavo lavorando su una breadboard collegata ad arduino Mega con su un touch screen, la sua shield, l'alimentatore e due step-down di corrente, uno per il monitor, uno per arduino. Sto lavorando ad un amplificatore di segnale, naturalmente con vari fili penzoloni e sotto tensione.
Forse ho messo in corto qualcosa e si è spento e riacceso il sistema.
Ma adesso ho un problema: Mega non da più il segnale PWM dal pin-out e non carica più lo sketch.
Apparentemente funziona, cioè se lo spengo e riaccendo il programma di grafica gira, ma il segnale non va. Sta a fondo scala, 5V sempre. Allora ho pensato di aver bruciato il pin, provo a ricaricare lo sketch e mi appare la scritta arancione: STK500V2....(): timeout.
Allora munito di santa pazienza scarico la guida del Prof. Menniti sul bootloader, me la leggo, e provo a ricaricare il bootloader da una scheda UNO che avevo. Premetto che sto lavorando con IDE 1.0.4 .
La programmazione non va a buon fine. Durante il caricamento sulla Uno origine i led lampeggiano, ma sulla MEGA destinazione è solo acceso L, mentre TX/RX don danno segni di vita. Mi dice l'errore che posto sotto:
Ora dopo questa prova se accendo MEGA lampeggia sempre il led L e non funziona più per niente.
Qualcuno ha delle idee?
Grazie tantissimo. David.  :smiley-mr-green:

leo72


Grazie a tutti........

Il forum non è il centro assistenza post vendita dei prodotti Arduino, qui nessuno è obbligato a rispondere.  ;)
Tutti noi diamo una mano gratuitamente e compatibilmente con gli impegni personali. E poi ognuno aiuta nel campo in cui è più ferrato, non è che perché ci sono 100 utenti, tutti e 100 sono esperti di elettronica e programmazione, per farti un esempio  ;)

Personalmente ho avuto altro da fare nel pomeriggio, ora sono a lavoro fino alle 2:00 di notte per cui ho qualche oretta da passare  :smiley-sweat: :smiley-sweat:
Se vuoi darmi qualche indicazioni maggiore, posso provare a darti una mano  ;)

testato

#2
Aug 13, 2013, 08:25 pm Last Edit: Aug 13, 2013, 08:30 pm by Testato Reason: 1
non ti arrabbiare david, l'altra differenza tra i forum e la chat e' che possono passare giorni prima che qualcuno risponda

varie cose:
1- che durante il caricamento via ICSP non lampeggi rx-tx e' normale, infatti i dati passano su bus SPI non su bus Seriale
2- se i collegamenti sono giusti potrebbe essere che, nonostante l'errore, il bootloader sia stato scritto, questo vuol dire che hai perso lo sketch originale, consiglio di lasciar perdere il bootloader, tanto non ti serve in ICSP, e di caricare il blink in modo da vedere se ti sta funzionando il caricamento via ICSP
3- se vogliamo invece seguire l'errore stai sbagliando a selezionare il file secondo me. prova passo passo la mia guida, o quella del menny, e vediamo se riesci a caricare blink direttamente
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

menniti

Ho visto ora l'errore sull'altro Topic, forse all'inizio poteva essere un problema di fuse sulla board target, ora mi pare che si sia incasinato tutto.
Quidi occorre ricominciare daccapo sperando che le cose non siano così drammatichecome le descrivi, ma semplicemente tu ti sia incasinato nelle varie prove, succede col nervosismo dei primi insuccessi, si perde la lucidità....
La UNO non può essersi incasinata a meno che, "seguendo le Guide dei vari esperti", tu non abbia girato le immagini al rovescio, o non abbia fatto qualche cortocircuito montando male i jumper.
Quindi la prima prova da fare è scollegare ogni cosa, collegare la sola UNO alla porta USB del PC, selezionare correttamente la sua COM e la sua BOARD nell'IDE e provare a caricare il classico blink.
Scusami David, io capisco il tuo stato d'animo, ma non è giusto che poi tu diventi così sarcastico, al limite della polemica, nei cnfronti di chi finora ti ha dato qualche buon consiglio e si è messo a disposizione. Devi capire intanto ciò che ti hanno detto gli altri ed in aggiunta che siamo praticamente a ferragosto, quindi se qualcuno è costretto a lavoare magari non avrà molta voglia di passare tempo sul Forum e se qualcuno sta risposando, stessa cosa.
Ciò detto, non so che altre Guide hai scaricato, posso dirti che la mia e quella di Testato sono stae ampiamente collaudate e usate con pieno successo da migliaia di utenti; io stesso continuo a fare consulenza gratuita sul blog Open Electronics dove la parte basilare della tecnica è stata tradotta in Inglese.
Il tuo caso è anche particolare in quanto non partiamo da una situazione di normale funzionamento ma da un probabile guasto della mega, e se così fosse non ci sarà Guida che tenga, le Guide aiutano a portare a buon fine tecniche di programmazione, non servono certo a riparare difetti hardware, quindi la nostra speranza è che la tua mega abbia semplicemente il firmware danneggiato, in quel caso riusciremo a sistemarlo, sempre che nel frattempo tu non abbia rotto anche la UNO. Ciao
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

david_fiucci

Allora chiedo "SCUSA" a tutti se ho perso le staffe. Ma datemela buona. Sto lavorando sotto a ferragosto, e forse anche domani.

david_fiucci

Spero di aver ristabilito il giusto clima, cosa che è alla base di ogni buon rapporto.
Per le cose tecniche
Ho rimesso a posto la board UNO. Adesso funziona.
Da premettere: ho scaricato Stampato, rilegato e STUDIATO: la guida del Professore, di Testato, AVRDUDE da Savannah, ArduinoISP.ino.
Io di Arduino ho stampato e rilegato tutto il software che ho sul computer. Ho un'enciclopedia do 50 cm di fogli A4.
Adesso la mia MEGA ha il led L che lampeggia sempre e basta.
Ho Provato a ricaricare il bootloader, ma non ha funzionato. Ah Michele grazie: non sapevo che TX/RX non dovesse lampeggiare.
Comunque ho anche installato i led come dice su ISP, ed ho cambiato la porta 9 (che è bruciata) con la 6.
Ho visto che l'errore più o meno significa che le board non si vedono ( 0x1e000  0xff!=0x0d)
Ho verificato con il tester Vcc, GND e RESET. Ma non so come verificare MISO, MOSI e SCK, vorrei assicurarmi che non ho i pin bruciati.
Ciao Grazie.

david_fiucci

Domanda:
MISO, MOSI SCK fanno capo ai pin 50, 51 e 52 su MEGA , ho verificato con il tester una tensione di 0.1 V come su altri svariati pin digitali
Significa che i pin sono a posto?

leo72

Mettendo il pin alto, vedi 5V? Pilotando un LED noti differenze di luminosità rispetto ad altri pin?

david_fiucci


1- che durante il caricamento via ICSP non lampeggi rx-tx e' normale, infatti i dati passano su bus SPI non su bus Seriale
2- se i collegamenti sono giusti potrebbe essere che, nonostante l'errore, il bootloader sia stato scritto, questo vuol dire che hai perso lo sketch originale, consiglio di lasciar perdere il bootloader, tanto non ti serve in ICSP, e di caricare il blink in modo da vedere se ti sta funzionando il caricamento via ICSP
3- se vogliamo invece seguire l'errore stai sbagliando a selezionare il file secondo me. prova passo passo la mia guida, o quella del menny, e vediamo se riesci a caricare blink direttamente

Testato è te che devo ringraziare per la dritta su TX/RX.
Che significa lo sketch originale? che devo riscaricare la libreria?
Come faccio a caricare via ICSP ? cioè devo fare "Carica con un programmatore" ?
Poi mi dici che ho sbagliato a selezionare il file, perchè ce ne sono diversi? cioè da File/ Esempi/"ArduinoISP" , si potrebbe sbagliare?
Cioè le mie sono domande, non osservazioni...... Sto cercando di capire...
Ciao

david_fiucci


Mettendo il pin alto, vedi 5V? Pilotando un LED noti differenze di luminosità rispetto ad altri pin?

Ma per mettere il pin ALTO devo caricare uno sketch. Allora avrei risolto il problema.
Si può fare in altro modo?

david_fiucci

Allora:
Ho messo il tester tra i pin (50, 51, 52) e GND mentre caricava il bootloader, ho messo anche sui pin 0 e 1 cioè RX e TX, per verificare se funzionano, difatti registro delle tensioni oscillanti tra 0.2 e 2.5V. Su TX/RX addirittura 4V fissi . Credo quindi che i pin difatti ricevano il segnale dalla Board UNO. A questo punto dovrebbero andare direttamente dentro al processore?

leo72

Ah, scusa. Non ricordavo. La tensione che leggi è quella di un pin "a riposo", configurato cioè come input.
Potrebbe voler dire tutto come nulla, solo con quel valore è difficile.

Sulla MEGA i pin 50/51/52 sono quelli da usare. Poi devi collegare la massa in comune fra i 2 Arduino.
Non ti scordare il collegamento fra il pin 10 della UNO ed il pin RESET della MEGA, altrimenti non riesci a programmare il chip.

menniti

Allora, la programmazione ISP e quella seriale sono due cose totalmente differenti, collegando UNO e MEGA via ISP la seriale della mega è totalmente esclusa, ovvio che i led non devono lavorare.
Il test da fare è questo:
1 - lascia collegata sola la UNO all'USB del PC e scollega tutti i cavetti dalla MEGA
2 - seleziona Arduino UNO e caricagli dentro lo sketch ArduinoISP, in questo caso lampeggiano tx/rx della UNO durante il caricamento, come sempre
3 - con la massima attenzione collega UNO e MEGA secondo le mie indicazioni (par.2A2 pag.16)
4 - seleziona ora nell'IDE la board Arduino MEGA (il tuo modello preciso)
5 - esegui il comando Tools - Programmer e seleziona "Arduino as ISP"
6 - esegui il comando Tools - Burn Bootloader
dovresti vedere lampeggiare il LED 13 di Arduino UNO durante la programmazione; lascia perdere i LED previsti per l'ISP, inutile aggiungere variabili al problema ignoto, come ci insegna la ricerca  ;)
Se la procedura va a buon fine dovremmo aver ripristinato la MEGA, se non va a buon fine puoi fare un estremo tentativo:
I punti 1-5 come sopra, poi
6a - esegui il comando File - Carica con un Programmatore
in questo modo tentiamo il caricamento diretto di uo sketch ISP, ma la board originale non è l'ideale, però ci sefve leggere il messaggio d'errore, ammesso che non vada a boun fine.
Buon lavoro
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

david_fiucci

Allora Caro Michele.....
Il caricamento del bootloader non è andato a buon fine, solito errore, allora ho caricato "Carica da programmatore" il programma ArduinoISP.ino ed è andato tutto a posto. Mi da anche tutta la memoria disponibile. L'avevo già provato prima comunque. Però adesso il led 13 è fisso acceso. Come era già accaduto. Ho provato ad attaccare allora direttamente MEGA alla USB e caricare Blink.ino e non va. Mi dice errore timeout, durante il caricamento la tensione sui pin 0 e 1 era di 4.5V fissa ma i led non lampeggiavano. Adesso se lo stacco e riattacco non fa il blink.
Cioè sembra sia bloccato.
Prima avevo provato a caricare Blink.ino con "carica con un programmatore" . Stesso risultato di ora.
Un bel rompicapo estivo....
Ciao

david_fiucci

Scusate ma non esiste un programma test per verificare la scheda? ( certo lo dovresti caricare )
O delle procedure per verificare l'integrità? Non ho trovato nulla a riguardo.
Ma si può cambiare il micro? E' in SMD. chi lo sa fare?

Go Up