Jump to content
PLC Forum


bit encoder


giobos
 Share

Recommended Posts

Buonasera,

mi scuso per il titolo generico ma ho forti dubbi ed estremo bisogno di conoscenza teorica riguardo gli encoder. Mi trovo a che fare con una azienda che non vuole dichiarare il tipo di encoder utilizzato. So solo che è un encoder relativo e che ha 20 bit.

In questo caso il numero di bit a cosa è legato? Alla risoluzione dell' encoder (PPR - pulse per revolution)? Se sì, in che modo? C'è un convertitore A/D all'interno dell' encoder? Non riesco a spiegarmi la necessità di questa conversione A\D se sono già presenti i canali in onda quadra digitali A - B e Z.

Inoltre quale è la differenza tra CPR e PPR? In che senso con gli encoder in quadratura di fase è possibile aumentare la risoluzione fino a 4 volte tanto?

Tutte queste domande sorgono perchè ho un problema riguardante la parametrizzazione di un azionamento brushless AC. In particolare il driver è comandato in posizione a treno di impulsi. I parametri con cui ho a che fare sono:

1. Il numero di impulsi per fare compiere 1 giro completo al motore ("Command Pulse Counts per motor revolution")

2. "Output pulse counts per motor revolution" che, per avere la corrispondenza tra un impulso comandato al motore e un impulso dell'encoder simulato, deve essere pari a "Command Pulse Counts per motor revolution / 4). C'è qualche nesso con il discorso della quadratura dell' encoder?

 

Mi scuso per la serie di domande ma è un pò di tempo che ho questi grossi dubbi e non posso andare avanti senza averli risolti.

Grazie dell'aiuto e non esitate a chiedermi se qualcosa non vi è chiara.

Grazie

 

  

Link to comment
Share on other sites


Livio Orsini

Sebrerebbe un encoder assoluto.

Se è un assoloto a 20 bits significa che tutta la sua rotazione (potrebbe essere una o più rivoluzioni) viene suddivisa in 1048575 passi discreti.

Un encoder di questo tipo però potrebbe essere inadatto ad essere montato sull'asse di un motore.

Non si può dare risposta senza sapere con certezza di cosa si tratta.

Prova a spiegare l'applicazione, dove è montato l'encoder, cosa fa, la marca dell'encoder ed il suo tipo. Insomma servono più informazioni.

Mi trovo a che fare con una azienda che non vuole dichiarare il tipo di encoder utilizzato.

La cosa mi suona molto strana. Se hanno fornito un'apparato devono dare tutte le informazioni.

Link to comment
Share on other sites

Grazie Livio della pronta risposta,

 

è un encoder Panasonic ma mi è arrivato in mano per vie traverse ^_^ (tutto legale vai tranquillo!). Lo sto solo testando e non riuscivo a capire quella famosa moltiplicazione per 4. Perchè viene fatta di solito? L'applicazione la sto ancora studiando per cui è tutto in fase di studio.

In che senso è un encoder assoluto?

Grazie

Link to comment
Share on other sites

SandroCalligaro

Un encoder assoluto è... ti rimando alle definizioni di Livio in questa discussione, in particolare alla seconda pagina. :smile:

 

La moltiplicazione per 4 a me fa pensare ad un encoder ottico incrementale, ma in effetti 20 bit sono tanti.

Non so se sia questo il caso, appunto, ma negli encoder ottici incrementali la moltiplicazione per 4 viene dal fatto che, per discriminare il verso di rotazione, ci sono due segnali sfasati tra di loro di 1/4 di impulso. La XOR dei due segnali dà un segnale che varia ogni 1/4 di periodo, perciò si può contare un numero di fronti (sia salita che discesa) che è 4 volte tanto.

Edited by SandroCalligaro
Link to comment
Share on other sites

Buongiorno a tutti e grazie delle risposte :smile:

In internet ho reperito il manuale e ho trovato lo schema che vi allego. I fili per l'encoder incrementale sono 5 e, per quanto riguarda il modello, ho visto che i motori Panasonic sono forniti con encoder già attaccato dietro.

Grazie a tutti della collaborazione.

 

Vi ringrazio

 

Link to comment
Share on other sites

Ecco ora l'ho caricato in Downloads. In qualche maniera ho fatto, se non è il posto giusto me ne scuso.

 

Grazie a tutti della collaborazione

Link to comment
Share on other sites

E' un ancoder incrementale, mono direzionale perchè ha un solo canale: "PS"; /PS onvece è il suo negato.

Per rispondere alle tue domande bisognerebbe avere più dati.

L'encoder ha un certo numero di impulsi per rivoluzione. Se è calettato direttamente sull'albero motore 1 rivoluzione di motore corrisponderà al numero di impulsi per rivoluzione dell'encoder.

L'evoder non ha convertitori A/D, ne tanto meno è necessario un simile dispositivo. I segnali sono digitali, probabilmente del tipo "line driver" a 5V.

Dovresti pèrocurarti il foglio tecnico completo dell'encoder.

Link to comment
Share on other sites

SandroCalligaro

Mi sembra strano che sia un incrementale con un solo canale: come fa a funzionare da servo?

L'impressione è che sia un'interfaccia seriale (ma senza clock?). Tra l'altro, da un documento che ho visto sembra che i due segnali complementari siano indicati come "TX/RX" e suo negato.

Edited by SandroCalligaro
Link to comment
Share on other sites

Grazie delle risposte,

cosa vuol dire PS? Monocanale vuol dire che secondo te, Livio, non ha i classici 3 canali A, B, Z? 

Sandro, non capisco quando parli di "Tx/Rx e suo negato". Cosa intendi? Stai parlando del protocollo di comunicazione?

Grazie ma sono ben confuso da come si vede:wallbash:

Link to comment
Share on other sites

Qui stiamo facendo ipotesi sul nulla.

Senza data sheet non si può stabilire alcunchè.

Per PS e /PS son l'uscita diritta e tegata, però come ipotizza Sandro potrebbero anche essere i 2 fili di una RS485 ed il tuo encoder essere un assoluto letto in seriale.

Link to comment
Share on other sites

SandroCalligaro

A questo punto, indipendentemente dal tipo di encoder, se ho capito bene hai a disposizione il drive "giusto" per quel motore, perciò il drive dovrebbe essere in grado di funzionare.

Qual è il problema pratico che è rimasto in piedi?

 

Se il problema è il numero di impulsi da inserire, credo nel manuale queste informazioni ci siano. 20bit dovrebbe significare 2^20 PPR, male che vada devi considerare, come dicevi, 4 volte tanto come numero di conteggi per giro.

Link to comment
Share on other sites

Grazie a tutti delle risposte, scusate sono stato impegnato in questi giorni e non ho potuto tanto accedere al forum.

Sono riuscito a recuperare una parte del datasheet, lo trovate qui: http://www.plcforum.it/f/files/file/4501-datasheet-encoder-panasonic/

I due segnali PS e PS/ credo si riferiscano alla comunicazione in RS485 come diceva Sandro. 

Si ho motore giusto con encoder giusto Sandro, il problema pratico che è rimasto in piedi è che non capisco il perchè devo inserire nel parametro 0.11 (impulsi per un giro dell'encoder simulato dall'azionamento) un valore che moltiplicato per 4 deve darmi il valore del parametro 0.8 (impulsi per giro). Ad esempio se sul parametro 0.8 imposto 10 000, sul parametro 0.11 devo impostare 2500. Il driver controlla il motore AC brushless in posizione tramite treno di impulsi.

Volevo capire il discorso a livello teorico ecco, tutto qua.

Da dove salta fuori quel 4? 

Per poterlo capire ho pensato che bisognasse sapere il tipo di encoder utilizzato ecco tutto.

Vi ringrazio della pazienza e disponibilità, mi rendo conto di essere un pò ignorante su questi concetti non avendoli mai provati prima ;)

Grazie a tutti

 

Link to comment
Share on other sites

Da quella pagina si deduce che si tratti di un resolver; infatti si parla di seno e coseno, da cui un A/D a 12 bits estrapola 4096 posizioni equivalenti dell'albero. In pratica come se fosse un encoder a 4096 impulsi per rivoluzione.

Questo codice viene trasmesso in via seriale.

Bisognerebbe leggere bene il manuale per capire se:

  • è indispensabile la moltiplicazione per 4
  • se è relativa agli impulsi del treno di impulsi o all'encoder virtuale del motore.
Link to comment
Share on other sites

Grazie Livio,

ma non capisco..come fa essere un encoder a 4096 ppr se c'è scritto 20 bit? 

Ammesso che sia a 4096 ppr, come mai nel Pr 0.08 che stabilisce il numero di impulsi da mandare al driver per far compiere al motore 1 giro completo, può arrivare a 2^20 (circa 1 048 576)? 

Per quanto riguarda la moltiplicazione per 4:

- Sulle note relative al Pr 0.08 viene scritto ("After multiplied by 4")

- Sulle note relative al Pr 0.11 viene scritto ("Before multiplied by 4")

Non so se ti è di aiuto, a me dà l'impressione che la moltiplicazione per 4 venga fatta a valle del Pr 0.11, quindi che si tratti dell' encoder virtuale del driver.

Una curiosità personale, un resolver è la stessa cosa di un sin/cos? Può avere lo stesso i canali A, B, Z? Mi puoi indicare una guida magari così mi schiarisco le idee perchè, da come si vede, ce ne ho poche e ben confuse :wallbash:

Grazie

Link to comment
Share on other sites

Devi osservare bene i diagrammi e le note.

12 bits è la risoluzione dell D/A.

Al primo momento leggendo di un seno/coseno, ho pensato ad un resolver.

Poi osservando meglio i diagrammi penso che sia più probabile un encoder sinusoidale con 256 simusoidi a giro. da qui i 20 bits totali: 4096 la divisione della sinusoide e 256 il numero di sinusoidi..

Certo che avere un adashett completo dell'encoder si potrebbe anche avere qualche certezza sul funzionamento, senza dover fare ipotesi.:angry:

Link to comment
Share on other sites

SandroCalligaro

Il documento dice 11 bit dall'interpolazione delle tracce Sin/Cos, i rimanenti 9 sono il conteggio dei periodi delle stesse tracce.

In ogni caso l'ultima parte (abbastanza consistente) della risoluzione è data dalla conversione AD, e sembra essere piuttosto imprecisa (fino a ±64 LSB di errore, come a dire che di quegli 11 bit, solo 5 sono certi!).

 

Non capisco bene da dove venga il 4x, visto che il conteggio ABSS avanza allo stesso modo di ABSA. Potrebbe essere semplicemente una convenzione per il posizionamento.

Edited by SandroCalligaro
Link to comment
Share on other sites

In effetti parla di 12 bits, di cui 11 derivati dall'interpolazione seno/cose. FFF esadecimale = 4095 decimale, 4096 se si considera lo zero.

E' un classico encoder sinusoidale da 256 impulsi per giro, se preferisci 256 cicli.

E' identico ad unencoder classico con uscita quadrata. Solo che non c'è lo squadratore.

E' abbastanza semplice da dimostrare che un fotodiodo, che ha una finestra ottica circolare, quando legge segnali quadrati come le tacche di un encoder, da in uscita, se non lo si fa saturare, una sinusoide. Di norma gli encoders amplificano e squadrano l'uscita del rivelatore, genrando segnali quadrati

La tecnica dei segnali sinusoidali venne usata, quando i dispositivi logici eran lenti, per poter spingere la velocità di rotazione degli encoders.

Si trova una guida ben fatta sugli encoder?

Di guide specifiche sogli encoders non ne ho mai viste. Si trovano documenti annidati in altre pubblicazioni. Anche perchè un encoder è un  trasduttore molto semplice.

L'unica cosa utile che potresti fare è reperire il data sheet completo ed originale dell'encoder. hai modello e costruttore, non dovrebbe essere difficile reperirlo sul webb, basta un po' di apzienza e lotrovi.

Edited by Livio Orsini
Link to comment
Share on other sites

Grazie Sandro,

cosa si intende con ABSA e ABSS? Si trova una guida ben fatta sugli encoder? Tipologia, funzionamento?

Grazie mille per la pazienza

Link to comment
Share on other sites

SandroCalligaro

Conosco gli encoder Sin/Cos, uno di questi (risoluzione 25 bit!) è stato il primo che ho usato sul mio ormai "consumato" Gefran ADL200. :smile:

Visto che (a quanto mi risulta) questi encoder hanno un loro mercato per i servo, non so se attualmente ci sia qualche accorgimento appositamente studiato per fare in modo che la forma d'onda in uscita dal rivelatore sia poco distorta. Mi immagino ad esempio una "stampa" delle righe sul disco volutamente e ad arte "sfumata", viste le possibilità che ci sono con la fotolitografia.

 

Dicevo che sono 11 bit dall'interpolazione, come scritto nella tabella: "The lower 11 bits represent the interpolation data for the Sin/Cos signals.", e anche nella nota in fondo alla pagina. In ogni caso, non cambia nulla!

 

cosa si intende con ABSA e ABSS?

Cosa significhino letteralmente non ne ho idea. In questo campo in particolare (azionamenti), ma forse anche molti altri, varie persone ed aziende danno alle stesse cose i nomi più svariati.

Creando confusione, purtroppo.

 

Da quel che si capisce uno è il conteggio effettivo sul giro meccanico (ABSA) e l'altro un conteggio degli stessi impulsi, ma con un fondo scala diverso ed un valore di partenza diverso.

Edited by SandroCalligaro
Link to comment
Share on other sites

Mi immagino ad esempio una "stampa" delle righe sul disco volutamente e ad arte "sfumata", viste le possibilità che ci sono con la fotolitografia.

 

Non è necessaria alcuna sfumatura, anzi più i rettangoli sono netti migliore è l'uscita sinusoidale. L'unico accorgimento è non far saturare il rivelatore di luce. Me ne resi conto alcuni decenni fa, durante lo sviluppo di un lettore bar code. All'inizio ne rimasi stupito, poi verificai la teoria e capii dìche deve essere così.

Il convertitore è un 12 bits dichiarato, così come il codice. Non terranno conto del bit meno significativo.

A me poco interessa, ma se dovessi usarlo io per prima cosa mi procurerei il data sheet completo dell'encoder.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...