Arduino Uno R2 non si avvia più

Dopo un utilizzo moderato ho avuto problemi nell'upload del codice, dovevo riavviare l'uno più volte prima di poter scrivere, poi dopo qualche giorno non si è + avviato. Si accende ma non entra in programmazione e quando ci provo effettua un leggero lampeggio il led rx e poi nessun risultato...

cosa si è rotto? premetto che ho anche acquistato un secondo atmel ma le cose non cambiano

Il chip che hai acquistato contiene già il bootloader versione UNO? Altrimenti non puoi semplicemente sostituirlo e sperare che funzioni.
Detto questo, c'era qualche sketch caricato sopra all'Arduino? Per cosa lo usavi? Hai fatto qualche collegamento errato?

EDIT.
Dimenticavo. Qual è l'errore che ricevi quando tenti di programmare la scheda?
Hai per caso cambiato tipo di scheda dal menu Strumenti/Tipo di Arduino?

E' possibile che sia il condensatore di auto reset C5 da 100nF.

Ho letto che è piuttosto frequente che il suo valore sia inferiore al nominale (o diventi tale) e quindi il segnale di RTS necessario perché Arduino si autoresetti non passi.

Prova a lanciare l'upload di uno sketch e, un istante prima che termini di compilare e passi al upload effettivo, premi il pulsante di reset.

Forse dovrrai ripeterlo un po' di volte perché è difficile sincronizzarsi.

Se ci riesci, allora è sicuramente il condensatore SMD da sostituire oppure puoi provare a mettere in parallelo un'altro condensatore da 100n di tipo non SMD.

Ettore Massimo Albani

cyberhs:
E' possibile che sia il condensatore di auto reset C5 da 100nF.

Ho letto che è piuttosto frequente che il suo valore sia inferiore al nominale (o diventi tale) e quindi il segnale di RTS necessario perché Arduino si autoresetti non passi.

Ti vorrei chiedere delucidazioni sulla tua affermazione: "è piuttosto frequente che il suo valore sia inferiore al nominale (o diventi tale)
Può un condensatore cambiare di capacità? Non è una domanda a trabocchetto, chiedo lumi perché non sono esperto. :sweat_smile:

Caro Leo,

un condensatore normale ha una tolleranza al 20%. Poiché per dichiarare questa tolleranza nella produzione vengono usati metodi statistici del tipo "controlliamo un lotto di produzione ogni X lotti", se sei sfortunato ti può capitare di avere un condensatore che appartiene ad un lotto con una tolleranza superiore.

Se a questo aggiungi che la "vecchiaia" del componente di alcuni lotti può essere raggiunta molto prima di quella naturale, ecco spiegata la mia affermazione.

Pare che un lotto di UNO prodotti avesse appunto questo condensatore che anzichè avere una capacità di 100nF +/-20% aveva una capacità variabile nel tempo (entro pochi mesi diventava molto più piccola)

Però vedi, ti trovi nelle condizioni (come consumatore) di non poter dimostrare un difetto di fabbrica o comunque non verificarlo con certezza, non tutti hanno un laboratorio universitario. In questo caso il malcapitato dovrebbe restituirlo con la clausula "me l'ha detto cyberhs" :D. Se veramente è questo il difetto che si fa?
Queste variabili non devono e non possono esistere.....

@cyberhs:
grazie

Pablos, la soluzione l'ho già data.

Se il problema è questo (lo si appura tentando con la manovra indicata prima) le soluzioni sono:

  1. inviare la scheda dal venditore (se in garanzia)
  2. sostituire il condensatore SMD con un altro
  3. saldargli in parallelo uno con la stessa capacità, ma di tipo normale

Naturalmente il problema potrebbe essere un altro: io ho riferito un difetto letto sul forum cha pare pittosto frequente e che potrebbe essere responsabile della cosa.

Provare costa poco... non trovi?

leo72:

cyberhs:
E' possibile che sia il condensatore di auto reset C5 da 100nF.

Ho letto che è piuttosto frequente che il suo valore sia inferiore al nominale (o diventi tale) e quindi il segnale di RTS necessario perché Arduino si autoresetti non passi.

Ti vorrei chiedere delucidazioni sulla tua affermazione: "è piuttosto frequente che il suo valore sia inferiore al nominale (o diventi tale)
Può un condensatore cambiare di capacità? Non è una domanda a trabocchetto, chiedo lumi perché non sono esperto. :sweat_smile:

Una precisazione: il segnale è il DTR nel caso dell'Arduino UNO, RTS ha una funzione praticamente simile (è usato "in parallelo" sulla 2009 e precedenti) ma con una differenza; l'IDE, all'apertura del serial monitor invia il DTR ma non l'RTS, quindi nel primo caso Arduino si resetta, nel secondo no, si studia per scrivere...... :wink:

Il condensatore, oltre alla tolleranza costruttiva, tende naturalmente a perdere capacità di immagazzinamento nel tempo, questa caratteristica aumenta (in senso peggiorativo) all'aumentare della capacità nominale del condensatore, quindi, p.es., è molto più evidente in un elettrolitico da 1000µF che in un poliestere da 100nF (parlo di % non di valore, ovviamente....). Anche la tipologia costruttiva del condensatore è influenzata in modo differente dal tempo.

Una precisazione: il segnale è il DTR nel caso dell'Arduino UNO, RTS ha una funzione praticamente simile (è usato "in parallelo" sulla 2009 e precedenti) ma con una differenza; l'IDE, all'apertura del serial monitor invia il DTR ma non l'RTS, quindi nel primo caso Arduino si resetta, nel secondo no, si studia per scrivere...

Prof. Menniti detto Michele,

va bene ho sbagliato il segnale è il DTR, poiché nella sequenza RS232 standard prima c'è la coppia DTR/DSR , poi la coppia RTS/CTS (tralasciando il DCD ed RI usati solo con i modem).

Mi devo ripresentare alla prossima sessione di esame? :smiley:

cyberhs:

Una precisazione: il segnale è il DTR nel caso dell'Arduino UNO, RTS ha una funzione praticamente simile (è usato "in parallelo" sulla 2009 e precedenti) ma con una differenza; l'IDE, all'apertura del serial monitor invia il DTR ma non l'RTS, quindi nel primo caso Arduino si resetta, nel secondo no, si studia per scrivere...

Prof. Menniti detto Michele,

fa molta assonanza con un nome che leggevo da ragazzo ai tempi delle elezioni, quando esistevano ancora le preferenze, tale "Giacinto Pannella detto Marco", niente da obiettare contro certe "preferenze", ma preferisco che togli il "detto", un si sa mai, maremma banana :fearful:!

va bene ho sbagliato il segnale è il DTR, poiché nella sequenza RS232 standard prima c'è la coppia DTR/DSR , poi la coppia RTS/CTS

bene giovanotto :slight_smile:

(tralasciando il DCD ed RI usati solo con i modem).

e qui il classico errore di chi vuole strafare, è una vita che vi dico di limitarvi a rispondere alle domande senza "allargare" ]:D. E' sbagliato! Se vai a pag. 25 del numero di settembre di quella Rivista che leggi, trovi un articoletto, a firma del sottoscritto, sulla tecnica del BitBang: i segnali usati per auto-programmare il micro dell'Arduino sono proprio: DCD, RI , DSR, CTS
quindi....

Mi devo ripresentare alla prossima sessione di esame? :smiley:

direi proprio di sì, ora che ti alzi non ti scordare il libretto 8)

Neanche un 18? E poi dicono che me la prendo con i professori... :smiley:

Ho risolto, riprogrammato per l'ennesima volta l'atmel con il nuovo bootloader, e sta volta utilizzando un arduino mega invece dell'arduino uno ed ha ripreso a funzionare... cmq terrò a mente il problema del condensatore... grazie a tutti