Home › Forum › Discussioni su problematiche generali › Gestione motore Passo Passo con SlimLine
- Questo topic ha 4 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 2 anni, 11 mesi fa da Sergio Bertana.
-
AutorePost
-
Aprile 29, 2021 alle 3:02 pm #59856milesi.1907Partecipante
Stò pilotando un motore passo passo con CPU SlimLine MPS050. Utilizzo l’uscita DO0 in PWM per comandare il motore; la stessa uscita è collegata sull’ingresso veloce DI0, come controllo feedback della poszione.
Eseguo il conteggio degli impulsi con la funzione SysGetCounter. Utilizzo l’ingresso di Reverse per decrementare il conteggio quando si inverte il senso di rotazione. Tuttavia, “perdo” impulsi durante il funzionamento, infatti mi ritrovo con posizione reale e torica che non coincidono.
Avete idee o suggerimenti?
Aprile 29, 2021 alle 3:04 pm #59859Sergio BertanaAmministratore del forumQual’è la frequenza massima che comandi sull’uscita PWM?
Quando comandi l’ingresso di Reverse il motore è fermo ?
Hai provato a comandare solo in una direzione (Ammesso che tu possa) e verificato se in questo caso la posizione acquisita corrisponde alla reale ?
Aprile 29, 2021 alle 4:36 pm #59862milesi.1907PartecipanteComando il motore a frequenze di 50-100 Hz PWM. Quando il motore gira nella stessa direzione, non sembra perdere impulsi. Mentre per il comando di reverse, può capitare che non venga dato il comando di stop al motore, ma immediatamente il cambio di rotazione.
Aprile 29, 2021 alle 4:42 pm #59865Sergio BertanaAmministratore del forumLa frequenza è bassissima, il contatore sull’ingresso digitale è hardware quindi non perde conteggi indipendentemente dalla esecuzione del FB SysGetCounter. Il FB esegue la lettura dal contatore hardware degli impulsi ed esegue la differenza con il valore acquisito precedentemente:
Pulses:=CounterValue-CounterMemo;
CounterMemo:=CounterValue;Ad ogni esecuzione calcola il numero di impulsi acquisiti, questo numero viene sommato (Sottratto se Reverse) al valore di impulsi ritornato in Value. Ora è evidente che se cambi Reverse in movimento non potrai mai essere sincrono con il reale comportamento del motore certamente perderai qualche impulso che magari viene ancora sommato quando il motore invece ruota al contrario o viceversa.
Maggio 3, 2021 alle 7:58 am #59867milesi.1907PartecipanteCercherò di arginare il problema con un sensore di rifasamento che azzera il conteggio ogni volta che l’asse passa per quel punto.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.