[RISOLTO]Problema comunicazione Mega2560 con Windows 7

Hi guys, ho un problemino da risolvere, cercherò di mettere quanti più dettagli possibili, con l'unica premessa che precedentemente funzionanava tutto e non ho cambiato nessuna impostazione.

Utilizzo:

Arduino Mega2560 e Windows 7 64bit Home Premium

L'errore che mi restituisce è:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): can't communicate with device: resp=0x01

In pratica non posso uppare niente, ho seguito queste istruzione per un ipotesi di ripristino:

  1. Open boards.txt and find
    mega2560.upload.protocol=wiring

  2. Replace this string with
    mega2560.upload.protocol=stk500v2

  3. Save the file and restart IDE

  4. In main menu Tools->Programmer please change AVR ISP MKII to AVR ISP

Ma non è servito, disistallato driver e reinstallati, riavvio pc ma niente.

Provate versioni: 1.0 - 1.0.3 - 0003 - 0023

È un problema abbastanza comune con il Mega non ho trovato soluzioni che siano esaudienti.

Stanco di leggere tra mille topic in inglese ho deciso di provare a chiedere aiuto ai connazionali <3

Reinstallato tutto con Arduino 0021 ma restituisce sempre un errore:

avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500v2_command(): unknown status 0xc8
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500v2_command(): unknown status 0x01
avrdude: stk500v2_disable(): failed to leave programming mode

I LED tx/rx si accendono quando invio il programma e quando mi restituisce l'errore.

Ritornato alla versione 1.0.3

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): can't communicate with device: resp=0x01

LED: L - L - RX - L pausa TX+RX

La cosa che mi da più noia oltre al fatto che inizialmente funzionava è che ho 3 pc: Win7 WinXP e WinVista e non funziona con nessun OS.

*Lele

Con Arduino 0022 restituisce:

avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500v2_command(): unknown status 0x04
avrdude: stk500v2_cmd(): failed to send command
avrdude: stk500v2_command(): unknown status 0x04
avrdude: stk500v2_cmd(): failed to send command
avrdude: stk500v2_command(): unknown status 0x04
avrdude: stk500v2_cmd(): failed to send command
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

avrdude: stk500v2_command(): unknown status 0x01
avrdude: stk500v2_disable(): failed to leave programming mode

Dal momento che il rivenditore non mi sa dare spiegazioni, qui sul forum nessuno sa niente e girando il web compreso il forum inglese ho letto di altri che hanno problemi con Arduino Mega Suck 2560 ho deciso di utilizzare la mia scheda come "paletta sbrina vetri" proprio ieri ho lanciato il programma analogico hand by glass diretto e ha funzionato egregiamente, forse le forme di un Arduino Mega Suck sono un po troppo forti, ma tutto sommato fa meglio questo che comunicare con il pc.

Sempre ieri, tornato a casa l'ho portato di sopra con me per pulirlo, perchè è una paletta delicata e già che c'ero ho provato a collegarlo al pc con OS Windows7 e non so per quale assurda ragione ha funzionato.

Tutta sera ho giocato con c e mi sono divertito a fare qualche programmino. Premetto che per paura di un cambio di impostazioni o sa il diavolo cosa ha dentro Arduino Mega Suck non ho spento il pc ne scollegato la "paletta", tuttavia questa mattina ha ripreso a non funzionare.

Il software Arduino Suck 1.0.3 restituisce questo errore:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

Prima di lanciare definitivamente Arduino Mega Suck dalla finestra per valutarne l'aerodinamicità vorrei fare un ultimo tentativo chiedendo a Voi.

Se è possibile trovare una soluzione o se qualcuno ha mai trovato una.

Hai verificato la porta com su gestione risorse e quella selezionata nell'IDE?

Si, COM30 stessa sia per l'IDE che dal pannello di controllo.

Ho anche provato a cambiarla, prima dalle avanzate in gestione driver e poi sul software Arduino suck.

(grazie per averci provato. Sotto il prossimo!)

Hai provato di usare un altro cavo USB
Ciao Uwe

Si, ho provato ad utilizzare sia il cavo di serie (che mi hanno dato insieme all'Arduino Suck) che il cavo della stampante che so per certo funzionare ma non è cambiato molto.

Credo sia un problema nell'installazione dei driver piuttosto che di settaggio software.

Spack:
Credo sia un problema nell'installazione dei driver piuttosto che di settaggio software.

Hai provato la scheda su un altro computer e/o su un altro SO?
Se è la scheda ad areve i problemi, i problemi te li da anche su un altro computer/SO. Se invece è il tuo computer ad averli, cambiando sistema la scheda dovrebbe funzionare.

Spack:
La cosa che mi da più noia oltre al fatto che inizialmente funzionava è che ho 3 pc: Win7 WinXP e WinVista e non funziona con nessun OS.

:wink:

Ho "risolto" il problema con il mio AtMega2560 collegandolo quando fa l'accesso a Windows, in particolare a richiesta password di rete.

Non so dirvi come mai questo bug, tra le varie prove ho semlicemente notato che se collego l'HW in quel momento posso uppare senza problemi. Con l'unica pecca che non posso staccarlo, quindi devo fare i collegamenti tenedolo in tensione.

Grazie a tutti quelli che hanno provato ad aiutarmi.

*Lele

In poche parole devi alimentarlo esternamente per riuscire a fare il Upload?
Cosa hai attacato al Arduino come elettronica?
Ciao Uwe

No, lo alimento dal pc.

Il problema è che mi dava errore quando dovevo uppare il programma e non potevo quindi comunicare con Arduino.

Ora, collegando l'Arduino alla richiesta della password di rete (con cavo USB type-b) il software Arduino 1.0.3 funziona perfettamente. Se stacco il cavo USB e lo ricollego con OS in funzione mi ridà l'errore di cui sopra.

L'arduino viene alimentato dal cavo USB. Riscontro l'errore a prescindere dall'elettronica attaccatta all'Arduino, ovvero libero da tutto caricando l'esempio "Blink" non riesco comunque a uppare se collego il cavo post psw di rete.

*Lele

Quindi sembra un problema di permessi di accesso alla porta, mi par di capire.
Però non so aiutarti perché uso Linux: qui saprei dirti cosa fare per dare i permessi di accesso alla scheda, su Windows non ne ho la più pallida idea.

Io sono un web designer e conosco le basi di Windows, ho provato a settare una porta ex-novo per indirizzarla all'Arduino ma avevo comunque il problema...non saprei proprio.


O.T.: Perchè su un cubo di led con anodo comune per colonna e catodo comune per livello utilizziamo i transistor per i livelli (e quindi sul catodo)?


Perché la corrente che entra nel cubo deve poi anche uscirne.
Se tu fai entrare tutta la corrente di una colonna in un unico pin lo danneggi nello stesso identico modo in cui lo faresti facendogli erogare la stessa quantità di corrente.

leo72:
Perché la corrente che entra nel cubo deve poi anche uscirne.
Se tu fai entrare tutta la corrente di una colonna in un unico pin lo danneggi nello stesso identico modo in cui lo faresti facendogli erogare la stessa quantità di corrente.


Non basterebbero dunque le resistenze ovviando l'utilizzo dei transistor?

No perché devi multiplexare il cubo per livello, altrimenti dando corrente al 1° led, in realtà accendersi il 1° led di ogni livello.
Le resistenze limitano la corrente per i singoli led, ma poi TUTTA la corrente di un livello deve uscire da qualche parte. Il caso peggiore è appunto l'accensione di tutti i led di un livello. Tutta la corrente, anche se limitata dal fatto che stai multiplexando il cubo, quindi accendendo i led per brevi periodi, confluisce in un un'unica uscita. Quell'uscita può ricevere una corrente superiore a quella assorbibile da un pin. Ecco perché mettono i transistor.

Ok, ci sono!

Thank u!