Impossibile eseguire l'upload con Arduino Mega 2560 rev 3

Buongiorno,
da quando sono passato ad Arduino Mega 2560 Rev 3 sto impazzendo... l'ennesimo problema è l'impossibilità di eseguire l'upload. Lo uso su un pc con win XP Sp3 ed Arduino 1.0 software.
Su un altro pc con lo spesso OS funziona bene ma su questo non c'è verso. Parte a fare l'upload, la barra di progresso si riempie di quadratini verdi, arriva fino agli ultimi 2 ma niente... non completa l'upload, neanche se aspetto un' ora. A volte mi dice che è sbagliata la com (COM11), cosi ho preso e l'ho cambiata in COM6, ma niente. A volte va, magari appena acceso il pc, ma dopo un paio di upload riusciti siamo punto a capo.
Che posso fare? Ho reinstallato i driver e anche arduino 1.0 ma nada... =(

Clicca su upload tenendo premuto il tasto SHIFT e guarda un po' nel terminale dell'IDE cosa compare in basso, per capire dove sta il problema.

nell'IDE 1.0 il tasto shift serve per caricare uno sketch usando un programmatore esterno (cancellando il bootloader).

Per abilitare la modalità verbose bisogna mettere la spunta nella finestra che si apre cliccando su File > Preferenze

ok "occhio" direi che va in palla il segnale reset.
Prova a fare il reset manuale quando uppi il codice, in pratica tieni premuto il tasto reset finchè il led TX si spegne, poi lo lasci e subito clicchi su upload.
Ricordati di mettere sempre un delay di almeno 1 secondo prima di scrivere qualcosa via seriale nel setup.

Aggiornamento: Ho cancellato e ri-scaricato Arduino 1.0, ho fatto provato l'upload dello sketch "CardInfo" e la prima volta ha funzionato. Poi ho modificato la libreria sd2Card per adattarlo ad Arduino Mega 2560 ma niente, quando riprovo l'upload si ferma quando mancano un paio di barrette verdi al termine. Mi scrive la dimensione dello sketch e la memoria del controller e poi si pianta. Se io provo a rilanciare di nuovo l'upload riparte e si ripianta.
Ora sono su un altro pc, e qui funziona perfettamente. Si è piantato solo una volta, ho riavviato l'IDE ed è andato tranquillamente.
Il problema non potrebbe essere la libreria SD.h?

se si impalla dopo aver fatto la scritta, allora è un problema di upload. Resetta a mano la scheda. I led TX e RX come sono durante l'upload?

Buondì! Allora, seguendo i vostri consigli ho provato a resettare a mano la scheda come dice lesto ma quando premo si accende solo il led L e non Tx, quindi di conseguenza non si spegne mai. Tenendo premuto reset tutto ha iniziato a lampeggiare e alla fine sull'IDE mi è apparsa questa scritta (ho attivato verbose nelle preferenze):

avrdude: verifying ...
avrdude: 13532 bytes of flash verified
avrdude: Send: . [1b] z [7a] . [00] . [03] . [0e] . [11] . [01] . [01] } [7d] 
avrdude: Recv: . [1b] 
avrdude: Recv: z [7a] 
avrdude: Recv: . [00] 
avrdude: Recv: . [02] 
avrdude: Recv: . [0e] 
avrdude: Recv: . [11] 
avrdude: Recv: . [00] 
avrdude: Recv: | [7c] 

avrdude done.  Thank you.

Ora riprovando a fare l'upload mi da questo messaggio:

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Programmi\arduino-1.0\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM11
         Using Programmer              : stk500v2
         Overriding Baud Rate          : 115200
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: Recv: 
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: Recv: 
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]

E va avanti cosi...che faccio?

Ho scoperto un'altra cosa... mi da problemi con la shield montata... senza shield sembra andare... cosa ne pensate?

che la shield usa i pin 0 e 1, quelli usati anche dalla USB, e quindi interferisce.
se ci dicevi che lasciavi sopra la shield si capiva subito il problema... Quanto si testa un bug, bisgna sempre partire da una situazione "pulita"

Chiedo venia, non ci ho minimamente pensato, pensavo che, nel momento dell'upload fosse un componente puramente passivo.
Quindi se io carico il programma e poi inserisco la shield vado tranquillo giusto?
C'è un modo per risolvere o aggirare questo problema, perchè staccare ogni volta la shield con connessioni annesse mi sarebbe un pò macchinosa come cosa.

9six4:
Chiedo venia, non ci ho minimamente pensato, pensavo che, nel momento dell'upload fosse un componente puramente passivo.
Quindi se io carico il programma e poi inserisco la shield vado tranquillo giusto?
C'è un modo per risolvere o aggirare questo problema, perchè staccare ogni volta la shield con connessioni annesse mi sarebbe un pò macchinosa come cosa.

Beh, teoricamente dovresti caricare il software su Arduino, spegnerlo, collegare la shield e riaccendere tutto; certo che è macchinoso, ma una volta scritto il firmware non hai questa necessità; durante le prove purtroppo ci sta.
Il modo potrebbe essere quello di interrompere con uno switch le due piste tx/rx, oppure si dovrebbe vedere lo schema della shield per capire se è sufficiente aggiungere una o due resistenze di basso valore come ho fatto io in un'occasione similare, ma te la senti di fare queste operazioni?

Grazie Michele per la risposta, in teoria sono perito elettronico quindi dovrei farcela, in pratica speriamo bene XD

Questo è lo schema della shield. Ad rx/tx non è collegato nulla, ed anche sull'arduino ho lasciato i pin vuoti.
Forse dovrei collegare la shield in modo "volante" tanto si tratta di 5-6 collegamenti, solo che la mia paura è che con tutti i fili volanti, e nel prototipo inizio ad averne parecchi, si perdano dei contatti o entrino correnti parassite che influiscano sulle misurazioni effettuate.

9six4:
Grazie Michele per la risposta, in teoria sono perito elettronico quindi dovrei farcela, in pratica speriamo bene XD

Questo è lo schema della shield. Ad rx/tx non è collegato nulla, ed anche sull'arduino ho lasciato i pin vuoti.
Forse dovrei collegare la shield in modo "volante" tanto si tratta di 5-6 collegamenti, solo che la mia paura è che con tutti i fili volanti, e nel prototipo inizio ad averne parecchi, si perdano dei contatti o entrino correnti parassite che influiscano sulle misurazioni effettuate.

Spettacolare lo schema, peccato che non si veda molto bene :grin:
Non sapevo ovviamente quali fossero le tue competenze, quindi scusami, però il senso della domanda non era se tu fossi capace, ma se te la sentivi di "manomettere" una shield, però ora mi pare di capire che la stai costruendo da te, allora il problema non si pone. Ho parlato dei pin tx/rx in quanto l'intervento di lesto sembrava affermare che il problema fosse lì e d'altra parte gli altri pin NON hanno alcuna influenza sull'upload (oltre al reset, naturalmente), quindi forse li hai cambiati ora i collegamenti? Puoi spiegarti meglio, magari postando sul serio lo schema? :sweat_smile:

Lì per lì mi stavo alterando... "porc... ma solo io non lo vedo?".
Poi ho ragionato un attimo sul "chi" ha pubblicato questo commento ed ho capito tutto... :stuck_out_tongue_closed_eyes:

leo72:

[quote author=Michele Menniti link=topic=104797.msg787830#msg787830 date=1336507545]
Spettacolare lo schema, peccato che non si veda molto bene :grin:

Lì per lì mi stavo alterando... "porc... ma solo io non lo vedo?".
Poi ho ragionato un attimo sul "chi" ha pubblicato questo commento ed ho capito tutto... :stuck_out_tongue_closed_eyes:
[/quote]
min... che fama che mi sono fatto, meno male che i miei studenti non sono appassionati di Arduino :grin:

Portate pazienza, il sonno :grin:

http://www.ladyada.net/make/logshield/design.html

In verità ho preso la shield già fatta ma se c'è da modificare qualcosa ci posso provare.
Per il momento usandola con Arduino mega 2560 ed avendo riscontrato dei "problemini" ho collegato i pin analog 4 e 5 (SDA e SCL) con collegamenti volanti ai pin 20 e 21 del mega ed il pin 10 della shield al pin 53 della mega. Questo per poter utilizzare l'RTC ed il chipselect corretti.

Guarda, visto che i pin seriali sono liberi l'unica cosa che potrebbe incasinare Arduino è un problema di alimentazione. Sullo shield (ho letto sul dizionario che il termine è maschile...) c'è un regolatore a 3,3V 250mA che preleva dai 5V di Arduino, oppure se non lo usi devi tenere il jumper JP12 su ON, ma in questo caso l'assorbimento potrebbe dare molto fastidio ad Arduino. Com'è la situazione tua?
Perché non provi a misurare i 5V ed i 3,3V con lo shield collegato e vedi che valori hai?

Il voltaggio sembrerebbe ok, 4,95V e 3,29V quello che mi desta sospetti è il circuito di regolazione della tensione a 3.3 dello shield che puoi vedere in figura a questo link:

http://www.ladyada.net/make/logshield/index.html

credo che la 3,3 V nello shield sia un default, sbaglio?

9six4:
Il voltaggio sembrerebbe ok, 4,95V e 3,29V quello che mi desta sospetti è il circuito di regolazione della tensione a 3.3 dello shield che puoi vedere in figura a questo link:

Data-Logger Shield for Arduino

credo che la 3,3 V nello shield sia un default, sbaglio?

Scusa ma forse non ho ben capito la domanda; comunque da quello che intuisco sullo shield i pad del jumper sono vuoti e c'è il regolatore, per cui effettivamente lo shield sta lavorando con i 3,3V del regolatore che, a sua volta, preleva i 5V da Arduino.
I valori che hai riscontrato sono corretti, è davvero strano che questo shield ti impedisca il caricamento del firmware su Arduino :cold_sweat:

c'è qualcosa collegato a reset, magari è quel collegamento che fa cilecca e crea casini