Arduino bruciato?

Ciao a tutti,
sono un principiante di arduino, ho realizzato un circuito di questo tipo http://cdn2.bigcommerce.com/server800/a8995/product_images/uploaded_images/mosfet.png?t=1408498498
utilizzando i seguenti componenti:

  • Mosfet IRL530NPBF
  • Resistore in carbonio 220Ω ±5%, 0,25W
  • Diodo 1N4007-T

Il motore elettrico l'ho preso da un vecchio elicotterino radiocomandato, mentre al posto delle 4 pile illustrate nell'immagine ho alimentato il circuito con 12V e 2A.
Ad un certo punto, mentre funzionava correttamente, dal mosfet è uscita una fumata bianca, così ho staccato l'alimentazione immediatamente. Il problema è che ora il mio arduino non dà segno di vita: o meglio, si illumina solo il led ON, e se tento di caricare uno sketch mi dà questo errore:

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9a
avrdude: stk500_recv(): programmer is not responding

Come posso fare? Ho bruciato la scheda vero? :frowning:
Ho un arduino Uno.
Grazie mille

Non dovresti aver bruciato nulla: se hai seguito lo schema alla lettera e non hai fatto cortocircuiti, la fumata bianca probabilmente è stata causata dalla elevata temperatura raggiunta dal MOSFET.

Peraltro, prima che il IRL530NPBF si bruci, devono passare almeno 17A ed essendo l'alimentatore da 2A è difficile pensare che si sia bruciato.

Il motore, invece, potrebbe aver subito dei danni: provalo da solo collegandolo per un istante all'alimentatore: probabilmente è un motore da 6V e questo spiegherebbe l'elevata corrente.

Nello schema, però, non vedo come hai collegato il diodo.

RichiFra03:
Ad un certo punto, mentre funzionava correttamente, dal mosfet è uscita una fumata bianca, così ho staccato l'alimentazione immediatamente. Il problema è che ora il mio arduino non dà segno di vita: o meglio, si illumina solo il led ON, e se tento di caricare uno sketch mi dà questo errore:
...
Come posso fare? Ho bruciato la scheda vero? :frowning:
Ho un arduino Uno.
Grazie mille

È possibile che a causa del guasto del MOSFET sia arrivata i 12V al Arduino e lo abbia rotto.
Quando lo attachi alla USB (senza altro collegato) c'é un integrato che si riscalda tanto? Dovrebbero restare freddi.

Ciao Uwe

Ciao a tutti e grazie per le risposte!
Dunque, il motore funziona correttamente, però c'è da dire che l'ho sottoposto ad uno sforzo forse fuori dalla sua portata. L'ho collegato al centro di un braccio, dove ad una estremità ho collegato una molla, in modo che una volta che il motore si spegne il braccio torni alla sua posizione originale. Pertanto il motore doveva riuscire a far ruotare il braccio vincendo la forza della molla. Ho notato che faceva un po' fatica, ma nonostante ciò funzionava.
Il motorino è ancora funzionante, forse perchè lo accendevo e spegnevo ad intervalli brevi(3-4 secondi).

Anche secondo me a causa del surriscaldamento il mosfet ha unito i 12 volt con l'input di arduino(alimentato a parte con 5V), creando appunto un cortocircuito...
Comunque quando lo collego al pc quest'ultimo emette il classico suono di periferica inserita, l'Ide lo rileva nella porta COM5 e sulla scheda si illumina il primo led integrato(ON).
Inoltre non noto alcun surriscaldamento da parte di arduino, almeno finora(sono 10 minuti che è collegata).
Il problema sorge quando tento di caricare il software, in quanto ricevo sempre lo stesso errore di tentativi superati.

Non saprei cosa pensare, perchè comunque la scheda non è completamente morta...
Grazie mille ancora!

RichiFra03:
Ciao a tutti e grazie per le risposte!
Dunque, il motore funziona correttamente, però c'è da dire che l'ho sottoposto ad uno sforzo forse fuori dalla sua portata. L'ho collegato al centro di un braccio, dove ad una estremità ho collegato una molla, in modo che una volta che il motore si spegne il braccio torni alla sua posizione originale. Pertanto il motore doveva riuscire a far ruotare il braccio vincendo la forza della molla. Ho notato che faceva un po' fatica, ma nonostante ciò funzionava.
Il motorino è ancora funzionante, forse perchè lo accendevo e spegnevo ad intervalli brevi(3-4 secondi).

Sai cosa hai fatto?
Hai usato il motorino come generatore che produce una tensione inversa a quella con cui Tu lo alimentavi.
Adesso secondo come hai messo il diodo 1N4007 che hai nominato ma non descritto dove messo potresti aver fatto nessun danno (diodo in antiparalello al motore oppure dato -12V al MOSFET che con il suo diodo interno ha portato in giro la corrente.

RichiFra03:
Anche secondo me a causa del surriscaldamento il mosfet ha unito i 12 volt con l'input di arduino(alimentato a parte con 5V), creando appunto un cortocircuito...
Comunque quando lo collego al pc quest'ultimo emette il classico suono di periferica inserita, l'Ide lo rileva nella porta COM5 e sulla scheda si illumina il primo led integrato(ON).
Inoltre non noto alcun surriscaldamento da parte di arduino, almeno finora(sono 10 minuti che è collegata).
Il problema sorge quando tento di caricare il software, in quanto ricevo sempre lo stesso errore di tentativi superati.

Non saprei cosa pensare, perchè comunque la scheda non è completamente morta...
Grazie mille ancora!

Anche se é rotto solo una parte la cosa piú semplice e meno costosa é comprarne una nuova.

Ciao Uwe

Certo con 2A, far fumare quel mosfet è mica da poco !!
Credo anch'io sia per sovratemperatura: gioca e rigioca.... papa eletto :slight_smile:

In effetti è probabile che abbia prodotto una corrente inversa girando "controsenso"...
Dunque, siccome vorrei proseguire non esito a riacquistare un nuovo arduino, ma vorrei capire che tipo di errore evitare stavolta.
Forse al posto di un normale motore dc è meglio metterci un motore passo passo? Oppure ancora meglio un servomotore?
A me servirebbe un motore che cambi direzione un un tempo molto breve, inoltre mi servirebbe una velocità di rotazione decente(almeno di 60 giri al minuto, siccome deve eseguire angolazione ridotte, dai 15 ai 30 gradi, però in un tempo breve)

Cosa mi consigliate? Grazie ancora!

Ciao, per evitare una corrente inversa dovrebbe bastare il diodo in antiparallelo al motore che "cortocircuita" la tensione che si genera sul motore ponendo l'anodo a massa .
Devi invertire anche il senso di rotazione?
Allora ci sono i driver a ponte o i passo passo ma non saprei cosa consigliarti: attendiamo i più esperti :slight_smile:

Stefano

In effetti è probabile che abbia prodotto una corrente inversa girando "controsenso"...

Cosa intendi? Non avrai invertito la tensione di alimentazione per far girare il motore nel'altro senso, vero?

No, la questione è questa: Il motore è applicato al centro di un braccio, dove ad una estremità è applicata una molla. Il motore tende a far ruotare il braccio in senso orario, mentre la molla, dopo che il motore ha terminato, fa tornare il braccio sula posizione originale, provocando un moto nel senso opposto. Sapendo che il motore può fungere da dinamo, la rotazione in senso opposto potrebbe aver generato una tensione "indietro" nel mio circuito.
Almeno questo è ciò che ho capito dal messaggio precedente di uwefed.
Detto ciò, per evitare di utilizzare una molla(che mi sembra un metodo un po' bislacco), si potrebbe pensare di utilizzare il motore anche nella direzione inversa per far tornare il braccio al suo posto.
A tal punto ho pensato di utilizzare un motore passo passo, adatto per compiere un'angolazione, ma dal momento che è possibile invertire la marcia di un motore dc forse è meglio lasciare il mondo come sta.
Inoltre, come mostrato nell'immagine che allego, il braccio è libero di muoversi entro una certa angolazione, quindi ci può essere il rischio di bruciare qualcosa azionando il motore quando il braccio è arrivato a fine corsa?
Allego come immagine uno schema del progetto, visualizzabile cliccando qui: File sharing and storage made simple
Spero di essermi espresso meglio stavolta, in caso contrario non esitate a chiedere.
Grazie per l'aiuto!

Ah ecco.... il motore è demoltiplicato?

Si, il moto di rotazione proveniente dal motore è ridotto grazie ad una coppia di ingranaggi.

Allora potresti valutare un servocomando per radiomodellismo: ci sono parecchie discussioni al riguardo e dovresti trovare con facilità la scheda tecnica per verificare se ti basta come velocità di rotazione e potenza.... purtroppo per ora nn me ne intendo......

Se hai inserito il diodo di protezione per le correnti inverse, la tensione generata dal motore nel caso di ritorno della molla in posizione normale dovrebbe essere cortocircuitata dallo stesso diodo.

Invece, il movimento normale del motoriduttore è frenato dalla molla, quindi la corrente assorbita assume valori di almeno 5 volte quelli normali, poiché in stallo.

Se a questo aggiungi che forse 12V sono superiori a quelli per cui il motore è stato studiato, ecco il motivo per la temperatura eccessiva del MOSFET.

Che batterie usava il giocattolo da cui lo hai prelevato?

Ah perfetto, ho la conferma che ho fatto una grande cavolata XD
Per quanto riguarda i volt dell'elicotterino non lo so, poichè ha una batteria integrata senza alcuna scritta. Penso che sia tra i 3.7 e i 5V, in ogni caso appena torno a casa guardo l'output dell'alimentatore.
Per quanto riguarda il servomotore, ci sarebbe un calcolo abbastanza complesso da fare per determinare la forza con cui procede la rotazione data la coppia motrice, che personalmente non so fare. Inoltre mi servirebbe anche capire la velocità con cui cambia direzione, in quanto mi occorrono movimenti abbastanza rapidi.
Comunque mi informo sul tipo di servo che mi occorre, in quanto mi sembra la soluzione più adatta.
Grazie mille!

ragazzi avrei un problema analogo, non so se ho bruciato arduino so che mi da lo stesso identico errore.

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9a
avrdude: stk500_recv(): programmer is not responding

arduino Uno R3 una volta collegato al Pc, "lo legge" si accendono solo il led ON che rimane fisso e costante, ed il led "L" quello sopra ad TX ed RX questi ultimi due non si accendono nemmeno per un istante durante upload.

verifico lo sketch "Blink"
mando un Upload
aspetto una vita ed infine mi riporta sempre il solito errore.

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

ciao zannifabio97, se non hai un arduino originale dovresti installare i driver appropriati. Ad esempio io avevo(prima che si bruciasse XD), una DcDuino Uno, uguale identico ad arduino uno solo che per farlo leggere al pc con windows 10 ho dovuto scaricare i suoi driver dal suo sito.

Se non sbaglio....l elicottero di cui sta parlando e alimentato da una batteria a una cella Lipo da 3.7 volt! Che però ne eroga 4.2 quando è completamente carica....per le Lipo la ricarica è diversa perché viene alimentata a 5 volt per ricaricare (attraverso un apposito strumento) e il motore dell elicottero funziona a 3 volt...che se non sbaglio ne ha due di motori che lavorano insieme! Secondo me oltre al transistor hai bruciato anche il motore oppure il diodo era inverso ,rotto o era collegato male ad esempio un piedino non faceva contatto o cose simili...
Danix!

Ciao ragazzi,
scusate ma ieri non ho avuto tempo di rispondere. Comunque l'elicotterino ha un alimentatore da 3,7V, inoltre, esattamente come da detto danix, alimenta due motori(+ quello sulla coda solo quando viri).

Ripensandoci c'era da aspettarselo qualcosa del genere! In giunta sicuramente avevo messo male il diodo per cui la frittata era pronta da cuocere XD

Di servomotori in giro per il web ce ne sono a volontà, però devo ancora valutare quali caratteristiche vanno meglio per il mio caso.

Per il momento grazie ancora, Riccardo.