Comportamento arduino mega

Sono in possesso di due mega, una rev 2 ed una rev 3 , mi sono accorto che sulla rev 3 il led del pin 13 dopo aver caricato uno sketch rimane acceso, e possibile spegnerlo tramite software ma ogni volta che carico un prog nuovo si riaccende, questo sulla rev 2 non succede per poterlo accendere devo farlo volontariamente tramite software.

E normale o è un problema??

Grazie vic

No, non è normale. A meno che il programma non attivi l'uscita 13, il LED dovrebbe rimanere spento,

La revisione 3 della Mega è come la revisione 3 della Uno, il problema alla base di tutto è il nuovo modo di pilotare il LED. Fino alle versioni R2 delle schede Arduino, veniva usata una linea parallela sul pin 13 con una coppia R+LED. Questo però portava a sottrarre corrente al pin D13 quando questo era messo in output. Dalla versione R3 in poi è stato adottato un op-amp in modalità inseguitore di tensione che "sente" il segnale sul pin ed accende il LED di conseguenza. Il problema di fondo è che all'avvio tutti i pin del microcontrollore sono impostati come input ad alta impedenza: la piccolissima corrente che scorre è sufficiente a far credere all'op-amp che ci sia una tensione sul pin. Sarebbe bastata una R di pull-down per ovviare al problema ma non è stata messa. Quindi se il programma che carichi sulla scheda non manipola quella linea, il LED è acceso perché il pin è in alta impedenza.

Via software puoi impostare il pin come output: vedrai che il LED si spenge. Se vuoi farlo da bootloader, puoi provare ad adottare la soluzione che ho usato io per la UNO. Ho modificato il bootloader in modo da impostare il pin come output con segnale low: in questo modo il led è fin da subito spento. Devi però ricompilare il bootloader e ricaricarlo sulla scheda.

E' come dice Leo. Se il pin non viene utilizzato viene lasciato in alta impedenza e quindi l'ingresso dell'amplificatore operazionale a cui è collegato il led rimane flottante. Probabilmente la carica che accumula sull'ingresso è sufficiente per tener acceso il led.

Una soluzione più "grezza" di quella proposta da Leo è quella di mettere una resistenza da 1 Mohm tra il pin 13 e GND (pulldown sull'ingresso non-invertente dell'opamp). 1 Mohm perchè così non si sottrae troppa corrente quando si vuole usare il pin 13 per fare altro e sulla uno per non influenzare sulle prestazioni dell'SPI.

Allora é una cosa che avrei dovuto intuire pure io. =( =( =( =( Ciao Uwe

uwefed: Allora é una cosa che avrei dovuto intuire pure io. =( =( =( =( Ciao Uwe

La paternità della scoperta è tua, lo ammetto :P

Grazie a tutti della risposta, più che esauriente, e soprattutto la mia mega non e rotta.... Devo dire che prima di leggere le risposte anche a me mi era venuto il sospetto che la mega non fosse rotta, primo perché se un pin e rotto non e possibile pilotarlo via software, il secondo e che se infilo un cavetto nel pin 13 e lo tocco con un dito il led si spegne, dovuto alla alta resistenza del mio corpo....

Grazie a tutti.....

@ Federico Vanzati: una R da 1 Mohm, anche se molto elevata, non creerebbe un riferimento fisso di tipo pull-down sul pin 13? La cosa potrebbe causare qualche interferenza usando tale pin, p.es. per pilotare un transistor PNP? Personalmente convivo senza troppi drammi con un led acceso, visto che al momento opportuno funziona :)

Basta nello sketch ricordarsi di mettere il pin su output nello sketch, oppure caricare il bootloader che a suo tempo ho modificato. Ovviamente bisogna ricordarsi poi che quel pin è un output ma non penso sia un grosso problema, dato che quel pin, proprio per via del led, spesso non è usato a meno che uno non sia a corto di pin.

[quote author=Michele Menniti link=topic=247867.msg1774926#msg1774926 date=1403375549] @ Federico Vanzati: una R da 1 Mohm, anche se molto elevata, non creerebbe un riferimento fisso di tipo pull-down sul pin 13? La cosa potrebbe causare qualche interferenza usando tale pin, p.es. per pilotare un transistor PNP? Personalmente convivo senza troppi drammi con un led acceso, visto che al momento opportuno funziona :) [/quote] Non dovrebbero essere interferenze perché i 5µA che circolano attraverso la resistenza da 1MOhm non disturbano le decine di mA che della corrente base del transistor. L'unica interferenza potrebbe essere se si usa il pin come sensore capacitivo.

Ciao Uwe