encoder incremental, sensor posicion

mis queridos amigos y colegas :

Necesito por favor su ayuda en lo siguiente :

Me gustaria alguien me enviara un archivo donde encuentre un micocontrolador con un sensor encoder del tipo incremental y/o me explicara como detecta exactmente el sentido del giro con las diferentes señales que envia el encoder.

tengo entendido que envia 3 señales desfasadas dos y la tercera tiene un periodo mayor, pero no he omprendido aun como hacer el algoritmo para detectar el cambio de giro.


muchas gracias, espero me ayuden !.
 
Amigo por tus mensajes veo que estas trabajando con VFD´s bien ahi va:

Los enconder para este tipo de aplicaciones como afirmas tienen 3 señales dos de las cuales son A (A+ y A- este es una par aislado) B(B+ y B-) y el pulso Z (Z+ y Z-) donde una señal del par aislado es el complemento de la otra es decir su negación y con respecto de B se encuentra desfasado 90º grados electricos es decir 1/2 pulso ya este desfase es el que detecta en que sentido va el eje del motor si C.W o en sentido C.C.W.Con la lectura de una de sus dos señales A o B se puede calcular la velocidad a partir de los pulsos por revolucion (PPR). El pulso Z se utiliza solamente cuando se quiere saber cual es la posicion 0º de el encoder y a partir de ahi poder conocer como cuadrariamos el eje y a que grados queremos que se utilize nuestro motor. Esto se utiliza mucho en Spindle de CNC para cuando se necesita cambiar herramientas, si no se tuviese este pulso Z, se presentaria choque o daño del eje.

Espero que con esto puedas tener claro el concepto.

Saludos
 

Adjuntos

  • seales_enconder_incremental_679.jpg
    seales_enconder_incremental_679.jpg
    36.3 KB · Visitas: 280
te agaradezco luis eduardo, pero pues ese dato lo conozco y no ha problema. mi pregunta era cual o deque manera es el algortimo para con el microcontrolador detectar el sentido de giro.


Agradezco la ayuda, ya se como es el algoritmo, ayerdepues de haberme sentado a pensar lo pude sacar y creo me estaba enfrascando en una bobada.

gracias.
 
Hay varios algoritmos que te generan distinta cantidad de cuentas por vuelta.
Esos ejemplos de pseudocodigo no son optimos, de acuerdo al manejo que se haga con las interrupciones puede mejorarse.


Llamo A y B a las señales leidas y Ao y Bo a la lectura anterior.
A' B' Ao' Bo' son los complementos.


* Algoritmo x1

IF Ao'·A = 1 (flanco ascendente)
IF B = 0 --> Suma 1 (UP)
ELSE --> Resta 1 (DOWN)
ENDIF


* Algoritmo x2

IF Ao'·A = 1 (flanco ascendente)
IF B = 0 --> Suma 1 (UP)
ELSE --> Resta 1 (DOWN)
ELSE IF Ao·A' = 1 (flanco descendente)
IF B = 0 --> Resta 1 (DOWN)
ELSE --> Suma 1 (UP)
ENDIF


* Algoritmo x4

IF Ao'·A = 1 (flanco ascendente)
IF B = 0 --> Suma 1 (UP)
ELSE --> Resta 1 (DOWN)
ELSE IF Ao·A' = 1 (flanco descendente)
IF B = 0 --> Resta 1 (DOWN)
ELSE --> Suma 1 (UP)
ELSEIF Bo'·B = 1 (flanco ascendente)
IF A = 0 --> Resta 1 (DOWN)
ELSE --> Suma 1 (UP)
ELSE IF Bo·B' = 1 (flanco descendente)
IF A = 0 --> Suma 1 (UP)
ELSE --> Resta 1 (DOWN)
ENDIF
 
Yo me acordaba que por algun lado tenia una forma compacta del algoritmo x4 usando la funcion XOR, no es tan 'legible' como lo anterior pero es mas simple.


Con PIC:
- Para A,B se usan los pines que tienen Interrupt On-Change.
- Durante la interrupcion, A y B a las señales leidas y Ao y Bo las de la interrupcion anterior.

- En la interrupcion:
IF Ao XOR B = 0 THEN Suma 1
ELSE Resta 1
ENDIF


Con compuertas:

Ao y Bo son las señales despues de pasar por un flip flop D.
P,Q las salidas de dos compuertas XOR.

clokUP y clockDOWN las señales de reloj a ingresar a un contador UP/DOWN de dos entradas tipo 74LS192/193

P = Ao XOR B
Q = A XOR Bo

clockUP = P'·Q
clockDOWN = P·Q'
 
que onda yo en estos momentos estoy tratando de hacer el encoder de posicion ya tengo la idea de como hacer el programa pero tengo duda con el disco ranurado he visto varios en internet pero la verdad no me doy idea de como realizarlo quisiera saber si me podrias pasar tu diseño y si es posible la codificacion para ver que tan cerca o tan errado ando.
si puedes pasarmelos o decirme de donde sacaste el diseño muchas gracias.
 
hola...

Ya que s encuentran hablando de lectura de encoder, necesito ayuda de como poder leer 3 encoder's con un solo modulo de cuadratura del PIC18f4431, mas o menos he investigado y se que necesito el retraso que me proporcionan los Flip Flop tipo D, mas sin embargo no logro imaginarme como conectarlos.. ??? agradeceria su ayuda...
 
hola.

alguno de ustedes conoce algun encoder comercial de bajo costo?? (que no sea el de un mouse)

me he puesto en la tarea de preguntarlos y solo consigo elementos muy costosos, ya estoy pensando en hacerlos yo mismo. muchas gracias!!!
 
Me parece bastante interesante el tema que auí han tratado, ya se despertó la imaginación sobre posibles aplicaciones. Ahora solo tengo una pregunta para Eduardo; el algorítmo que has desarrollado, ¿es para usarse en un microprocesador o a través de la PC? Me intriga saber a quién conectar la interfase.
 
Mmm, bueno. El encoder no solo depende de cuánto quieras gastar en él, depende de su calidad y resolución. Si les interesa, puedo cotizarles encoder o reglas de la marca Heidenhain. Son caros, sí, pero lo bueno cuesta. Si es para un proyecto escolar, entonces busca encoder de la marca Sino (Chinos, por cierto) muy baratos y aceptable el desempeño para ese fin.
 
Atrás
Arriba