Braccio meccanico e requisiti Motore Stepper

Salve ragazzi,

e' da alcuni mesi che sto creando un braccio meccanico con dei motori stepper.
Avrei bisogno di aumentare la coppia perche il mio braccio e' un po grande e voglio avere piu sicurezza.

Questa e' la configurazione attuale:

Motore Stepper NEMA 23 2.1A 80v
Alimentatore 23v
Driver 3 assi per CNC 23v.

Vorrei aumentare la coppia dei miei Motori.

Ho trovato pensato di comprare un driver ed un alimentatore piu potente per arrivare almeno a 40v ma vorrei qualche consiglio per evitare che faccio danni:

Driver Quimat TB6600 Upgraded Version 32 Segments 4A 40V 57/86 Stepper Motor Drive
*9V-40V DC power supply.
*H-bridge bipolar constant phase flow driver.
*The maximum output current is 4.0A (eight optional).
*Up to 32 segments of six kinds of sub-modes available.
*The input signal high-speed photoelectric isolatio.
*Standard common anode single pulse interface.
*Offline keep function.
*Semi-enclosed chassis can adapt to a more demanding environment.
*Provide energy saving semiautomatic current lock function.
*Built-in thermal protection and over-current protection.

Alimentatore universale di commutazione Cortocircuito cortocircuito e sovraccarico AC100-260V DC48V 5A 240W

48V - 5A - 240W:
Potenza di uscita: 240W
Tensione di ingresso: 100-260V
Tensione di uscita: 48V
Tipo: Alimentazione AC / DC
Modalità di modifica: PWM
Metodo di collegamento a transistor: tipo completo di ponte
Efficienza di lavoro: 85%
Materiale: metallo, parti elettroniche

puo andare bene coem upgrade?
La configurazione driver e alimentatore e' corretta?

Grazie in anticipo.

Tony

La mia paura e' che il driver supporta 40V mentre l alimentatore ne eroga 48v.

Non trovo alimentatori da 40V XD

Ovviamente il driver deve sopportare la tensione dell'alimentatore.

Quel motore viene pilotato in corrente. La coppia disponibile da fermo non dipende dalla tensione di alimentazione. La coppia in funzione della velocitá di rotazione (frequenza di pilotaggio) dipende dalla tensione di alimentazione perché con una tensione di alimentazione piú alta il driver riesce ad impatire piú velocemente la corrente impostata.

Secondo me risolvi poco aumentando la tensione.

Ciao Uwe

Non ho capito bene perché risolvo poco.
Attualmente lo alimento a 24v con il driver e alimentatore a 24v

Se lo alimento a 40v con il driver e alimentatore a 40v la coppia in movimento non è maggiore? La coppia da fermo non mi importa al momento, a me interessa avere coppia maggiore in movimento

uwefed:
Ovviamente il driver deve sopportare la tensione dell'alimentatore.

Quel motore viene pilotato in corrente. La coppia disponibile da fermo non dipende dalla tensione di alimentazione. La coppia in funzione della velocitá di rotazione (frequenza di pilotaggio) dipende dalla tensione di alimentazione perché con una tensione di alimentazione piú alta il driver riesce ad impatire piú velocemente la corrente impostata.

Secondo me risolvi poco aumentando la tensione.

Ciao Uwe

forse ho capito, i driver SUPPORTANO fino a 40v quindi non troverò mai un alimentatore esattamente da 40v e anche se fosse starei tirando al limite il driver.
Quindi nella situazione reale e sicura lo sfrutterei a circa 36-38v il driver e non c'è molta differenza da passare da 24v a 36v giusto?

Se mi confermi questo, ho trovato un negozio cinese che ha magazzini in germania quindi con attese di massimo 2 settimane credo anche meno con prezzi davvero bassi e ho trovato questa configurazione:

Digital Stepper Driver 2.4-7.2A 18-80VAC or 36-110VDC for Nema 34 Motor - 38EURO
350W 60V 5.9A 115/230V Switching Power Supply Stepper Motor CNC Router Kits - 23EURO

che ne pensi? Il driver supporta fino a 80V e l alimentatore è di 60V.
Avrei miglioramenti stravolgenti in questo caso da passando da 24v a 60v? quasi il triplo

Stai facendo un sacco di confusione, la coppia fornita dallo stepper dipende esclusivamente dalla corrente, pertanto alzare la tensione di alimentazione del driver non serve a nulla, a patto che già sia idonea per il tipo di stepper, solitamente la tensione da applicare al driver per gli stepper deve essere almeno 4 volte quella nominale per far scorrere la corrente massima con il motore fermo.
Inoltre il vero limite è dato dalla massima potenza erogabile dallo stepper, che a sua volta dipende dalla corrente e la resistenza delle fasi, se già lo stai facendo funzionare ai 2.1 A nominali hai raggiunto il massimo possibile delle prestazioni e non puoi ottenere nulla di più.
Poi c'è il "simpatico" dettaglio che la coppia altro non è che il prodotto della potenza con la velocità angolare, da questo deriva che se il braccio si muove molto lentamente hai una maggiore coppia disponibile, se si muove rapidamente è minore, dato che la potenza è una costante dipendente dalle caratteristiche del motore.

Scusami per la mia ignoranza, ricapitolando il mio driver eroga 3A per canale. Col dei switch ho impostato circa 2.3A. I motori sono 2.1A.
Quindi se non mi soddisfa la coppia basta cambiare motore con uno massimo 3A giusto? Ho i requisiti per sfruttarlo al massimo un 3A non ho bisogno di altri componenti che vadano a voltaggi maggiori

Gli avvolgimenti del motore hanno una resistenza e un induttanza.
La resistenza limita la correnete in regime statico, l' induttanza si aggiunge alla resistenza quando ci sono cambiamenti della corrente. Il cambio della corrente a tension costante avviene in modo espotenziale. Se applico una tensione al avvolgimento la corrente si alzerá piú velocemente piú grande é la tensione. La corrente viene limitata dal driver. Il driver spegne l' alimentazione del avvolgimento quando viene raggiunto il valore impostato, per riaccenderlo dopo una pausa ecc.

A velocitá alta l' influenza del induttanza é maggiore perché il tempo disponibile per raggiungere la corrente impostata é minore. Questo alzarsi lenta della corrente comporta che la corrente media durante un passo veloce é minore a un passo lento. Per questo un motore che gira velocemente ha meno coppia.

Visto che non ci hai dato il modello del motore non sappiamo darti risposte mirate al hardware Tuo.
Quanto velocemente devono girare i motori?

Ciao Uwe

Grazie mille della completa risposta, il motore usato è il seguente:

NEMA 23 2.1A 1.6nm

Per i giri motore non ti so dire preciso, ma con arduino avevo impostato un delay si circa 50 millisecondi tra un impulso e un altro. Sotto i 35 andava in stallo

uwefed:
Gli avvolgimenti del motore hanno una resistenza e un induttanza.
La resistenza limita la correnete in regime statico, l' induttanza si aggiunge alla resistenza quando ci sono cambiamenti della corrente. Il cambio della corrente a tension costante avviene in modo espotenziale. Se applico una tensione al avvolgimento la corrente si alzerá piú velocemente piú grande é la tensione. La corrente viene limitata dal driver. Il driver spegne l' alimentazione del avvolgimento quando viene raggiunto il valore impostato, per riaccenderlo dopo una pausa ecc.

A velocitá alta l' influenza del induttanza é maggiore perché il tempo disponibile per raggiungere la corrente impostata é minore. Questo alzarsi lenta della corrente comporta che la corrente media durante un passo veloce é minore a un passo lento. Per questo un motore che gira velocemente ha meno coppia.

Visto che non ci hai dato il modello del motore non sappiamo darti risposte mirate al hardware Tuo.
Quanto velocemente devono girare i motori?

Ciao Uwe

questo invece è la specifica e istruzioni del mio driver:
PDF

ho visto che si puo impostare i microstep e il decadimento, non sos come sta ora e non so se cambiandolo potrei avere dei vantaggi
e questo è il codice:

void setup() {

pinMode(8, OUTPUT);
pinMode(7, OUTPUT);

digitalWrite(8, LOW);
digitalWrite(7, HIGH); //STOP EMERGENZA DISABILITATO

}

void loop() {

digitalWrite(8, HIGH);

delayMicroseconds(50);

digitalWrite(8, LOW);

delayMicroseconds(50);



}

Il motore HS200 2231 0210 ha i dati nominali:
2,1A
2,0 Ohm

ovvero 4,1V

Per far funzionare bene il microstepping con pilotaggio in corrente si sceglie una tensione di alimentazione del drive di ca 4 x 4,1 V ovvero 16,4V. La tensione che usi (24V) é pienamente sufficente per garantire unbuon funzionamento e percui. Il grafico della coppia in funzione della velocitá di pilotaggio vale per un alimentazione di 36V. Purtroppo quel grafico vale poco perché non é scritto che tipo di pilotaggio é usato (full step, microstep o altro).

Il motore secondo quel datasheet regge al massimo 75V.

Per i giri motore non ti so dire preciso, ma con arduino avevo impostato un delay si circa 50 millisecondi tra un impulso e un altro. Sotto i 35 andava in stallo

Stai usando una rampa di accelerazione?
20Hz é una frequenza di pilotaggio molto bassa.

void loop() {

digitalWrite(8, HIGH);

delayMicroseconds(50);

digitalWrite(8, LOW);

delayMicroseconds(50);
}

ca 10kHz é tutta un altra cosa. Visto che hai appena scoperto i microstepping presumo che piloti il motore in full step ovvero con 50 giri al secondo.

Ma quanto veloce deve girare quel motore?

Ciao Uwe

Il grafico della coppia in funzione degli step, sul datasheet, è sempre riferito al full step, se si usa l'half step tutti i valori sono da dividere per la radice di 2, ovvero circa il 70.7%, questo perché la coppia è data dalla somma vettoriale degli effetti sulle singole coppie, statore e rotore, delle espansioni polari che non vengono più a trovarsi alla distanza minima possibile.

Se si passa al microstepping, ovvero valori da 4 in poi, le cose peggiorano notevolmente.

µstep ** %**
1 100
2 70.7
4 38.27
8 19.51
16 9.80
32 4.91

Ovviamente le stesse percentuali sono da applicarsi anche ai valori di coppia in funzione della velocità di rotazione.

astrobeed:
Il grafico della coppia in funzione degli step, sul datasheet, è sempre riferito al full step, se si usa l'half step tutti i valori sono da dividere per la radice di 2, ovvero circa il 70.7%, questo perché la coppia è data dalla somma vettoriale degli effetti sulle singole coppie, statore e rotore, delle espansioni polari che non vengono più a trovarsi alla distanza minima possibile.

Se si passa al microstepping, ovvero valori da 4 in poi, le cose peggiorano notevolmente.

µstep ** %**
1 100
2 70.7
4 38.27
8 19.51
16 9.80
32 4.91

Ovviamente le stesse percentuali sono da applicarsi anche ai valori di coppia in funzione della velocità di rotazione.

grazie per le risposte ragazzi, credo dovrei studiarmi un bel po di teoria prima di passare alla pratica.

Quindi, vuoi dire che se imposto il mio driver con microsteping a 1 avro' maggiore coppia diciamo cosi? Ora dovrebbe stare a 1/8
Non ho capito bene a livello pratico cosa succede se esegui il mio codice con microstepping a 16 o a 1.

Ripondendo alla domanda relativa all'accelerazione, si ho un altro codice che uso dove con un ciclo for aumento la velocita partendo da 300 millisecondi fino a 50. Ma per sapere i giri precisi non so a quanto vada.
La velocita che mi serve e' quella ottenuta mettendo i delay a 50 millisecondi, non saprei come calcolarla per dirvi in giri al secondo o minuto :slight_smile:

Se imposti a 1 è il full step e disponi di tutta la coppia che il motore può erogare, con il microstepping a 8 hai solo 1/5 della coppia, una bella differenza. :slight_smile:
Ovviamente se passi al full step riduci il numero di passi per giro, diventano 200 invece di 1600.
Non so come è fatta la meccanica del tuo braccio robot però solitamente i motori sono sempre collegati tramite riduttori meccanici, cinghie dentate con relative pulegge di diverso diametro o ingranaggi, in modo da aumentare la risoluzione e la coppia, ovviamente a discapito della velocità di rotazione massima dell'asse, ma anche usando il microstepping avviene la stessa cosa in quanto la velocità massima in step/sec è sempre la stessa.

astrobeed:
... ma anche usando il microstepping avviene la stessa cosa in quanto la velocità massima in step/sec è sempre la stessa.

Pero', se non sbaglio, il vantaggio di usare un riduttore meccanico e' che la coppia disponibile invece di diminuire aumenta ... voglio dire, se passando da full step a microstep ho un'aumento della risoluzione da 200 a 1600, ma una diminuzione della coppia ad 1/5 del fullstep, se invece rimango in fullstep ma ci metto in mezzo un riduttore 8:1 ho la stessa risoluzione e la stessa velocita' del microstep ad 8, ma 8 volte la coppia (o poco meno per le perdite per attrito) del fullstep, invece che un quinto ... :smiley:

Certo, ingombra un po di piu, ma mi sembra che i riduttori siano sempre da preferire al microstepping, ogni volta che sia possibile ... almeno, cosi a me sembra ...

Infatti è quello che viene normalmente fatto su i bracci robot mossi con gli stepper, o si usano direttamente motori dotati di riduttore meccanico, 5:1 o 8:1, oppure si usano cinghie e ingranaggi, non sono mai collegati gli stepper, senza riduzione, direttamente all'asse, sia per motivi di risoluzione e fluidità di movimento, sia per la coppia che non è certo un gran che sugli stepper in rapporto alla massa/dimensioni e energia consumata.

Wow aumenterò la coppia di 5 volte??!!! Speriamo che ho davvero impostato a 1/8 il microstep.

Il mio braccio è abbastanza lento quindi non avrei problemi a metterlo a 1.
Sono poco pratico e non ho tornio e questo è il massimo che sono riuscito a fare:

Youtube video

consigli low cost?

tonyhhkx:
Wow aumenterò la coppia di 5 volte??!!! Speriamo che ho davvero impostato a 1/8 il microstep.
...

Ehm, temo di no ... ha detto un quinto della coppia, non cinque volte la coppia, usando il microstep ad 8 ... :wink:

Etemenanki:
Ehm, temo di no ... ha detto un quinto della coppia, non cinque volte la coppia, usando il microstep ad 8 ... :wink:

ha ha ha ok, comunque sia credo di aver capito che avro' un aumento notevole.
Cosa ne pensate della struttura che ho fatto nel video? Credo spartana, ma potrebbe evitare l'uso di cinghie e riduttori?

Da quanto vedo nel video usi degli attuatori lineari, comandati dagli stepper, per il movimento, già questi fanno sicuramente da riduttori visto che richiederanno tot giri del motore per raggiungere la massima estensione.
Il braccio è molto lungo, non aspettarti grandi prestazioni visto che la coppia va divisa per la distanza e con motori in grado di erogare circa 14 kg*cm a 300 step/sec, se aumenti la coppia inizia a scendere, vuol dire che a 14 cm di distanza al massimo sposti 1 kg, ovviamente tocca tenere conto della riduzione introdotta dall'attuatore lineare e rifare conti con questa, la massa del braccio stesso e gli attriti, però alla fine dubito che sposti più di qualche centinaio di grammi con il braccio alla massima estensione utile.