Impossibile caricare sketch dopo un collegamento bluetooth

Ciao a tutti, ho un arduino mega su cui non riesco a caricare piu nessuno sketch e ottenendo errore di timeout. Uso un FTDI , ho provato a selezionare tutti i programmatori nelle opzioni di arduino ( mi ricordate quale sarebbe quello corretto?) ma nulla . I led di stato sull FTDI rimangono spenti lampeggiando solo il rosso ogni 6/7 secondi.

Collegando l'arduino al pc tramite FTDI per la lettura dei dati degli accelerometri ad esso collegati pero' tutto funziona e sono anche in grado di scriverci dati . Avete idea di cosa abbia combinato?

Grazie Andrea

Se stacchi i collegamenti esterni ai pin 0 e 1 della MEGA e la collega tramite il cavo USB, viene riconosciuta dal PC? riesci a programmarla in quel modo? Il programmatore è normalmente "AVRISP mk II". Ma è ininfluente, mi pare, per la programmazione via seriale.

Scusa ma sono abbastanza ignorante in materia. Mi potresti spiegare cosa dovrei provare a fare? La scheda è questa http://quadcopter.netreadydesign.com/index.php/equipment/flyduino-mega

Grazie Andrea

... ci dai anche il link del FTDI programmer che usi ?

Guglielmo

Sarebbe utile anche lo sketch usato e come hai fatto i collegamenti. Se usi la seriale 0 per la trasmissione dei dati e la trasmissione inizia non appena lo sketch parte, è altamente probabile che l'Atmega2560 di quella scheda apra la seriale e la occupi in trasmissione. In questo caso il PC non riesce più ad aprire anch'esso la seriale in trasmissione per inviare lo sketch perché è occupata dall'Atmega2560.

Se questo fosse il caso, dovrebbe bastare la manovra d'emergenza: http://forum.arduino.cc/index.php?topic=59668.msg429965#msg429965

L’FTDI che utilizzo è questo.

In allegato uno schema della scheda dove sono indicati i vari collegamenti.
Qui invece lo sketch https://code.google.com/p/multiwii/downloads/detail?name=MultiWii_2_3.zip&can=2&q=

La cosa che vorrei sottolineare è che tutto funzionava alla perfezione prima che provassi a fare un upload della sketch tramite bluetooth.
L’ftdi e i collegamenti sono corretti , anche perchè tramite la stessa seriale riesco sia a leggere i dati dei giroscopi e degli altri sensori ,sia a scrivere sulla scheda i setaggi per i motori le altre variabili.

PS: ma tu come cerchi di riprogrammare la scheda? Tramite seriale oppure tramite ISP? Non ho capito questo. Se la scheda in oggetto non ha oppure ha perso il bootloader, da IDE col semplice "upload" lo sketch non ce lo carichi più. Devi o riscriverci sopra il bootloader oppure programmarla tramite ISP.

Una premessa , sono un utilizzatore piuttosto stolto di arduino , nel senso ce faccio cose per abitudine , perchè ho imparato cosi' , senza sapere cosa c'è dietro o come si chiamino esattamente le cose. Per programmare la scheda ho usaato sempre lo stesso metodo .

PC windows- USB- FTDI - Seriale della scheda. Compliando e caricando il programma con il software arduino. ( quindi credo seriale giusto?) La scheda funzionava correttamente prima ci provassi a caricare lo sketch tramite bluetooth! Il boatloader dovrebbe essere quello di un normale arduino mega giusto?

Nel caso debba ricaricare il bootloader farei cosi' è giusto? Trasforamare un arduino uno che ho in casa in isp ( Con l'usbasp che ho mi viene fuori spesso errore di sincronizzazione e che dovrei aggiornarlo) collegarlo ai sei piedini isp ( fra l'altro gli unici che ho dissaldato :-( ) Collegarlo ad arduino settando arduino isp come programmer. selezionare la scheda destinazione giusta alla voce board nel mio caso mega 2560 avviare l'upload.

Giusto?

Se è un problema di seriale occupata, prova prima con la manovra d'emergenza. Se l'Atmega2560 di quella scheda occupa la seriale il PC non può spedire lo sketch.

Se non funziona, riscrivici sopra il bootloader. Sì, ti serve un altro programmatore. Va bene l'USBasp che hai (meglio dell'ArduinoISP: questo sketch pare abbia dei problemi a scrivere il bootloader sugli Atmega2560.

Per caricare il bootloader posso farlo da arduino selezionando come board la mega2560 o devo usare avrdude da linea di comando?
Ho dato un occhio a un paio di tutorial , dove si parla di jumper da settare sull’usbasp. il mio ne ha solo uno , mi sai dire che ne devo fare?
Questo è il mio usbasp.

20131203_192405.jpg

Provato a ricaricare il bootloader via usbasp con il software arduino , controllato le connessioni mille volte ma ottengo questo errore.

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Ho letto qualche tutorial per usare un arduino uno come ispprogrammer, mi pare di aver capito che devo mettere un condensatore da 100nF interponendolo fra vcc e reset sul mega va bene come nello schema alllegato?
In pratica spello il filo del 5 volt ci saldo il condensatore e l’altra cambetta la metto nel reset…giusto?

P.S per essere sicuro ho provato l’ftdi su un arduino pro mini e carica correttamente.

ArduinoUno_R3_Front_450px.jpg

Se non vuoi aggiornare il firmware dell'USBasp, usa l'Arduino UNO come programmatore caricandoci sopra il software ArduinoISP, tentar non nuoce. Ah, se il tuo è un modello R1 ti serve quel condensatore, se è il modello R3 non serve. Se è il modello R2 serve solo nei modelli delle prime serie, verso la fine della produzione hanno aggiornato il bootloader (lo stesso della R3) per cui quel C non occorre (serviva per un problema di autoreset del booloader).

Qualche aggiornamento:
Ho aggiornato l’usbasp all’ultimo firmware, avevo delle difficolta dato che il jumper J2 non era evidente ma era da saldare. comunque fatto
Colelgo usbasp e mega , , burn bootloader, ma non c’è comunicazione .
vado a controllare i collegamenti e mi accorgo che la piazzola RST è completamente andata.
Purtroppo il ragazzo che mi ha dato la scheda ci aveva rimosso malamente i pin e incollato sopra i sensori :frowning:

Puo’ essere che dipenda da questo che usbasp a mega non comunichino nemmeno?
posso recuperare il rst direttametne sul chip? che piedino è?L’idea che ho è di recuperare il rest lungo la pisto o alla peggio sul piedino del chip. Ho fatto altre saldature su piedini piccoli cosi’ e credo di farcela con un pochino di pasta e flussante. mi basta una saldaturina che tenga giusto per caricare il bootloader…che dite?

Piuttosto che armeggiare col piedino dell'ATmega, puoi prendere il reset dalla piazzola del connettore FTDI, il reset dovrebbe essere il primo.

Ce lìho fatta , grazie mille a tutti , Paolo , purtroppo mi sono fatto prendere dalla fretta e ho tupidamente saldato il reset sul piedino , tutto bene , ma se avessi atteso il tuo consiglio sarebbe stato parecchio più semplice:-) TI confermo che il piedino è il primo c'èra pure scritto !! Mi sento proprio scemo :-)

Cmq ho riportato il piedino al suo posto e fissato il filino con in puntono di colla a caldo. Si dovesse mai staccare le riprendo dalla porta ftdi di sicuro.

Claustro:
Si dovesse mai staccare le riprendo dalla porta ftdi di sicuro.

Si dovesse mai staccare, faresti meglio a ricomprare la schedina visti gli accrocchi che ci avete fatto sopra :stuck_out_tongue_closed_eyes:

Accrocchi !? :grin: è praticamente nuova ...un filo saldato con estrema professionalità su un piedino lo chiami accrocchio?? :astonished: :grin: :grin:.

Comunque ancora c'è qualcosa che non va , caricato il bootloader, ma posso caricare da seriale solo un sketch , dopodicè torna tutto sordo come prima e devo ributtarci su il bootloader un altra volta per poter ricaricare un'altra volta da seriale.. che puo' essere...un accrocchio? XD