Go Down

Topic: Alimentazione a4988 (Read 453 times) previous topic - next topic

n3xo

Ciao a tutti!
Sto giocando con i motori stepper e mi servirebbe un consiglio.
La mia configurazione é la seguente:
Motore 42BYGHW208
Driver a4988
alimentatore da 12 volt

Sto movimentando strisce di carta quindi la coppia si puó considerare ininfluente. Con l'alimentatore da 12 volt (non ho altro in casa) arrivo 700/800 pps senza che il motore si pianti, se sostituisco l'alimentatore con uno da 24 volt aumenterei le prestazioni del sistema giusto? Se non ricordo male l'a4988 prevede una tensione in ingresso 3/4 volte superiore a quella del motore...
Migliorerei in termini di coppia o velocità massima raggiungibile?

(perdonate se per caso ho scritto fesserie)
Grazie!

uwefed

Quel motore non é adatto per essere pilotato col A4988.
I motori per essere pilotati in corrente sono quelli che ahnno una tensione nominale di 3-4V e correnti da almeno 1,5A.
Ciao Uwe

n3xo

Grande Uwe! Temevo una tua risposta del genere e ti chiedo scusa visto che é una risposta che dai spesso.

Se volessi arrivare a 2000 pps cosa mi consigliereste?

Tengo i motori e cambio il driver? (ho degli L298N in casa con i quali avevo fatto precedenti esperimenti e non ricordo perché li ho abbandonati)

Oppure tengo i driver cambio i motori... Tipo con questi: https://www.futurashop.it/STEPMOT03-STEPPER-MOTOR

uwefed

Cambia il motore e prendi uno che prevedono di usarli in stampanti 3D.
Pilotare il motore in tensione vuol dire avere una curva della coppia piú bassa e che si abbassa velocemente a passi veloci.
Ciao Uwe

LikeB

Quel motore non é adatto per essere pilotato col A4988.
I motori per essere pilotati in corrente sono quelli che ahnno una tensione nominale di 3-4V e correnti da almeno 1,5A.
Potresti per cortesia specificare meglio queste due affermazioni? Sono in netto contrasto con le mie conoscenze.

@n3xo ti consiglio di leggere questo mio articolo http://www.rapidcnc.it/hardware/nema-17
Comunque sia mi sembra che le prestazioni in velocità che stai ottenendo siano un pò sotto rispetto alle reali possibilità di questi motori.


Un pò di consigli ad uso generale se si è alla ricerca di pure prestazioni velocistiche:

- i motori passo passo si pilotano in corrente, gli Allegro 4988 fanno questo

- attenzione a come regolate le correnti nominali. Ho guardato il datasheet del tuo motore, sopporta 0.4A. Questo valore di corrente è riferito ad una sola bobina  alimentata! Se ne alimenti due assieme (normalmente si è in regime di full step), la regola è ridurre al 70%, cioè 0.4 * 0.7 = 0.28A. Due bobine significa più calore da smaltire!

- quando il produttore indica le correnti nominali lo fa con i motori flangiati su masse metalliche che trasferiscono bene il calore, se lo bloccate su legno, plastica, ecc. rischiate il surriscaldamento, dovete ridurre ulteriormente la corrente.

- come regolare la corrente? Personalmente penso che un motore che va pilotato in corrente vada regolato leggendo la corrente che percorre le bobine. Non sono amante delle indicazioni rispetto alla VREF. Per cui munitevi di un tester, lo impostate per la misura di corrente (normalmente è presente un ingresso di shut per le alte correnti, di solito 10A) e con un bel cacciavite  metallico (si avete letto bene metallico), girate lentamente fino ad arrivare al valore desiderato. Ho sottolineato metallico perché non capisco la differenza che faccia appoggiare il puntale metallico del tester per leggere la tensione di riferimento sul trimmer ripetto ad appoggiarci un cacciavite, se la mano ti trema, fa poca differenza, un corto lo fai comunque se ti scappa lo strumento.

- salire con la tensione che alimenta il driver il più possibile. L'A4988 arriva a 35V, a questa tensione si ottiene il massimo della performance. L'aumento di velocità è quasi lineare rispetto alla Vdd. La bobina del motore è un carico induttivo, si oppone al variare della corrente. Più alta è la tensione che diamo in pasto all'integrato di controllo, più rapido sarà il fronte di salita della corrente e maggiore sarà conseguentemente la velocità del motore. Se cambiate la Vdd, DOVETE ricontrollare la corrente che percorre le bobine. Regolazione da fare sempre a motore fermo e alimentato.

- frazionate gli step del motore con tecniche di microstepping, più si fraziona più si riesce a salire

- attenzione alla rampa di accelerazione, deve essere graduale e ben calcolata. Con il mio software calcolo una vera rampa di accelerazione, più è vicina all'ideale più facile sarà raggiungere velocità limite. Siccome tutti i calcoli li faccio lato PC, ho potenza di calcolo da vendere offerta dalla moderne CPU, non subisco nessun compromesso da questo punto di vista. So che ad esempio le GRBL adottano dei compromessi in proposito, non so quanto influenti se si sta cercando una pura prestazione velocistica. Quindi attenzione al software che si usa, può fare differenza.

- per finire più è elevata la velocità minore sarà la coppia che avrete a disposizione, ma si sa, per un record questo ed altro  :)

 

uwefed

Scrivi un sacco di mezze veritá.
Metti un link dove si parla di un motore con Vn =  2,55V e In = 1,7A, prprio quello che ho consigliato per il A4988 ma mi dici che va bene un 12V e 0,4A.

Il A4988 sopporta al massimo 35V che vuol dire che con un motore a 12V hai al massimo ca 3 Volte la tensione nominale.
Con un motore da 2,55V e 12V di alimentazione hai giá 4,7 volte la tensione nominale. In questo modo l' induzione del motore ha ancora meno influenza sulla velocitá di salita della corrente quando il driver da tensione.
Per questo un motore da 12V non é adatto per il A4988 ma uno per 2,55V va nettamente meglio.

Quote
- i motori passo passo si pilotano in corrente, gli Allegro 4988 fanno questo
Possono essere pilotati anche in tensione ma hanno una coppia a velocitá alte molto piú bassa. Per questo un pilotaggio in corrente ha vantaggi. Se non serve una coppia grande e/o deve girare lentamente puó essere un pilotaggio in tensione adatto all'uso del motore.

Quote
- attenzione a come regolate le correnti nominali. Ho guardato il datasheet del tuo motore, sopporta 0.4A. Questo valore di corrente è riferito ad una sola bobina  alimentata! Se ne alimenti due assieme (normalmente si è in regime di full step), la regola è ridurre al 70%, cioè 0.4 * 0.7 = 0.28A. Due bobine significa più calore da smaltire!
Il motore é costruito per poter essere pilotato in Full Step con la corrente nominale.
Il Tuo calcolo é errato. Comunque il A4988 abbassa la corrente dei Due avvolgimenti Giá da Full Step giá a 71% della corrente nominale impostata. Datasheet A4988 pagina 14. Sul A4988 va impostata la corrente Nominale per avere le prestazioni massime del motore. La specifica di corrente nominale per avvolgimento significa che non é la somma dei 2 avvolgimenti.

Quote
- come regolare la corrente? Personalmente penso che un motore che va pilotato in corrente vada regolato leggendo la corrente che percorre le bobine. Non sono amante delle indicazioni rispetto alla VREF. Per cui munitevi di un tester, lo impostate per la misura di corrente (normalmente è presente un ingresso di shut per le alte correnti, di solito 10A) e con un bel cacciavite  metallico (si avete letto bene metallico), girate lentamente fino ad arrivare al valore desiderato. Ho sottolineato metallico perché non capisco la differenza che faccia appoggiare il puntale metallico del tester per leggere la tensione di riferimento sul trimmer ripetto ad appoggiarci un cacciavite, se la mano ti trema, fa poca differenza, un corto lo fai comunque se ti scappa lo strumento.
AL contrario sono per regolare la Vref al valore giusto per la corrente desiderata. Questo perché una misura di tensione é molto piú semplice che una misura di corrente dove il multimetro deve essere messa in serie al avvolgimento. Devi aprire in qualche modo il circuito per aggiungere l' amperometro. Una Misura di tensione va in paralello al partitore senza dover modificare il circuito.
Perché devi andare con la punta del tester sul potenziometro? Si misura tra massa e il punto di misura della Vref (contatto comune del potenziometro). La vite secondo me non é un posto per misurare una tensione in modo affidabile. Una misura come da foto ritengo una lavoro da dilettanti.

Si fissa il negativo in un posto dove non puó scappare e con una mano si tocca il punto di saldatura del comune del potenziometro e col altra mano si gira il potenziometro per avere la tensione desiderata.

Una misura della corrente (0,4A  con un amperometro con range da 10A) é impreciso. Inoltre la corrente del motore dipende dalla sua posizione (step di pilotaggio del Driver). Se si sbaglia lo step si imposta una corrente errata.

Quote
- salire con la tensione che alimenta il driver il più possibile. L'A4988 arriva a 35V, a questa tensione si ottiene il massimo della performance. L'aumento di velocità è quasi lineare rispetto alla Vdd. La bobina del motore è un carico induttivo, si oppone al variare della corrente. Più alta è la tensione che diamo in pasto all'integrato di controllo, più rapido sarà il fronte di salita della corrente e maggiore sarà conseguentemente la velocità del motore. Se cambiate la Vdd, DOVETE ricontrollare la corrente che percorre le bobine. Regolazione da fare sempre a motore fermo e alimentato.
Come giá detto con um motore da 2,55V nominali hai molto piú possibilitá che con un motore da 12V.
Quote
L'aumento di velocità è quasi lineare rispetto alla Vdd
Quale velocitá? il motore passo passo gira in funzione del segnale di step con cui é pilotato il driver finche a causa della coppia richiesta troppo alta si ferma.
Quote
Più alta è la tensione che diamo in pasto all'integrato di controllo, più rapido sarà il fronte di salita della corrente e maggiore sarà conseguentemente la velocità del motore.
Sí, piú rapido sará il fronte di salita della corrente che sigifica che la coppia é piú alta rispetto a una salita piú lenta. Questo non comporta una velocitá piú alta del motore a dati step ma una velocitá piú alta di step possibile per un data coppia di carico. 10 step al secondo sono sempre 10 step al secondo.
La corrente impostata non cambia con la tensione di alimentazione motore del driver A4988.

Quote
- frazionate gli step del motore con tecniche di microstepping, più si fraziona più si riesce a salire
Salire cosa?

Quote
- attenzione alla rampa di accelerazione, deve essere graduale e ben calcolata. Con il mio software calcolo una vera rampa di accelerazione, più è vicina all'ideale più facile sarà raggiungere velocità limite. Siccome tutti i calcoli li faccio lato PC, ho potenza di calcolo da vendere offerta dalla moderne CPU, non subisco nessun compromesso da questo punto di vista. So che ad esempio le GRBL adottano dei compromessi in proposito, non so quanto influenti se si sta cercando una pura prestazione velocistica. Quindi attenzione al software che si usa, può fare differenza.
Non sempre é possibile usare un PC per i calcoli delle rampe di acelerazioni, sopratutto se il motore é montato in un progetto portatile.

Ciao Uwe

plinio

Il motore é costruito per poter essere pilotato in Full Step con la corrente nominale.
Il Tuo calcolo é errato. Comunque il A4988 abbassa la corrente dei Due avvolgimenti Giá da Full Step giá a 71% della corrente nominale impostata. Datasheet A4988 pagina 14. Sul A4988 va impostata la corrente Nominale per avere le prestazioni massime del motore. La specifica di corrente nominale per avvolgimento significa che non é la somma dei 2 avvolgimenti.
Intanto grazie per tutte le precisazioni molto dettagliate.

Parto dalla frase che ho quotato perché la questione merita un approfondimento. Supponiamo che il mio ipotetico motore abbia come dato di targa di corrente indicato dal produttore 1.7A. Prendo il mio tester, lo collego in serie ad una delle due bobine alimentate in modalità Full-Step e faccio una lettura in corrente. Sto usando un A4988 per pilotarlo. Se leggo 1.2A lo sto alimentando correttamente, oppure secondo te dovrei regolare fino ad arrivare a 1.7A? La questione è questa.
Ho riletto il datasheet del A4988 ed oltre alle indicazioni grafiche di pagina 14 c'è anche una tabella analitica a pagina 17 dove con motore bloccato a 45° tra due passi si legge che la corrente che percorre le due bobine è il 70.71% di quella nominale (notare che è costante dal Full-Step fino al sedicesimo di passo). Quindi quando leggo nel mio amperometro 1.2A sono in accordo con la corrente massima sopportata dal motore che è 1.7A? Io direi proprio di si. Se ci fai caso, sempre avendo usato una regolazione a 1.2A, e sempre dalla tabella che ti ho indicato, nel caso si stia utilizzando i micropassi, ci si ritrova al 100% della corrente nominale quando il passo è a zero gradi e quindi si sta alimentando una sola bobina. Se regolassi in Full-Step al 100% mi ritroverei al 140% in caso di esecuzione a micropassi, e questo è sicuramente fuori specifica.

Riporto questa parte dal sito della Pololu:

"The A4988 supports such active current limiting, and the trimmer potentiometer on the board can be used to set the current limit. One way to set the current limit is to put the driver into full-step mode and measure the current running through a single motor coil while adjusting the current limit potentiometer. This should be done with the motor holding a fixed position (i.e. without clocking the STEP input). Note that the current you are measuring is only 70% of the actual current limit setting, since both coils are always on and limited to this value in full-step mode, so if you later enable microstepping modes, the current through the coils will be able to exceed this measured full-step current by 40% (1/0.7) on certain steps; please take this into account when using this method to set the current limit. Also, note that you will need to perform this adjustment again if you ever change the logic voltage, Vdd, since the reference voltage that sets the current limit is a function of Vdd."

Mi sembra perfettamente in accordo con quanto sto dicendo. Tra l'altro come metodo è indicato quello dell'amperometro in serie su una delle due bobine, è sicuramente preciso, scomodo se vuoi, ma innegabilmente corretto.

plinio

Il A4988 sopporta al massimo 35V che vuol dire che con un motore a 12V hai al massimo ca 3 Volte la tensione nominale.
Con un motore da 2,55V e 12V di alimentazione hai giá 4,7 volte la tensione nominale. In questo modo l' induzione del motore ha ancora meno influenza sulla velocitá di salita della corrente quando il driver da tensione.
Per questo un motore da 12V non é adatto per il A4988 ma uno per 2,55V va nettamente meglio.
Concordo.

uwefed

Quote
Parto dalla frase che ho quotato perché la questione merita un approfondimento. Supponiamo che il mio ipotetico motore abbia come dato di targa di corrente indicato dal produttore 1.7A. Prendo il mio tester, lo collego in serie ad una delle due bobine alimentate in modalità Full-Step e faccio una lettura in corrente. Sto usando un A4988 per pilotarlo. Se leggo 1.2A lo sto alimentando correttamente, oppure secondo te dovrei regolare fino ad arrivare a 1.7A? La questione è questa.
Il Tuo ragionamento é giusto. Se sei in modalitá full step il driver da 71% della corrente nominale. Visto che sono solo 4 stati é difficile sbagliare. Se usi una modalitá microstep allora é difficile sapere in che posizione della curva si trova il motore e capire per quello a che percentuale della corrente nominale si trova il pilotaggio dem motore.
Come ho scritto perché farti tutto il lavoro di aprire il circuito e metterlo in serie al amperometro e indovinare la posizione del motore se una semplice misura della tensione di riferimento é molto piú semplice?

Quote
Mi sembra perfettamente in accordo con quanto sto dicendo. Tra l'altro come metodo è indicato quello dell'amperometro in serie su una delle due bobine, è sicuramente preciso, scomodo se vuoi, ma innegabilmente corretto.
Ha una fonte di errore perché la corrente oscilla un po (il driver accende ee spegne la tensione per non far superare la corrente il limite impostato) e percui l' amperometro fa una media che non necessariamente é il valore effettivo (RMS)

Dal datasheet del A4988:
At each step, the current for each full-bridge is set by the value of its external currentsense resistor (RS1 and RS2), a reference voltage (VREF), and the output voltage of its DAC (which in turn is controlled by the output of the translator). (pag 7)
The maximum value of current limiting is set by the selection of RSx and the voltage at the VREF pin. The transconductance function is approximated by the maximum value of current limiting, ITripMAX (A), which is set by
ITripMAX = VREF / ( 8 / RS)
where RS is the resistance of the sense resistor (Ohm) and VREF is the input voltage on the REF pin (V).
The DAC output reduces the VREF output to the current sense comparator in precise steps, such that
Itrip = (%ITripMAX / 100) / ITripMAX
(See Table 2 for %ITripMAX at each step.)
It is critical that the maximum rating (0.5 V) on the SENSE1 and SENSE2 pins is not exceeded. (pagina 9)

Ciao Uwe

plinio

#9
Apr 05, 2019, 01:41 pm Last Edit: Apr 05, 2019, 01:55 pm by plinio
Quale velocitá? il motore passo passo gira in funzione del segnale di step con cui é pilotato il driver finche a causa della coppia richiesta troppo alta si ferma.Sí, piú rapido sará il fronte di salita della corrente che sigifica che la coppia é piú alta rispetto a una salita piú lenta. Questo non comporta una velocitá piú alta del motore a dati step ma una velocitá piú alta di step possibile per un data coppia di carico. 10 step al secondo sono sempre 10 step al secondo.


Nei motori elettrici la coppia meccanica disponibile è proporzionale alla corrente che attraversa gli avvolgimenti.
Nel fronte di salita della corrente non tutta la coppia è disponibile in quanto è richiesto un certo delta T di tempo par raggiungere il valore nominale, e discorso analogo vale anche per il fronte di discesa, dove il motore è frenato dalla corrente residua che continua a scorrere sulle bobine.
Un fronte di salita più rapido della corrente comporta una velocità più alta perché semplicemente potrai fare step più brevi senza che il motore si fermi avendo più coppia. E' sottointeso che se voglio aumentare la velocità devo fare step più brevi, questo lo davo per scontato.

"più rapido sarà il fronte di salita della corrente e maggiore sarà conseguentemente la velocità del motore"

In effetti rieleggendomi non sono stato molto chiaro, ma intendevo che se si vuole aumentare la frequenza bisogna cercare di mettersi nelle condizioni ideali.


uwefed

Ripeto. Un raggiungimento veloce della corrente impostata é meglio perché l' intergale della corrente (o coppia) sul tempo é piú grande rispetto a un fronte di salita piú lento.

Un fronte piú veloce non significa che il motore a step costanti é piú veloce ma significa che puó essere pilotato piú velocemente prima che la coppia é troppo bassa per vincere la coppia richiesta dall'utenza.

La frase come hai scritto significherebbe che a secondo della tensione di alimentazione del Driver il motore passo passo cambia velocitá anche se la frequenza dei pilotaggio passi resta costante.

Visto che tante cose scritte qua possono essere d' aiuto per altri ritengo necessario scrivere in modo chiaro e inequivoco.

Ciao Uwe



miky_police

ok a tutte le risposte, ma io chiederei una cosa a n3xo.
Cosa devi muovere? sai quanta forza ti serve? prima di consigliare di cambiare driver o motore.
ps: io ho una Cnc con tb6560 al posto dei a4988.
Sono più semplici da settare e vanno una meraviglia. mai perso uno step.
Il vero stupido è colui che fa e rifa la stessa cosa aspettandosi risultati diversi. A.E.

Go Up