Motori stepper disturbati

Ciao a tutti!
Vi chiedo un aiuto in quanto ho un problema con dei motori stepper. Cercherò di fornirvi più dettagli possibili....

Quello che dovrei realizzare è una specie di tornio automatizzato, quindi una cosa semplice composta da due motori stepper (asse X e Y) e un motore in corrente continua (dove c'è il pezzo da "tagliare"). Il tutto comandato da Arduino per far muovere i motori.

Il circuito utilizzato è il seguente:

E in caso anche il sorgente FidoCadJ

[FIDOCAD]
MC 160 190 0 0 ey_libraries.refpnt5
MC 75 135 3 0 010
FCJ
TY 75 135 4 3 0 0 0 * Vcc
TY 75 140 4 3 0 0 0 * 12V
RV 180 180 100 160 0
TY 130 170 4 3 0 0 0 * A4988
TY 100 160 4 3 0 0 0 * DIR
TY 110 160 4 3 0 0 0 * STEP
TY 135 160 4 3 0 0 0 * RST
TY 125 160 4 3 0 0 0 * SLP
TY 170 160 4 3 0 0 0 * MS1
TY 160 160 4 3 0 0 0 * MS2
TY 150 160 4 3 0 0 0 * MS3
LI 130 160 130 155 0
LI 130 155 140 155 0
LI 140 155 140 160 0
MC 185 105 3 0 010
FCJ
TY 185 105 4 3 0 0 0 * Vcc
TY 185 110 4 3 0 0 0 * 5V
LI 155 160 155 155 0
LI 155 155 165 155 0
LI 165 155 175 155 0
LI 175 155 175 160 0
LI 165 160 165 155 0
LI 165 155 165 110 0
LI 165 110 185 110 0
LI 185 110 185 105 0
MC 105 115 3 0 074
MC 115 115 3 0 074
LI 105 160 105 115 0
LI 115 160 115 115 0
TY 95 105 4 3 0 0 0 * PIN2
TY 115 105 4 3 0 0 0 * PIN3
TY 170 175 4 3 0 0 0 * V+
TY 155 175 4 3 0 0 0 * GND
TY 100 175 4 3 0 0 0 * Vmot
LI 160 180 160 190 0
LI 170 180 170 185 0
LI 170 185 185 185 0
LI 185 185 185 155 0
LI 185 155 185 110 0
LI 105 180 105 185 0
LI 105 185 75 185 0
LI 75 185 75 135 0
TY 115 175 4 3 0 0 0 * 1A
TY 125 175 4 3 0 0 0 * 1B
TY 135 175 4 3 0 0 0 * 2A
TY 145 175 4 3 0 0 0 * 2B
MC 150 205 1 0 074
MC 140 205 1 0 074
MC 130 205 1 0 074
MC 120 205 1 0 074
LI 120 180 120 205 0
LI 130 180 130 205 0
LI 140 180 140 205 0
LI 150 180 150 205 0
RV 115 210 155 225 0
TY 115 210 4 3 0 0 0 * 17HS13-0404S
TY 125 215 4 3 0 0 0 * Asse Y
MC 310 190 0 0 ey_libraries.refpnt5
MC 225 135 3 0 010
FCJ
TY 225 135 4 3 0 0 0 * Vcc
TY 225 140 4 3 0 0 0 * 12V
RV 330 180 250 160 0
TY 280 170 4 3 0 0 0 * A4988
TY 250 160 4 3 0 0 0 * DIR
TY 260 160 4 3 0 0 0 * STEP
TY 285 160 4 3 0 0 0 * RST
TY 275 160 4 3 0 0 0 * SLP
TY 320 160 4 3 0 0 0 * MS1
TY 310 160 4 3 0 0 0 * MS2
TY 300 160 4 3 0 0 0 * MS3
LI 280 160 280 155 0
LI 280 155 290 155 0
LI 290 155 290 160 0
MC 335 105 3 0 010
FCJ
TY 335 105 4 3 0 0 0 * Vcc
TY 335 110 4 3 0 0 0 * 5V
LI 335 110 335 105 0
MC 255 115 3 0 074
MC 265 115 3 0 074
LI 255 160 255 115 0
LI 265 160 265 115 0
TY 245 105 4 3 0 0 0 * PIN5
TY 265 105 4 3 0 0 0 * PIN6
TY 320 175 4 3 0 0 0 * V+
TY 305 175 4 3 0 0 0 * GND
TY 250 175 4 3 0 0 0 * Vmot
LI 310 180 310 190 0
LI 320 180 320 185 0
LI 320 185 335 185 0
LI 335 185 335 155 0
LI 335 155 335 110 0
LI 255 180 255 185 0
LI 255 185 225 185 0
LI 225 185 225 135 0
TY 265 175 4 3 0 0 0 * 1A
TY 275 175 4 3 0 0 0 * 1B
TY 285 175 4 3 0 0 0 * 2A
TY 295 175 4 3 0 0 0 * 2B
MC 300 205 1 0 074
MC 290 205 1 0 074
MC 280 205 1 0 074
MC 270 205 1 0 074
LI 270 180 270 205 0
LI 280 180 280 205 0
LI 290 180 290 205 0
LI 300 180 300 205 0
RV 265 210 305 225 0
TY 265 210 4 3 0 0 0 * 17HS13-0404S
TY 275 215 4 3 0 0 0 * Asse X
MC 75 185 0 0 180
FCJ
TY 80 185 4 3 0 0 0 * C1
TY 80 190 4 3 0 0 0 * 100uF
MC 225 185 0 0 180
FCJ
TY 230 185 4 3 0 0 0 * C2
TY 230 190 4 3 0 0 0 * 100uF
MC 75 195 0 0 ey_libraries.refpnt5
MC 225 195 0 0 ey_libraries.refpnt5
RV 395 145 445 170 0
TY 410 155 4 3 0 0 0 * IMS-2B
MC 440 190 0 0 elettrotecnica.mcc
TY 425 164 4 3 0 0 0 * M+
TY 435 164 4 3 0 0 0 * M-
TY 400 164 4 3 0 0 0 * GND
TY 415 164 4 3 0 0 0 * B+
TY 415 145 4 3 0 0 0 * IN1
TY 430 145 4 3 0 0 0 * IN2
TY 400 145 4 3 0 0 0 * GND
LI 430 180 430 185 0
LI 440 170 440 175 0
LI 440 175 450 175 0
LI 450 175 450 185 0
LI 425 170 425 175 0
LI 425 175 430 175 0
LI 430 175 430 180 0
MC 405 175 0 0 ey_libraries.refpnt5
MC 395 140 0 0 ey_libraries.refpnt5
LI 405 145 405 135 0
LI 405 135 395 135 0
LI 395 135 395 140 0
LI 405 170 405 175 0
MC 380 165 3 0 010
FCJ
TY 380 165 4 3 0 0 0 * Vcc
TY 380 170 4 3 0 0 0 * 12V
LI 380 165 380 185 0
LI 380 185 415 185 0
LI 415 185 415 170 0
LI 415 145 415 125 0
LI 435 145 435 125 0
MC 415 125 3 0 074
MC 435 125 3 0 074
TY 410 115 4 3 0 0 0 * PIN10
TY 430 115 4 3 0 0 0 * PIN11

In realtà il circuito è corredato anche di due switch con funzione di end-point per la procedura di homing iniziale degli stepper, ma questi sono ininfluenti relativamente al problema.

I componenti utilizzati sono:

  • 2 x A4988: driver per i motori stepper (assi X e Y). Vref impostata a 0.22V, calcolati con la seguente formula
    VREF=8 * IMAX * RCS = 8 * 0.4 * 0.10 = 0.32V -> il 70%, ovvero 0.22V

  • 1 x motore DC: purtroppo non ho le specifiche di questo motore, ma sostanzialmente è >QUESTO<

  • 2 x 17HS13-0404S: sono i due motori stepper per gli assi X e Y

  • 1 x IMS-2B: driver per pilotare il motore in corrente continua. Per ora è scollegato dal circuito il motore viene azionato manualmente

  • Arduino UNO

Le alimentazioni sono le seguenti:

  • 12V e 5V sono erogati da un alimentatore da PC che ho trasformato in un alimentatore da banco. In questo caso alimenta tutti i motori e tutti i driver
  • Arduino è collegato alla presa USB del PC in quanto il software realizzato per ora non ha possibilità di inserire gli input se non tramite monitor seriale.
  • NOTA: ho collegato uno dei PIN GND di arduino alla massa dell'alimentatore, se non erro le masse devono essere uniche...

Ora...Il problema:
fin tanto che il motore DC è spento gli stepper fanno esattamente il loro lavoro e si muovono con precisione. Quando il motore DC inizia a girare gli stepper "traballano", come se ci fossero delle interferenze che, a lungo andare, mi fanno fare anche un giro completo della barra filettata a cui sono collegati. Il problema si amplifica quando il motore DC inizia ad assorbire più corrente, mentre sparisce completamente se tolgo l'alimentazione a quest'ultimo.

Questo mi fa pensare a qualche disturbo proveniente dal motore DC....ma non ho la più pallida idea di come si possa risolvere....

Voi che ne pensate?

Se vuoi pilotare un motore 12V 0,4A con il A4988 alimentato a 12V non Ti funzionerá mai.

Il A4988 é un driver in corrente a microstep. Perché funzioni bene devi alimentarlo con un multiplo della tensione nominale del motore. Almeno 4 volte la tensione nominale e impostare la corrente del motore perché il driver deve limitarla.

Motori adatti al A4988 sono motori da 1A-1,6A e 3-4V alimentati con una tensione di 12V.
Ciao Uwe

uwefed:
Se vuoi pilotare un motore 12V 0,4A con il A4988 alimentato a 12V non Ti funzionerá mai.

Il driver è alimentato a 5V...I 12V sono l'alimentazione dei motori...
Tuttavia i motori si muovono bene fino a quando non accendo anche il motore DC. Forse perchè poi gli A4988 diventano instabili essendo che i 12V sono gli stessi per i motori stepper e il motore DC?

uwefed:
Il A4988 é un driver in corrente a microstep. Perché funzioni bene devi alimentarlo con un multiplo della tensione nominale del motore. Almeno 4 volte la tensione nominale e impostare la corrente del motore perché il driver deve limitarla.

Motori adatti al A4988 sono motori da 1A-1,6A e 3-4V alimentati con una tensione di 12V.

Urca...questo non lo sapevo... :sob:
Se invece non volessi cambiare i motori stepper che driver mi consiglieresti?

Per quei motori bastano un L293D o se vuoi avere piú riserve un L298.

Pilotare i dei motori passo passo in corrente (per esempio con un A4988) invece che in tensione L298 o L293D vuol dire che i motori hanno piú coppia a passi veloci perché l'impedenza del avvolgimento ha molto meno influenza sulla corrente.

I motori da 0,4A hanno bisogno a secondo della modalitá di pilotaggio di 0,4A o 0,8A
Sul motore DC non so dirti poco di concreto ma dirrei che tira sui 10A e una 50ina di spunto al avviamento. Questo puó facilmente sovracaricare l' alimentatore PC.

Ciao Uwe

Intanto grazie per le risposte!
Frugando tra i miei componenti ho trovato che ho degli L293D e qualche L297...
Potrei fare delle prove utilizzando due L293D!

Per ora grazie, appena faccio le prove aggiorno l'esito!!

Il L297 é un controller per un driver come L293, L298 o similari. Genera la sequenza per i modi di pilotaggio del motore e puó insieme realizzare un pilotaggio in corrente.
A Te serve un L293D.
Ciao Uwe

... mi piace la descrizione tecnica di quel tornio per gomme, sul sito del venditore ... "motore piuttosto forte" ... dato corretto e tecnicamente ineccepibile ... :smiley: :smiley: :smiley:

(scusa, non ho resistito :wink: ... fortuna che non tutti i venditori sono cosi ...)

uwefed:
A Te serve un L293D.
Ciao Uwe

Si, fortuna che in casa ne avevo qualcuno e pomeriggio li ho potuti provare. In effetti in questo modo il motore DC non sembra creare disturbi. Per ora l'ho provato a vuoto, domani spero di riuscire a provarlo con il carico e vedere il comportamento degli stepper!

Etemenanki:
(scusa, non ho resistito :wink: ... fortuna che non tutti i venditori sono cosi ...)

Figurati...hai perfettamente ragione!
Purtroppo, spesso utilizzano descrizioni generiche perchè così, non conoscendone le specifiche ti ritrovi a comprare il pezzo originale se ti si guasta qualcosa....Se si conoscerebbero le specifiche si potrebbe trovare un qualcosa di generico (o di sostituto) che probabilmente costerebbe molto meno del pezzo originale!

EDIT: prove effettuate anche con del carico sul motore DC e sembra funzionare tutto bene! Non c'è più nessun tremore degli stepper!! Grazie mille uwefed!!

di niente