Come rilevare quando un motore passo-passo si è bloccato?


12

Come posso rilevare quando un motore passo-passo si è bloccato?

Una ricerca su Google mi ha portato ad alcune persone che affermano che quando il motore passo-passo si blocca, la corrente aumenta, che è facilmente rilevabile con un sensore Hall. (O, suppongo, da uno qualsiasi degli altri sensori di corrente menzionati in "Come posso rilevare la corrente del motore?" ).

Tuttavia, ho misurato la corrente attraverso (uno dei 4 fili) del mio motore passo-passo, ed è sempre entro qualche percento di 0,5 A, se il mio driver stepper mantiene una posizione, spostandola normalmente (che nella mia applicazione è molto lentamente ) o il guidatore dello stepper pensa che stia dicendo allo stepper di muoversi normalmente, ma il motore si è ancorato al limite massimo. Anche la misurazione della corrente nell'alimentatore + 12V che va al driver del motore passo-passo, ha dato una corrente abbastanza costante. Ciò può essere dovuto al fatto che ho abbassato il limite corrente di tale importo sul mio driver del motore passo-passo "chopper".

Mi mancano alcuni dettagli chiave nell'approccio "misura l'attuale"?

Una ricerca su Google mi ha portato ad altre persone che misurano il back-EMF (BEMF) in una bobina dello stepper durante il periodo in cui il guidatore dello stepper sta guidando solo l'altra bobina. Ma questo sembra solo distinguere tra "un motore che si muove rapidamente" vs "un motore fermato", e non sembra distinguere tra il mio caso di "un motore che si muove lentamente" e "un motore fermato".

Esiste un modo per applicare l'approccio BEMF anche in un sistema in cui guido sempre lentamente lo stepper e non lo giro mai velocemente?

Attualmente sto usando una scheda driver stepper con il chip TI DRV8825 su di essa, e ho sperato che il pin "guasto" mi avrebbe detto quando il motore stepper si è bloccato contro il mio arresto duro. Ma sembra che non stia facendo nulla - dovrebbe parlarmi di una bancarella, ma ho appena fatto un cablaggio sbagliato?

C'è qualche altra tecnica di chip o unità che rileva quando lo stepper si è bloccato contro l'arresto duro?

Esiste un'altra tecnica per rilevare una situazione di stallo difficile che posso "aggiungere" a un sistema utilizzando un driver per motori passo-passo standard?

(Esiste un altro sito StackExchange più appropriato per domande su motori e driver di motori?)



il rilevamento della corrente tramite un resistore shunt alimentato a un amplificatore operazionale verso un semplice controller PID

Eh? Come può aiutarmi a rilevare quando un motore passo-passo si è bloccato? Come ho detto nella domanda originale, "Ho misurato la corrente ... ed è sempre entro un po 'del 0,5 percento di 0,5 A, indipendentemente dal fatto che il mio stepper driver ... lo sposti normalmente (che nella mia applicazione è molto lentamente), o il il guidatore dello stepper pensa che stia dicendo allo stepper di muoversi normalmente, ma il motore ha agganciato il limite duro ".
David Cary,

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post: puoi sempre commentare i tuoi post e una volta che avrai una reputazione sufficiente sarai in grado di commentare qualsiasi post .
Shahbaz,

sono stato cercato anche questo. penso che sia il modo migliore per utilizzare l'encoder di feedback confrontando l'angolo di passo e il numero di passo con l'impulso di ingresso

Risposte:


6

Un'opzione è un driver del motore passo-passo che utilizza un sistema di stallo sensorless, come la STMicroelectronics L6470 dSPIN: driver del motore microstepping completamente integrato con motore di movimento e SPI .

Una volta calibrato, è in grado di rilevare una condizione di stallo e sollevare il pin FLAG in alto per avvisare della presenza del problema.


3
Benvenuti nella robotica Kurtnelle e grazie per la risposta. L'ho modificato per fornire un po 'più di contesto e fornire abbastanza informazioni dal collegamento in modo che le persone possano trovare le informazioni altrove se il collegamento marcisce .
Mark Booth

Ho scoperto che il rilevamento di stallo L6470 è molto difficile da calibrare. Il mio processo è stato quello di trovare i kvals minimi richiesti per un funzionamento normale e affidabile (ignorando la soglia di stallo). Quindi salgo la soglia di stallo fino a quando non smette di segnalare errori di stallo. Poi lo aumento un po 'di più per l'altezza della testa. Ma molte volte, non rileva ancora una condizione di stallo ... hai qualche suggerimento?
Dave,

4

Ho scoperto che la FFT della forma d'onda corrente dello stepper mostra spesso le armoniche di frequenza naturali del sistema motore + driver E che durante uno stallo compaiono armoniche di frequenza extra !!! tutto ciò che serve è un rapido, bidirezionale IC di conversione da corrente a tensione e un filtro passa-banda stretto per rilevare se sono presenti armoniche extra.


2

Sfortunatamente, come hai scoperto, è difficile dire se un motore passo-passo è bloccato perché la corrente attraverso le bobine di un motore passo-passo è all'incirca la stessa se è bloccata (non può fare un passo), mantenere la posizione o fare un passo normalmente .

Si potrebbe sicuramente rilevare facilmente uno stallo se si aggiunge un encoder o si utilizza un motore passo-passo che ne aveva già uno.

Perché vuoi rilevare lo stallo del motore passo-passo? A differenza di un motore DC spazzolato, lo stallo di un motore passo-passo in genere non fa male. Potresti raggiungere lo stesso scopo con un finecorsa?


2
Rilevare lo stallo è importante per rilevare i passi persi esp. nella fresatura CNC dove le tolleranze dei pezzi sono fondamentali.

Il vecchio post, ma rilevare le bancarelle è importante anche se stai guidando un singolo asse (su una macchina CNC, ad esempio) con due motori. Altrimenti sei un bel cavalletto quadrato, realizzato con cura e senza dubbio costoso che può strappare a brandelli.
3Daveva il

2

Se si desidera rilevare passaggi persi, si desidera un codificatore. Fortunatamente, esistono encoder sia magnetici che ottici che forniscono facilmente 4096 passi per giro, quindi anche un motore passo-passo micro-stepping verrà misurato con almeno un passo per passo.

Si noti che alcuni mulini a controllo numerico potrebbero non rilevare necessariamente i passi persi; spetta all'operatore non programmare un percorso utensile troppo difficile per il mandrino e l'utensile e ascoltare il problema quando si verifica. Invece, quei CNC usano semplicemente i finecorsa per trovare la casa assoluta, e quindi funzionano interamente assumendo dei passi.

Gli encoder possono permetterti di sperimentare anche altre funzionalità, come l'uso di un motore DC assist per mosse non impegnate per rapide molto veloci :-)


2

Devi quantificare: "Ho misurato la corrente attraverso (uno dei 4 fili di) il mio motore passo-passo, ed è sempre entro qualche percento di 0,5 A". Un 'pochi percento' potrebbe essere tutto ciò di cui hai bisogno per rilevare un po 'di corrente in più durante lo stallo (se c'è una corrente in più, come potrei anche supporre, ma avrebbe bisogno di dimostrarlo), che può essere rilevato e confrontato con la normale corrente di stepping. In alcuni casi 40 uA è maggiore e in alcuni casi 4 mA è la differenza principale. Senza i parametri di misurazione da te è impossibile consigliarti davvero.

Quindi, qual è esattamente la corrente per un passo rispetto allo stallo e la differenza è coerente? Misurerei anche tutti i fili ... Stai usando un unipolare corretto? Ho usato stepper ma non mi sono mai preoccupato di misurare la corrente poiché gli stepper che ho usato corrispondevano ai requisiti di carico e non si sono mai arrestati. Quindi una risposta rapida è solo per ottenere uno stepper più grande.

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.