Vai al contenuto
PLC Forum


Encoder Line Driver


roberto8303

Messaggi consigliati


Livio Orsini

Il tipo di uscita (open collector, line driver, push-pull) dipende dal tipo di circuito usato per l'interfaccia all'interno dell'encoder. Le specifiche tecniche del dispositivo ti dicono come è configurato e quali sono i livelli di segnale. Usarlo in modalità differente è sempre rischioso.

Link al commento
Condividi su altri siti

Se è un Line Drive ha bisogno di un'elettronica dedicata e non lo puoi sicuramente usare per un'elettronica che prevede canali Push Pull

Link al commento
Condividi su altri siti

allora non ho capito bene io cioe che mi ha detto un tecnico... mi spiegava che escludendo i tre fili dei canali negati fermo restando la tensione di alimentazione usando solo i canali A B e Z era possibile usare un encoder line driver con un elettronica push pull, comunque grazie per i chiarimenti evitero senz altro di fare collegamenti del genere. ;)

Link al commento
Condividi su altri siti

Secondo me il line driver ti garantisce i livelli di tensione tra i due segnali +/- di ogni singola uscita dell'encoder.

Nessuna garanzia sul valore assoluto di tensione. Quindi se misuri la tensione delle linee rispetto alla massa del tuo ingresso per assurdo potresti vedere anche 500V (ripeto per assurdo per rendere evidente l'idea non uccidetemi) ma la differenza tra +/- è sempre tra 5V o 10V o15 V quello che è. ad esempio puoi avere 500V e 490V con differenziale 10V.

Perciò se usi solo una delle linee dell'encoder su ingresso push pull secondo me può funzionare ma non hai nessuna garanzia dei livelli di tensione

Se possibile potresti collegare anche la massa tra encoder e scheda ingresso e utilizzare così lo stesso riferimento .

Anche in questo caso però potresti avere dei problemi perchè l'uinco parametro garantito dalla specifica è la tensione tra i segnali + e - perciò per un segnale a 5V potresti avere A- a 0V e A+ a 5V ma anche A- a 12V e A+ a 17V in questo caso il tuo pushpull vedrebbe un ingresso cambiare da 12V a 17V e probabilmente non funziona.

Link al commento
Condividi su altri siti

Livio Orsini

Roberto perchè non posti marca e modello dell'encoder? In questo modo vediamo che elettronica ha a bordo e vediamo se quello che ti hanno detto ha una possiiblità di essere corretto.

Link al commento
Condividi su altri siti

Livio a dire il vero con il costruttore di motori che mi ha dato questa informazione non abbiamo parlato di marca di encoder, pero io ho in sede encoder della elcis che monto su brushless che sono line driver e poi per plc siemens sono push pull e sono della elcis ecco il tipo

http://www.elcis.it/ITALIANO/catalogo/incr/pdf/X0044EA.pdf

Link al commento
Condividi su altri siti

Livio Orsini

Gli ELCIS son buoni prodotti, ne ho usati parecchi. però se usi line driver fornisce un segnale differenziale avente ampiezza di circa 5v. Se dal lato PLC non hai un ingresso a livello TTL devi usare la versione PUSH-PULL.

La versione Push-Pull avendo il segnale riferito a zero ha una minore immunità ai distrubi di modo comune però, a parità di condizioni, migliora il rapporto segnale-disturbo perchè il segnale di 24V è qausi 5 volte il segnale line driver.

Da evitarsi assolutamente gli open collector, NPN o PNP che siano, perchè tende a "sdraiare" il fronte dove non è pilotato.

Link al commento
Condividi su altri siti

  • 4 weeks later...

Dando per scontato che line driver è meno soggetto a disturbi specialmente ad alte frequenze,

ho trovato dei convertitori da line driver 422 a 24 V PNP appunto adatti a collegare i segnali encoder ad ingressi(veloci) PLC a 24V.

E' una schedina che converte 3 segnali (guarda caso A B Z).

li trovi qui

il distributore per l'italia è questo

ciao

Link al commento
Condividi su altri siti

  • 3 months later...
stefano.bernini

Ciao a tutti, sono nuovo di questo forum. Devo realizzare un sistema di controllo per un pendolo inverso su carrello, mi serve un encoder per risalire alla posizione dell'asta del pendolo, ho reperito in giro un encoder della omron E6B2-CWZ1X incrementale LINE DRIVE,(datasheet: http://www.ia.omron.com/data_pdf/data_shee...eet_csm491.pdf), lo devo utilizzare con un microntrollore PIC16F877A, può andare o è meglio un encoder di un altro tipo? premetto che sono abbastanza ignorante in materia di encoder...

Io semplicemente pensavo in modo molto alla larga...che a ogni posizione rilevata, l'encoder mi desse fuori una stringa di bit dove era espressa la posizione in numero binario, per esempio se il mio encoder è un 1024 P/R pensavo che ogni scatto che faceva mi sparasse fuori 10 bit che esprimevano la posizone....

Grazie per la disponibilità.

Link al commento
Condividi su altri siti

Salve,

per esempio se il mio encoder è un 1024 P/R pensavo che ogni scatto che faceva mi sparasse fuori 10 bit che esprimevano la posizone

non è propriamente così, nel caso dell'encoder da te reperito omron E6B2-CWZ1X.......etc etc. se si trattasse di un 1024 P/R (dove p/r sta per impulsi giro) la risoluzione del tuo encoder sarebbe la seguente:

Ad una rotazione completa dell'albero meccanico dell'encoder coè 360°, tramite le uscite A, -A, B, -B, il trasduttore "restituisce" 1024 impulsi, cioè se interfacci il tuo encoder su un contatore dedicato del microcontrollore, dopo una rotazione completa dell'albero del''encoder il tuo contatore avrà contato 1024.

Sempre considerando 1024 p/r ne consegue che la risoluzione in gradi per impulsi corrisponde a:

1 impulso equivale a 2,84° di spostamento.

premetto che sono abbastanza ignorante in materia di encoder...

aggiungo qualora non fossi a conoscenza del significato delle uscite A, -A, B, -B, Z, -Z che i canali A e -A sono in complementare trà di loro, questo significa che se analizzi il segnale con uno oscilloscopio mettendo la sonda tra A e -A il segnale che ti torverai avrà un livello di tensione che andrà da +5 a -5 volt ogni volta che avviene una commutazione, considerando che il tuo encoder ha una alimentazione a +5vdc.

Questa tecnica viene utilizzata sostanzialmente per aumentare la soglia di insensibilità a disturbi che accoppiandosi sui segnali potrebbero causare la commutazione del segnale dando un'informazione errata.

La stessa cosa dicasi per i canali B e -B, chei rispetto ai cananli A e -A sono "sfasati" di 90°.

Tipicamente discriminando la lettura delle traccie A con B e -A con -B il tuo sistema (contatore del microcontrollore) è in grado di gestire la modalità di conteggio in avanti (UP) o indietro (DOWN). Quindi in un sistema a pendolo, il contatore conterà un certo numero di impulsi, per iniziare poi a decontarli nel momento in cui il pendolo inverte la sua direzione e viceversa.

Infine i canali Z e -Z restituiscono un impulso ogni 360°, ovvero un impulso a giro, anche qui vale quanto detto per il discorso delle traccie complementari.

lo devo utilizzare con un microntrollore PIC16F877A, può andare o è meglio un encoder di un altro tipo?

Premetto che non ho sottomano le caratteristiche di questo PIC, per cui devi vedertele da solo o eventualmente attendere risposte da altri utenti in meirto o interpellare del personale tecnico presso il quale hai acquistato il PIC16F877A.

Se puoi aspettare nel pomeriggio posso darti una risposta precisa in merito, tra poco esco quindi non ho sufficiente tempo per risponderti.

l'encoder mi desse fuori una stringa di bit

non con questo tipo di encoder, inoltre ribadisco bisogna vedere anche sè il tipo di encoder scelto da te può interfacciarsi correttamente con le caratteristiche tecniche del contatore o contatori del PIC.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

stefano.bernini

Salve ,

Intano la ringrazio è stato molto esauriente!

Per quanto riguarda la risoluzione di un 1024 P/R non dovrebbe essere 365°/1024=0,35° ?

Quindi gestirlo dovrebbe essere molto semplice basta che uso un contatore dentro al pic implementato in linguaggio C, mi basta prendere i segnali A e B dove dal confronto di loro 2 capisco il verso di rotazione , il numero di impulsi è quanto ha ruotato, e uso Z come riferimento!

Link al commento
Condividi su altri siti

Salve,

Per quanto riguarda la risoluzione di un 1024 P/R non dovrebbe essere 365°/1024=0,35° ?

hai ragione nella fretta di stamattina avevo commesso un'errore nella proporzione la risoluzione di un'impulso corrisponde a 0,35°,

il valore 2,80 invece sarebbero il numero di impulsi corrispondenti ad 1°.

In un encoder di tipo incrmentale, gli impulsi che il trasduttore genera per un giro completo dell'albero meccanico cioe 360°, dipendono dal numero di "finestre" praticate nel disco ottico dell'encoder.

Queste finestre possono essere tipicamente 250,500,800,1024 etc. etc..

La scelta di tale riusoluzione, dipende essenzialmente dalla precisione che si deve ottenere nel sistema da controllare.

Ovviamente più sono le "finestre" nel disco ottico maggiore sarà la risoluzione del sistema.

Quindi dalla seguente proporzione si ricava che la risoluzione di un singolo impulso dell'encoder corrisponde a:

360°:1024 = X:1 da cui

X=(360°/1024)*1=0,35°

Quindi gestirlo dovrebbe essere molto semplice basta che uso un contatore dentro al pic implementato in linguaggio C, mi basta prendere i segnali A e B dove dal confronto di loro 2 capisco il verso di rotazione , il numero di impulsi è quanto ha ruotato,

Direi di si, devi provvedere ad effettuare correttamente l'interfacciamento del segnale proveniente dall'encoder, al fine di adattare il segnale corrispondente alla porta del contatore.

Poi discriminando la traccia A con B determini il senso di direzione.

il numero di impulsi è quanto ha ruotato

Corretto.

e uso Z come riferimento!

Si, questo dipende da te, solitamente l'impulso di zero viene utilizzato per definire una posizione nota all'accensione del sistema, oppure per effettuare dei reset o preset di conteggio su un punto stabilito etc. etc.

Hai piena facoltà di gestire il canale Z come meglio credi, a seconda della tua applicazione.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...