Frittura integrato L293D durante prove varie con stepper motor

Ciao a tutti.

Beh, è il mio primo post sul forum di Arduino, quindi... beh sì, ciao a tutti :stuck_out_tongue:

Sperando di non avere fatto errori di sezione sbagliata/altro, illustro subito il mio problema (più inerente l'elettronica in sè che Arduino, in verità).

Ieri stavo provando ad azionare uno stepper motor bipolare (da 9.6 Ohm) usando l'integrato L293D (quello ricevuto con lo starter kit), dal cui datasheet ho trovato questo schema:

Il tutto alimentato dalla sola tensione a 5V di Arduino.

Con riferimento all'integrato, ho collegato:

Pin 1, 8 e 16 --> Arduino 5V
Pin 2, 7, 10, 15 --> Uscite digitali Arduino (8, 9, 10, 11)
Pin 5 --> GND Arduino
Pin 3, 6, 11, 14 ---> Al motore bipolare

In questo modo, il sistema funzionava egregiamente, nel senso che riuscivo a muovere il motore in entrambe le direzioni, dei passi che volevo io. L'unico problema, era il fatto che il motore perdeva passi molto facilmente, sia cercando di farlo girare un po' più velocemente, sia provando a frenare leggermente il motore con le dita (la coppia era veramente irrisoria).

Così mi sono detto: ok, qui il problema è senza dubbio il fatto che Arduino non può fornire abbastanza corrente, serve un alimentatore esterno.

Detto fatto, ho preso un alimentatore da 30V e 0.83A, razziato da una stampante. In modo un po' frettoloso, ho ritenuto di fare una prova cercando di muovere il motore per qualche passo giusto per vedere se funzionasse col nuovo alimentatore, il tutto per pochi istanti.
Leggendo il datasheet dell'L293D, che recita:

ho ritenuto che non ci fossero problemi a collegare un alimentatore da 30V, visto che il limite per l'integrato è 36V e 1A.

Qui però hanno iniziato a sorgere i dubbi: dove collego i 30V? Personalmente, dal datasheet non mi era molto chiaro, in quanto portando vcc2 a 30V, i diodi (disposti come nell'immagine) non avrebbero consentito il passaggio di alcuna corrente.

In ogni caso ho deciso di provare, collegando il pin dell'integrato:

Pin 8 --> 30V
e mettendo in comune i GND di alimentatore esterno e Arduino.

Ovviamente "puf" e puzza di bruciato.. l'L293D è partito non appena il motore ha mosso il primo passo.

Ora, è evidente che nei miei ragionamenti ho commesso qualche errore grossolano/stupido.. cosa ho sbagliato? Come andava collegato in realtà? Perchè l'integrato si è bruciato, nonostante potesse sopportare 36V?

Grazie mille a chiunque mi volesse rispondere :wink:

con 9.6 Ohm e 30 V vula dire che passano circa 3A... forse un tantino troppo pe rl'integrato da te scelto... :frowning:
hai solo superata di tre volte la corrente che quel povero integrato regge!!!

ma il motore pqr quale tensione è progettato???? perche se va a 5v e gli spari 30V non gli fa bene....

perchè s'è bruciato te lo ha detto Martinix.
io alimento i miei stepper da 4A con tensione di targa di 3 volt , con una tensione di 32 volt e non bruciano.

mi pare che, da come hai nominato i pin dell'integrato non sia stato collegato correttamente.
sul disegno L1 ed L2 ,sono le bobine del motore, percio' pin 14-11-3-6, pertanto niente 15. (probabile che hai solo sbagliato a scrivere).
poi i motori stepper affinche' siano performanti, bisognerebbe alimentarli con una tensione anche di 10 volte quella scritta sul motore, naturalmente non brutalmente applicando detta tensione al motore, come hai fatto tu, ma utilizzando un metodo appropriato.
il limite è appunto dato dalla tensione massima che l'integrato sopporta, e naturalmente anche la corrente massima ammissibile non deve essere superata.
esiste anche un'altro parametro del motore passo passo e sarebbe la massima tensione applicabile al motore, che non sono i volt scritti sul motore.
praticamente è la tensione massima che gli avvolgimenti tengono come isolamento.

essendo il motore composto da avvolgimenti di filo, pertanto un carico altamente induttivo, se non si trova il modo di "spingere" dentro la corrente, per il breve periodo che deve essere alimentata la fase, il motore non ha coppia, pertanto bisogna ricorrere al metodo "impulsivo", con il controllo della corrente.
i motori passo passo, sono dei bei motori, ma vanno alimentati nel modo corretto, altrimenti ci si deve accontentare.
consiglierei di vedere in rete, che si trovano ottimi tutorial riguardanti il pilotaggio degli stepper motor.

ciao.

Grazie a entrambi per l'aiuto.

Quindi mi confermate che il modo in cui avevo collegato l'integrato era corretto (nel primo post ho commesso un errore di battitura, come goldx mi ha fatto giustamente notare i pin che ho collegato al motore sono il 14-11-3-6), e che ciò che ha dato il problema è stata la corrente troppo alta (non pensavo che si sarebbe bruciato così rapidamente!!)

Quindi, a logica, se volessi riprovare con questo "esperimento" senza vedere altri fulmini, mi basterebbe limitare la corrente inserendo una opportuna resistenza tra motore e alimentazione, giusto? O c'è qualche altro accorgimento?

Per quanto riguarda il motore, onestamente non trovo i dati di targa... si tratta di un NEOCENE 2T3542, e l'unico dato che ho trovato è la sua impedenza (ma, osservando motori molto simili, è probabile che sia "pensato" per i 12V).

Comunque non vi nascondo che ho una certa confusione in merito (alimentata dal fatto che non sempre si trovano informazioni sul voltaggio dei motori, quasi come se fosse un'informazione poco importante) ... quello che conta non dovrebbe essere unicamente la corrente che circola all'interno degli avvolgimenti? A che serve sapere il voltaggio?

Goldx, per quanto riguarda la modalità di pilotaggio di cui parli... onestamente nelle scorse settimane, nel tempo libero ho più volte cercato informazioni sul pilotaggio degli stepper (sia in italiano che in inglese), ho visto molti tutorial ma nessuno faceva riferimento alla modalità di cui parli: per caso hai un link da passarmi al volo, a cui dare un'occhiata?

se devi usare un pò di corrente usa un l298

anche nei motori passo passo, grosso modo vale i =V/R quindi la corrente che cirla è funzione della tensione (si lo so non è proprio corretto al 100% ma per una prima aprossimazione, magari a motore fermo e non ad alti giri è verosimile :* )

in pi con l298 puoi regolare la corrente con delle resitenze sul componente stesso insomma per cose di potenza usa esso (l298 si usa in allegra coppia con il l297)

EDIT il tuo non regga 1A ma 600mA quindi hai superato Imax di 5 volte circa :slight_smile:

Consiglio la lettura di questo topic --> Driver per stepper bipolare - Hardware - Arduino Forum

controlla se e' uno di questi modelli
http://www.neocene-tech.com.cn/eproduct2.htm

Martinix:
EDIT il tuo non regga 1A ma 600mA quindi hai superato Imax di 5 volte circa :slight_smile:

Azz... mi hai beccato :D. Quando ho scritto 1A stavo andando a memoria e ho fatto confusione con l'L293 (senza la D).
Comunque sto per fare un ordine su RS components per rimpiazzare la roba bruciata e comprarne di nuova (ovviamente, da bruciare anch'essa), quindi quasi quasi già che ci sono mi comprerò sia un L298 che un L297, che mi sembrano interessanti e vorrei provare a metterci le mani, anche se mi paiono un pelino costosi!

Ringrazio PaoloP per il topic, che mi accingo a leggere in questo momento, e anche Brunello per il link: avevo visto quel sito, ma il mio lì non c'è (sebbene ce ne siano di visivamente molto simili, tutti a 12V)

comunque il 2T3542 lo danno per 12V, ma con 5 Ohm http://www.neocene-tech.com.cn/cn/2T35.htm
Troppo anche per un L298

quel che segue è un copia/incolla di quello che ha postato Brunello e si riferisce al 2T3542.
se non ho interpretato male recita:
1000mA a motore fermo e massima torque, poi man mano che i giri aumentano, la corrente diminuisce.
come mai, allora a prima vista sembrerebbe che la cosa non segua la legge di ohm, il canonico I= V: R.
la segue, la segue, tranquilli.....pero'.....
pertanto un L298 usato coi dovuti crismi, (i dovuti crismi, si chiama chopper), con quel motore, fa lo sfaticato :wink: (lavora a meta' delle sue potenzialita')
per concludere, e vale anche e sopratutto per me,.... stepper questi sconosciuti! XD

penso si possa fare, ad esempio, un sito dove ho imparato delle cose sugli stepper è il sito di Vincenzo Villa, magari, buttate un'occhio.
ciao.

goldx:
un sito dove ho imparato delle cose sugli stepper è il sito di Vincenzo Villa

Per completezza d'informazione, posto il link --> http://www.vincenzov.net/tutorial/passopasso/stepper.htm

Altra guida --> What is a Stepper Motor? | All About Stepper Motors | Adafruit Learning System

Vi posto un pdf che comincia a chiarirmi definitivamente le idee (Application Note AN235 della STmicroelectronics):

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00003774.pdf

ottimo.
in conclusione, per pilotare decentemente uno stepper, servono almeno due integrati, in modo da realizzare il controllo della corrente con le resistenze di sense.
esistono comunque anche integrati che in un unico chip espletano tutte le funzioni richieste.
il problema nasce se si vogliono pilotare motori di una certa potenza.

ciao.

goldx:
1000mA a motore fermo e massima torque, poi man mano che i giri aumentano, la corrente diminuisce.
come mai, allora a prima vista sembrerebbe che la cosa non segua la legge di ohm, il canonico I= V: R.
la segue, la segue, tranquilli.....pero'.....

La soluzione al mistero é che un avvolgimento non ha solo una resistenza ma anche un induttanza che a una data frequenza corrisponde a una reattanza. Se calcoli la corrente con la resistenza + reattanza il calcolo é esatto. In alternativa devi considerare l'andamento nel tempo della corrente nel avvolgimento.

Ciao Uwe