Come posso ottimizzare i parametri di controllo per un motore passo-passo?


9

Come robot industriale ho trascorso la maggior parte del mio tempo a lavorare con robot e macchine che utilizzavano motori DC brushless o motori lineari, quindi ho molta esperienza nell'ottimizzazione dei parametri PID per quei motori.

Ora sto andando a fare robotica per hobby usando i motori passo-passo (sto costruendo il mio primo RepRap ), mi chiedo cosa devo fare diversamente.

Ovviamente senza feedback dell'encoder ho bisogno di essere molto più prudente nelle richieste al motore, assicurandomi di rimanere sempre all'interno dell'inviluppo di ciò che è possibile, ma come faccio a sapere se la mia ottimizzazione è ottimale, sub ottimale o (caso peggiore) leggermente instabile?

Ovviamente per un dato carico (nel mio caso la testa dell'estrusore) ho bisogno di generare treni di impulsi a passo che causano un'accelerazione e una velocità richieste che il motore può far fronte, senza passi mancanti.

Il mio primo pensiero è di fare alcune sequenze di test, ad esempio:

  • Motore domestico precisamente sul suo sensore domestico.
  • Spostare lentamente passi da casa.C
  • Sposta pochi passi da casa con un profilo di mossa prudente.M
  • Spostare passi con il profilo di accelerazione / velocità di prova.N
  • Sposta passi all'inizio della mossa di prova con un profilo di mossa prudente.N
  • Sposta torna a casa con un profilo di spostamento conservativo.M
  • Riporta lentamente i passi al sensore home, verificando che il sensore sia attivato nella posizione corretta.C
  • Ripetere l'operazione per una varietà di profili , , accelerazione / velocità e carico.NM

Ciò dovrebbe rilevare in modo affidabile i passi persi nello spostamento del profilo di test, ma sembra comunque uno spazio terribilmente ampio da testare, quindi mi chiedo quali tecniche siano state sviluppate per ottimizzare i parametri di controllo del motore passo-passo.


Nel mondo RepRap la diagnosi è che la stampa sembra orribile. Questo è il rilevamento di passi persi, per quanto ne so. Ma penso che la corrente utilizzata dallo stepper possa essere utilizzata come feedback se lo stepper fosse in grado di fare la mossa. Ma non ho sentito parlare di qualcuno che lo fa davvero.
Lars Pötter,

(Questi argomenti stanno diventando popolari questa settimana. Deve essere a causa di quell'articolo di pistola.) Il modo migliore / più semplice è quello di fare stampe di prova come il Test di tortura thingiverse.com/thing:33902

Risposte:


1

Il modo "matematico" per farlo è quello di generare una curva velocità / coppia per il tuo stepper alla sua data tensione e determinare la forza massima che verrà applicata all'oggetto in movimento (in questo caso, è probabile che la forza maggiore sia accelerazione).

Nota che la maggior parte delle stampanti 3D per hobby sono così fragili che la piegatura del telaio in accelerazione danneggerà la qualità di stampa molto prima di iniziare i passaggi mancanti. In questo caso, è possibile modellare la deflessione del telaio sotto carico.

Nella mia esperienza, il 90% dei passi persi è causato da problemi meccanici o software come l'associazione degli assi o la perdita di impulsi. Prova a spostare tutto a mano per verificare se è liscio.

Le velocità e le accelerazioni eccessivamente aggressive dovrebbero essere visibili (e udibili) su una stampante 3d molto prima dello stallo degli stepper.

Generalmente un singolo passo perso causerà anche la perdita dei passi successivi (dal momento che il motore deve ora lavorare ancora più duramente per recuperare) e si ottiene qualche secondo di ronzio invece di movimento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.