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.
david_fiucci:
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
Se vuoi darmi qualche indicazioni maggiore, posso provare a darti una mano
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
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
Allora chiedo "SCUSA" a tutti se ho perso le staffe. Ma datemela buona. Sto lavorando sotto a ferragosto, e forse anche domani.
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.
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?
Mettendo il pin alto, vedi 5V? Pilotando un LED noti differenze di luminosità rispetto ad altri pin?
Testato:
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
leo72:
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?
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?
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.
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
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
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?
Invece del solito blink che è sempre poco probante (sti czz di led lampeggiano sempre di loro a prescindere) scriviti due righe di codice per pilotare un LED in modo "anomalo" con qualche delay strano messo qui e lì, p.es fai un blink di 10 volte a 500ms poi lo lasci fisso per 2 secondi e quindi un blink di 10 volte a 100ms, usa un pin digitale che non sia degli ISP o il famoso 9 che non ti funziona; oppure fai un blink che accenda alternativament una ventina di volte due LED su due pin diversi (tipo semafori arancioni in autostrada), mi raccomando le r di limitazione (la fretta....); e riprova, se la prima volta va e poi non va più è perché dobbiamo creare ua board virtuale specifica, ma prima sinceriamoci che stia andando l'ISP, poi controlleremo i fuse e poi adando vedendo, ma armati di pazienza, io tra poco vado a nanna e i prossimi due giorni starò pochissimo sul Forum, quindi niente scatti d'ira perché urleresti al vento
PS: inutile continuare a provare via USB diretta, ormai è certo che il bootloader non c'è più o è irrimediabilmente danneggiato
riguardo l'smd tu all'inizio ti sei detto pronto a farcela da solo, ecc. ecc., quindi nessuno si è più permesso di toccare l'argomento, ovviamente, specialmente ora che sappiamo che stai lavorando a ferragosto e comunque la cosa ha significato se si appura che il micro è danneggiato, altrimenti rischi diperdere tempo e denaro.
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.
Si Leo i collegamenti sono tutti a posto. Mi sono anche fatto il cavetto ICSP. con il relativo reset al pin 10 del programmatore. Coma da guida del Professore Menniti.
Oddio scusa Michele.
Non mi sono accorto che è mezzanotte.
Pensa che ieri per l'incazzatura mi sono scordato la macchina dentro al parcheggio del centro commerciale che sta qua vicino, di solito se non trovo parcheggio la lascio li, mi conoscono tutti, ci vado tutti i giorni.
Per fortuna i ragazzi della sicurezza mi conoscono e non me l'hanno fatta caricare dal carroattrezzi.....
Pensa un pò !!!!!!!!!
ma figurati mica devi rimboccarmi le coperte, la prova dei due led la fai ora o ci risentiamo domani?
L'ho fatta. Errore timeout
Dai scusa non voglio rompere....