# Encoders incrementales- Dos canales



## LudCa (Ago 5, 2014)

Hola gente!
Les comento mi situación, estoy empezando a trabajar con encoders para llegar a  medir la velocidad y dirección del viento, la cosa es que estoy con el módulo QEI, por lo que según tengo entendido utiliza estos encoders "incrementales de 2 canales". 
La verdad,soy nuevo en todo esto, por lo que me lleva a preguntar si estos me sirven para mi objetivo.
Y ya que estamos, que debería tener en cuenta para elegir uno. Ya sea frecuencia, ppr , rpm, étc.
Saludos


----------



## papirrin (Ago 5, 2014)

segun recuerdo el pic 18f2431 tiene para encoders incrementales y si te sirve para  2 canales, QEA y QEB, pero debes checar la frecuencia maxima en el datasheet, la cual no recuerdo XD

lo que no entiendo es que si quieres saber su velocidad solo requieres de alguna interrupcion externa y un sensor de efecto hall, y para la direccion si el encoder, aunque yo para simplificarlo lo haria con un potenciometro sinfin y un ADC o algun encoder absoluto que no requiere de ajuste


----------



## Scooter (Ago 6, 2014)

Para ver la velocidad no sirve de nada que sea absoluto. Eso solo sirve para saber la posición y no creo que sea interesante la posición de una hélice

Edito. Supongo que si, que para la dirección si que vale, que es mejor absoluto


----------



## LudCa (Ago 6, 2014)

papirrin dijo:


> segun recuerdo el pic 18f2431 tiene para encoders incrementales y si te sirve para  2 canales, QEA y QEB, pero debes checar la frecuencia maxima en el datasheet, la cual no recuerdo XD
> 
> lo que no entiendo es que si quieres saber su velocidad solo requieres de alguna interrupcion externa y un sensor de efecto hall, y para la direccion si el encoder, aunque yo para simplificarlo lo haria con un potenciometro sinfin y un ADC o algun encoder absoluto que no requiere de ajuste



La idea es usar los encoders con el módulo, entonces para la velocidad no tengo ningún problema en cuanto a la presición.
El tema es con la dirección,se determinaría según el giro del encoder, teniendo en cuenta que su dirección no es que va cambiando a grandes velocidades, no hay problema con el incremental,no?
Gracias.


----------



## Ardogan (Ago 6, 2014)

Más alla de absoluto/incremental es importante ver el ambiente de aplicación.
Para medir velocidad del viento, bien, supongo que para alguna estación meteorológica. Está cerca del mar?, hay mucha vibración?, polvo?, hay temperaturas bajo cero?.
Ya evaluaron que tipo de encoder utilizar?: optico, magnetico, capacitivo...
Descartaron otros sistemas antes de elegir usar encoders?: medición por ultrasonido (los 3 palitos), coperolas, etc (ver http://www.youngusa.com/products/1/ por ejemplo)


----------



## LudCa (Ago 6, 2014)

Ardogan dijo:


> Más alla de absoluto/incremental es importante ver el ambiente de aplicación.
> Para medir velocidad del viento, bien, supongo que para alguna estación meteorológica. Está cerca del mar?, hay mucha vibración?, polvo?, hay temperaturas bajo cero?.
> Ya evaluaron que tipo de encoder utilizar?: optico, magnetico, capacitivo...
> Descartaron otros sistemas antes de elegir usar encoders?: medición por ultrasonido (los 3 palitos), coperolas, etc



Si, medir la velocidad del viento. En realidad,no tomamos en cuenta el aspecto del entorno, ya que no va a ser de uso comercial, ni nada por el estilo. 
Ahí también apunta mi tema, de qué tipo de encoder puedo/debo usar, he leído que es muy recomendable el mágnetico pero quiero entender como debería elegir el tipo de encoder.
Los otros sistemas están descartados, ya que el objetivo es usar el módulo QEI.
Gracias por la respuesta!


----------



## papirrin (Ago 6, 2014)

> El tema es con la dirección,se determinaría según el giro del encoder, teniendo en cuenta que su dirección no es que va cambiando a grandes velocidades, no hay problema con el incremental,no?



a ver si vas a utilizar una hélice, propela o como le quieras llamar supongo que vas a medir revoluciones, con un solo punto que detectes es suficiente, como se mide la velocidad del cigueñal de los autos o motores brushless etc. veo totalmente innecesario un encoder.

la direccion que supongo va a ser una paleta de direccion como esta:







si pones un encoder que no sea absoluto vas a tener que poner un punto de inicioy algun motor o algo parecido para que detecte ese punto de inicio porque en caso de que se pierda la cuenta va estar fallando, por eso te sugiero un encoder absoluto o un potenciometro sinfin (esos que dan vueltas y vuletas y nunca topan con nada y no hablo de los multivueltas)



 estaba viendo que si hay encoder incrementales con punto de inicio:





pero de todos modos creo que seria mejor algo mas confiable ademas de que se necesitarian 3 canales. 

ahora si explica mejor que modelos de encoder tienes o puedes conseguir y de que modulo QEI hablas XD


----------



## Ardogan (Ago 6, 2014)

LudCa dijo:


> Si, medir la velocidad del viento. En realidad,no tomamos en cuenta el aspecto del entorno, ya que no va a ser de uso comercial, ni nada por el estilo.
> Ahí también apunta mi tema, de qué tipo de encoder puedo/debo usar, he leído que es muy recomendable el mágnetico pero quiero entender como debería elegir el tipo de encoder.
> Los otros sistemas están descartados, ya que el objetivo es usar el módulo QEI.
> Gracias por la respuesta!



Ah ok, es bueno saberlo. Si es para uso casero Avago tiene ópticos y magnéticos que son relativamente baratos (<U$S 50 en vez de los U$S100 que puede costar de otros proveedores), también CUI. Supuestamente los magnéticos se comportan mejor en ambientes sucios donde hay polvo fino y vibración. 
Los ópticos dependen de una correcta alineación entre el disco ranurado y los emisores/receptores (1 conjunto por cada canal).

Pero de vuelta... para algo experimental ese tipo de cosas no son importantes. Incluso podrías hacer un cuenta revoluciones con un sensor hall más un imán, y la dirección resolverla con un potenciómetro.

Pero ya me fui de tema... como dice Papirrin, si el encoder incremental tiene un canal índice o canal Z, podes sacar la posición angular contando pulsos a partir de la señal índice.
El módulo QEI te da en forma directa la cantidad de cuentas en el registro POSCNT:
http://ww1.microchip.com/downloads/en/devicedoc/93002A.pdf
Ahí también explica como obtener la velocidad.

Qué parámetros son necesarios para seleccionar el encoder?:


Cantidad de canales:
Con 1 canal solo medis velocidad pero no sentido de giro
Con 2 canales A,B medis velocidad y dirección de giro
Con 2 A,B canales más canal índice Z o I tenés posición
Velocidad de viento: podrías usar 1 uno de 1 canal
Dirección: de 2 canales + índice, o un encoder absoluto

Resolución ppr: cantidad de pulsos con vuelta: si es un encoder de 2 canales podes discriminar hasta 1 pulso/4, con lo que si el acople es directo y es un encoder de 100 ppr vas a tener una resolución de 100 * 4 / 360 = 1,11°
Velocidad máxima en rpm del eje medir: en tu caso para viento vas a  tener que definir que precisión querés en la dirección, y que velocidad  de viento vas a medir (y luego depende de como lo acoples al eje del  encoder, si hay relación de transmisión...)
Tamaño del eje del encoder (depende de como lo acoples al eje motor): 5mm, 6mm, 10mm... también puede ser un encoder hueco (hollow shaft)
Tensión de alimentación: pueden funcionar a 5V o 12V
Salidas A, B, Z: pueden ser single-ended a colector abierto, digitales tipo TTL, diferenciales (2 señales complementarias por canal: A y /A, B y /B, Z y /Z). Esto depende de que tan lejos está el encoder de la electrónica que lee el encoder.
Hay otros parámetros pero creo que para tu caso con eso basta. No dejes de ver hojas de datos de fabricantes distintos, y también tienen guías de selección muy útiles.


----------



## LudCa (Ago 6, 2014)

Ardogan dijo:


> como dice Papirrin, si el encoder incremental tiene un canal índice o canal Z, podes sacar la posición angular contando pulsos a partir de la señal índice.
> El módulo QEI te da en forma directa la cantidad de cuentas en el registro POSCN
> 
> Ahí también explica como obtener la velocidad.
> ...




Buenisimo,gracias por el aporte! Empezaré a buscar entonces.
Saludos a todos!


----------



## Hellmut1956 (Ago 10, 2014)

Considerando lo sencillo es que es usar una componente, por ejemplo un sensor angular magnético, que con un poco de habilidad se consigue gratis como muestra o que solo cuesta pocos Euros, 50 a 100 USD me parece exageradisimo! Si se usa un controlador con una periferia de codificador cuadratura, por ejemplo cualquiera de los ARM Cortex Mx con tal periferia, CMSIS la biblioteca que existe para todos los ARM Cortex M, ya te proporciona una multitud de resultados extraídos a razón de la interfaz A, B, e Índice de un sensor angular.


----------

