Vai al contenuto

Tesina

Comando di 2 encoder

Recommended Posts

Tesina

Salve io sto cercando di utilizzare 2 encoder per comandare 2 assi di un progetto, tuttavia non riesco a trovare in nessun sito o forum consigli sui collegamenti di questi e di come iniseririli all'interno del programma. Qualcuno riuscirebbe a darmi qualche informazione ?

Condividi questa discussione


Link discussione
Condividi su altri siti
Livio Orsini

Dovresti dare qualche altro dato.

Che PLC stai usando e con quale scheda encoder li in terfacci?

Condividi questa discussione


Link discussione
Condividi su altri siti
Tesina

Il vipa e un 314-6cg03 e utilizzo direttamente il plc con cpu e moduli Di/Do e Ai/ Ao

WhatsApp Image 2018-06-13 at 21.09.51.jpeg

Condividi questa discussione


Link discussione
Condividi su altri siti
Livio Orsini

Per prima cosa devi valutare a quale frequenza massima possono arrivare gli impulsi degli encoders e compararla con la massima frequenza accettata dagli ingressi digitali della scheda. Se è sufficiente, cosa di cui dubito, devi programmarti due contatori avanti indietro.

Il contatore da implementare è abbastanza semplice, si tratta di incrementare o decrementare una variabile, doppio intero dovrebbe essere sufficiente, ogni qualvolta si rilevi un impulso di clock.

La parte più complessa è rivelare l'impulso di clock ed il so verso: avanti o in dietro.

L'encoder incrementale genera due treni di impulsi, per convenzione sono detti A e B sfasati di 90° elettrici, poi ad ogni giro genera una marca di zero.

Sempre per convenzione si considera che se il fronte dell'impulso del canale B arriva dopo quello del canale A l'asse si muove in avanti, viceversa si muove all'indietro.

Dovrai leggere i fronti di salita dei 2 canali di un encoder ed in funzione della loro fase incrementare o decrementare il contatore.

Ad esempio.

Fronte di salita canale A si alza un bit che sarà abbassato dal fronte di discesa dello stesso impulso. Idem per il canale B.

Ad ogni fronte si verifica se il bit di stato dell'altro canale è basso o alto; se è alto si incrementa o decrementa il contatore in funzione della logica; A prima di B o viceversa. 

Dopo aver incrementato/decrementato il contatore alzi un secondo bit, che sarà abbassato solo quando entrambi i canali avranno segnalato la loro discesa. Questo per evitare di contare impulsi di "trillaggio" dell'encoder.  Questo avviene quando c'è una leggera oscillazione avanti indietro dell'albero.

 

Non è difficile però se non hai mai programmato diventa un lavoro un po' complesso.

Poi, una volta che hai conteggiato correttamente gli impulsi, dovrai effettuare l'algoritmo di posizionamento vero e proprio.

 

Se sei a questo punto della tesina a metà giugno la vedo un po' dura da portare a termine in tempo utile.

Condividi questa discussione


Link discussione
Condividi su altri siti
amed

Scarica il manuale di questa cpu da intternet e vai nel capitolo dove parla dei contatori veloci incorporati. Trovi tutto. Ciao

Condividi questa discussione


Link discussione
Condividi su altri siti

Registrati o accedi per inserire messaggi

Devi essere un utente registrato per lasciare un messaggio. La registrazione è GRATUITA.

Crea un account

Iscriviti alla nostra comunità. È facile!

Registra un nuovo account

Connettiti

Hai già un account? Connettiti qui

Connettiti adesso

×