Pages: 1 [2] 3   Go Down
Author Topic: Motor Shield R3 e problemi di temperatura  (Read 3936 times)
0 Members and 1 Guest are viewing this topic.
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21252
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Devi alimentare l' Arduino e la parte digitale del L298 con 5V.
Ciao Uwe
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 104
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per adesso sto tenendo collegata anche l'usb, se non desaldo il bridge sotto la scheda la prende dalla lipo l'alimentazione? e comunque anche la prendesse da li ci sarà qualcosa per stabilizzarla a 5V no? non capisco bene il tuo suggerimento di alimentare la parte logica a 5V  smiley-red
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 515
Posts: 12317
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Uwe: concordo con te sulla potenziale pericolosità della LiPo ma era per fare una prova per vedere il riscaldamento.

@ kurtommy: in pratica colleghi Arduino all'USB e alimenti sia Arduino che il motor shield, questo significa alimentare la logica a 5V (se ho ben capito, e dovrebbe essere ciò che ti dicevo anch'io). NON devi collegare i motori direttamente allo shield in quanto li devi pilotare con una tensione inferiore. Ora ATTENZIONE! io faccio un ragionamento per logica, ma siccome non so come vengono pilotati i motori non posso darti certezza che la cosa vada bene.
SE, e SOLO SE, ogni fase viene pilotata separatamente e SEMPRE con una tensione positiva, la soluzione è relativamente semplice: ogni usc ita che prima andava alla propria fase ora deve andare alla base di un transistor NPN, tramite una R da 4,7K; l'emettitore del TR va a GND, la fase del motore va sul collettore e da qui parte una R da calcolare. Più o meno io penserei a: R = V/I = 3,7V/0.4A = 9,25 ohm. Quindi dovrebbe essere circa 10 ohm 2W (anche 1W al limite potrebbe bastare). Un dubbio che ho è se in questo calcolo vada considerata la R di 6,8ohm del motore, però io ho calcolato sulla limitazione di corrente. L'altro dubbio che ho è se le fasi vengono sempre pilotate con tensioni positive o ce ne sono anche di negative.
Comunque a mio avviso il principio è questo, con tale sistema tu alimenti la logica ed il motor shield a 5V ed ai motori invii una corrente massima di 0,4A, come da specifiche, secondo me risolviamo. Ti chiedo però di pazientare ed aspettare conferma di Uwe o qualcun altro che abbia esperienza di pilotaggio di motori, io purtroppo non ne ho.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 4
Posts: 219
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

volevo fare un appunto riguardo la Motor Shield R3 poichè vedendo per la prima volta la scheda (io uso ben altro) e quindi anche lo schema elettrico, si evince subito che quella scheda
al massimo con opportune modifiche potrebbe pilotare due motori in continua e non un motore passo/passo o quanto meno qualora lo pilotasse spunterebbero una miriade di problemi
legati allo non controllabilità della corrente massima e di tenuta.

Se mi posso permettere.....
lo schema ch bisogna adottare quando si va a pilotare uno step motor usando L298 è quello riportato sotto.
Il circuito deve necessariamente prevedere la presenza di un L297 (o similare) che oltre ad essere facilmente interfacciabile ad un micro visto che fa tutto lui, permette una regolazione
di corrente intrinseca al circuito (psedo PWM con attivazione a soglia di sovraccarico)  partendo da una tensione di alimentazione maggiore di 12volt....fino a 30/36 volt.
Non abbiamo così perdita di coppia, e possiamo regolare con un trimmer la corrente massima di tenuta (la massima che accetta il motore).

Direction = permette di modificare la direzione di rotazione
Clock      = N cicli di clock -> N step
Half/full   = potete andare a 1/2 passo o a passo intero
Reset      = avete il reset delle fasi
Enable     = potete dare potenza o disalimentare le fasi
Vref        = attraverso un trimmer 1K collegato tra gnd e +5V potete regolare la corrente.

Le 2 R da 0.5ohm  sono le resistemze di sensing per permettono di realizzare il confronto in tensione tra la corrente che circola sul motore e quella impostata con il trimmer.


* My_L297.gif (9.01 KB, 709x390 - viewed 36 times.)
« Last Edit: August 21, 2012, 03:06:26 am by cyclone » Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 515
Posts: 12317
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ti puoi permettere eccome! In parole povere serve uno shield specifico per motori passo-passo.... grazie del chiarimento; come detto, non ho mai usato motori e non ne so nulla, pensavo che la base di partenza fosse corretta e quindi cercavo di risolvere tenendo conto dei dati che abbiamo in mano.
Ciao smiley
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21252
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perché non puoi pilotare un motore passo paso in tensione col L298?
Ok il pilotaggio in corrente ha vantaggi ma anche svantaggi (tensione di alimentazione alta (ca 4volte) e percui l' alimentatore deve essere 4 volte piú potente). Con motori con resistenza avvolgimenti alta non é possibile.
Ok che puoi anche col L298 in combinatzione col L297 costruire un driver in corrente, ma per aplicazioni semplici dove non serve una coppia massima a velocitá alta basta un pilotaggio in tensione.

Ciao Uwe
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 219
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ragazzi.... smiley
io vi posso dare un suggerimento, per me non cambia nulla....

il fatto è che con questo sistema piloti tutti i tipi .....e con semplicità generi anche le fasi, con il tuo no.
Pensa se devi realizzare un controllo di posizionamento multi assi con movimenti interpolati.....
ciao

« Last Edit: August 21, 2012, 03:28:58 am by cyclone » Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 515
Posts: 12317
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Perché non puoi pilotare un motore passo paso in tensione col L298?
Ok il pilotaggio in corrente ha vantaggi ma anche svantaggi (tensione di alimentazione alta (ca 4volte) e percui l' alimentatore deve essere 4 volte piú potente). Con motori con resistenza avvolgimenti alta non é possibile.
Ok che puoi anche col L298 in combinatzione col L297 costruire un driver in corrente, ma per aplicazioni semplici dove non serve una coppia massima a velocitá alta basta un pilotaggio in tensione.

Ciao Uwe
OK; se è così UWe ti chiedo gentilmente di verificare il mio precedente intervento, circa l'uso di transistor ed il calcolo delle R di limitazione, in modo da fornire a kurt una soluzione; poi lui leggerà l'intervento di cyclone e deciderà cosa fare. Grazie. Michele

@ Cyclone: è ovvio che per ogni cosa esiste la soluzione ottimale, ma a vote si cerca la soluzione per rispondere ala richiesta dell'utente. Se Kurt nello specifico avesse chiesto UNA soluzione da realizzare sarebbe stato un discorso, ma visto che ha la MSr3, se possibile gliela si fa sfruttare, a volte il risparmio economico va anche oltre la semplicità, questo intende Uwe, se mi posso permettere...
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 0
Posts: 104
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quello che vorrei fare io è pilotare degli step motor nel modo più semplice possibile ( nel progetto che avrei in mente ne servirebbero ben 6 ) Ho comprato due di queste Motor shield ma a quanto dite non paiono proprio indicate per pilotare stepper.
Vi chiedo allora quale sia il metodo migliore per controllare senza gorssi problemi ed in modo efficiente questi motori. C'è un dispositivo che collegato ad arduino magari mediante ISP o I2C possa comandare un certo numero di motori? e che non sia impossibile da usare o abbia bisogno di altri componenti aggiuntivi (tipo transistor come citati sopra) ?
considerate che non tutti sono esperti in elettronica come voi Purtroppo.
Io sono un programmatore e su quello non ho problemi ma per il resto sono proprio a livello BASE! smiley-eek

Comunque sia con il motore piccolo che ho:
http://robot-italy.com/it/39byg013-nema-17-bipolar-20mm-stepper.html
mi pare risponda bene secondo lo sketch.
Mentre con quello grande:
http://robot-italy.com/it/1200-stepper-motor-unipolar-bipolar-200-steps-rev-42x48mm.html
non saprei neanche come collegarlo visto che ha sei cavi, qualcuno me lo sa suggerire (giusto per provarlo)

Grazie ancora per la pazienza e le vostre utilissime risposte.
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 219
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

come ti avevo detto prima uno dei più semplici metodi per comandare più motori contemporaneamente è quello di usare, come in questo caso, 6 L297 collegati ad altrettanti L298.

per ogni L297 impiegheresti solo 2 segnali Clock e Direzione.... gli altri puoi anche non usarli.....
quindi in totale con 12 uscite digitali potresti risolvere il problema.
Io non so se sei in grado di realizzare un PCB ma ti consiglio di attrezzarti poichè tante volte ti capiterà di dover realizzare circuiti ad hoc.
questo è uno dei casi.
« Last Edit: August 21, 2012, 03:55:52 pm by cyclone » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21252
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

kurtommy alla Tua domanda non é semplicemente da rispondere.
Il circito di pilotaggio dipende dal motore che usi.
Motori passo passo esistono unipolari e bipolari ( 6 o 5 e 4 fili)
Poi indipendenti da questo esistono con una resistenza del avvolgimento basso (diciamo sotto ca 5 Ohm) e una tensione nominale bassa per essere pilotati in corrente oppure con una resistenza alta (>20 Ohm) e una tensione nominale alta.

Il vantaggio di un pilotaggio in corrente é che a velocitá alta la coppia é piú alta rispetto a un pilotaggio in tensione ed é possibile implementare micropassi.

Oggigiorno la difficoltá per implementare il pilotaggio in corrente é minima perché ci sono integrati che lo fanno automaticamente.
La combinazione L297-L298 lo fa ma sono integrati di concetto di almeno 30 anni fa e il L298  ha come stadio di uscita dei transistori PNP/NPN e non MOSFET come quelli moderni.

Come circuiti di pilotaggio consiglierei per esempio un Easydriver col A3967 che puó pilotare fino a 750mA per fase oppure un Big Easydriver oppure il stepper driver della Pololu entrambi col A4988 che puó pilotare fino a 2A.  Tutti con possibilitá di micropassi ( passi intermedi tra i passi intermedi regolando il valore della corrente delle 2 fasi del motore).

Per il motore sopranminato consiglierei un Easydriver. http://schmalzhaus.com/EasyDriver/Examples/EasyDriverExamples.html e http://schmalzhaus.com/EasyDriver/

Tutti i driver nominati li piloti con un segnale di direzione e dei impulsi per fare un passo / micropasso. Altri pin come la scelta dei passi pieni/micropassi enable ecc puoi mettere fisso su massa o 5V a secondo coem li vuoi usare.

Ciao Uwe
« Last Edit: August 21, 2012, 04:33:33 pm by uwefed » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21252
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK; se è così UWe ti chiedo gentilmente di verificare il mio precedente intervento, circa l'uso di transistor ed il calcolo delle R di limitazione, in modo da fornire a kurt una soluzione; poi lui leggerà l'intervento di cyclone e deciderà cosa fare. Grazie. Michele
Per usare un transistore per pilotare un motore passo passo quest ultimo deve eserre uno unipolare. Il comune dei 2 avolgimenti va a polo positivo dell'alimentazione e i 4 avvolgimenti messi a massa coi transistori.
Per i motori http://robot-italy.com/it/39byg013-nema-17-bipolar-20mm-stepper.html come proposto da kurtommy essendo bipolari servono 2 ponti H per generare correnti positive e negative attraverso gli avvolgimenti del motore.
In generale non é saggio usare delle resistenze per limitare la corrente.

Il L298 ha delle perdite di tensione (UCEsat) sui transitori di uscita abbastanza alti.
Dal datasheet: VCEsat Total Drop a una corrnete di uscita di 1A: da 1.80V a 3.2V.
Con 0,4 A sará minore ma abbastanza da avere con un alimentazione di 5V alimentazione lato motore ca 2,7V sul motore.
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 219
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

la soluzione della Pololu la considero ottimale e con un buon rapporto costo/prestazione.
proprio per questo motivo la Motor Shield R3 mi sembra essere una scelta davvero obsoleta per essere usata ancora oggi in abbinamento con arduino.

boh! chissà il motivo della scelta del L298 ....
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21252
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
boh! chissà il motivo della scelta del L298 ....
Perché puó essere usato per pilotare 2 motori DC.
Altri ponti H con logica per pilotare motori passo passo (sequenze come L297, o microstepping ecc) non possono essere usati come ponti H per Motori Dc.
Ciao Uwe
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 104
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Ah questo mi pare una bomba e anche semplice a usare, con microstep, acelerazione e solo due pin per il controllo! messo tra i preferiti, grazie 1000.
La Motor shield ne usa molti di più.

Allora adesso vi chiedo l'ultimo sforzo visto che ne ho comprate due di queste Motor shield:
Quali motori DC mi consigliate di acquistare per utilizzarli con questa scheda?
Ne ho qualcuno ma misurando con il tester hanno tutti resistenze molto basse, 2.8Ohm, 1.8 Ohm ... con una lipo da 3.7V (o alimentatore visto che le sconsigliate sempre) I = 3,7V / 1.8Ohm = 2.055A ci sono proprio a pelo con la corrente massima che è 2A!!! se aumento un attimo la tensione vado subito oltre!

Ci sono motori con resistenze maggiori o che assorbono meno?

Grazie 1000
Ciao
Logged

Pages: 1 [2] 3   Go Up
Jump to: