Haz una pregunta
  Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/09/2010 #1


¿Como hacer para contar los pulsos de un encoder?
Hola como estan? les comento que necesito poder contar los pulsos pwm de un encoder HEDS 5540 que genera dos señales en cuadratura (Canal A y canal B), las cuales determinan ademas de la posicion, el sentido de giro del motor brushless. Necesito un contador up/down a partir de las 3 señales de salida del encoder (Canal A, canal B e index para reset). Este encoder tengo entendido que genera 500 pulsos por cada vuelta completa, lo que significaria que necesito por lo menos 9 bits para representar 512 posiciones.

Lo que necesito es encontrar algun contador que haga esto, puesto que no lo quiero hacer con microcontroladores o FPGA.

Muchas gracias por su aporte.

Me olvide de comentar que necesito enviar los datos de posicion a una pc, pero ya tengo la interfaz y todo para hacerlo. El tema es que ahora lo tengo implementado con un PIC, pero cada tanto se pierden bits y se generan errores, y yo necesito mucha presicion.

Saludos
23/09/2010 #2


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Lo que necesito es encontrar algun contador que haga esto
mmm. y como lo quieres visualizar con displays o en la pc o como???

Me olvide de comentar que necesito enviar los datos de posicion a una pc, pero ya tengo la interfaz y todo para hacerlo.
y si lo conectas directamente al puerto paralelo del pc...
a que te refieres con interfaz el soft o hard???
23/09/2010 #3


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Tengo que enviar los datos a la PC y ahi un soft lo utiliza para hacer calulos y manejar el sistema. El tema es que ahora lo tengo implementado con un PIC, pero cada tanto se pierden bits y se generan errores, y yo necesito mucha presicion. Tenes alguna idea de como hacerlo? si existe algun contador para esto?
23/09/2010 #4


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Tenes alguna idea de como hacerlo? si existe algun contador para esto?
mas que idea.. tengo muchas dudas

el soft que puerto utiliza???
lo hiciste tu??? que lenguaje???

imagino que por utilizar el pic lo envias por serial no???

como conectas el encoder al pic, tienes un diagrama???
no queda muy claro que pretendes hacer...
hay muchas maneras de hacerlo...
23/09/2010 #5


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Al hard, no me acuerdo como se llama la placa.. Pero lo que pasa es que el encoder genera dos cadenas de pulsos PWM desfasadas, y segun si el desfasaje sea 90º el motor gira hacia la derecha (conteo ascendente) y si es 270º el motor gira hacia la izquierda (conteo descendente).
Por cada vuelta completa genera un pulso en la señal index, lo cual serviria para resetear el contador y empezar de nuevo.
Entonces necesito un contador que a partir de estas señales determine si contar hacia arriba o hacia abajo e ir enviando el numero contado en forma de bits en paralelo a la PC continuamente.

Encontre algunos contadores en cuadratura que hacen esto, como el LM628, pero su salida es de 8 bits, lo que supongo que implica que cuenta hasta 256. Los puedo poner en cascada, pero primero quiero ver si encuentro uno con mas bits directamente.
23/09/2010 #6


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
ir enviando el numero contado en forma de bits en paralelo a la PC continuamente.
si lo conectas directamente al puerto paralelo y usas visualbasic es muy sencillo, pero desconozco que soft tienes....
23/09/2010 #7


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Sobre como funciona el soft no tengo idea, porque no lo hice yo. En realidad no hice nada yo, me dieron ayer el trabajo de reemplazar la placa actual que hace este trabajo con un pic, para que lo reemplazara por algun decoder que haga esto de forma mas efectiva.
23/09/2010 #8


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
mmm... necesitarias saber exactamente porque puerto y que protocolo utiiliza el soft que tienes... sin saberlo yo creo que seria casi imposible...
23/09/2010 #9

Avatar de Eduardo

Respuesta: ¿Como hacer para contar los pulsos de un encoder?
flaco33 dijo: Ver Mensaje
....Me olvide de comentar que necesito enviar los datos de posicion a una pc, pero ya tengo la interfaz y todo para hacerlo. El tema es que ahora lo tengo implementado con un PIC, pero cada tanto se pierden bits y se generan errores, y yo necesito mucha presicion.
Ajo y agua caballero... (AJOderse y AGUAntarse)
Hubieras empezado el proyecto con el PIC18F4431 (ver listado de Elemon) que tiene QEI (Quadrature Encoder Interface)...


Con lo que ya tenés hecho, habría que conocer el código que hiciste para ver si puede optimizarse y conocer la velocidad máxima de los pulsos.
Aunque si al PIC lo ponés a hacer otras tareas (como la comunicación con la PC) con motor girando, no se va a poder hacer gran cosa por soft.
23/09/2010 #10

Avatar de Dr. Zoidberg

Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Hummmmm....
Un par de FF D, una compuerta XOR y al contador por hardware (timer de 16 bits) del PIC...y listo...5 líneas de código controlan todo y no se pierde ningun pulso....si el muestreo es suficientemente rápido.
23/09/2010 #11


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Eduardo y EZ
como supieron que protocolo que recibe el software del PC???
tengo curiosidad... o sea como supieron si es usb o serial???

el puso esto...

Sobre como funciona el soft no tengo idea, porque no lo hice yo.
23/09/2010 #12

Avatar de Dr. Zoidberg

Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Yo no tengo idea del protocolo de comunicaciones...y en realidad ni me interesa.
Si hacés el conteo por hardware y con las diferencias del contador entre muestreos actualizás un contador U/D por software, eso casi que no insume NADA de tiempo y todo lo que te quede lo podés usar para lo que quieras...a menos que quieras transmitir vía serie emulandola por software...o alguna barbaridad de ese calibre...
23/09/2010 #13


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Yo no tengo idea del protocolo de comunicaciones...y en realidad ni me interesa.
ya entiendo...
si yo creo que lo de menos seria corregir el micro... la bronca seria transmitir los datos que requiere el software del pc...

y como mencionaste en otro post lo mejor es que lo lleve con alguien que lo vea de cerca... creo yo
23/09/2010 #14

Avatar de Dr. Zoidberg

Respuesta: ¿Como hacer para contar los pulsos de un encoder?
lubeck dijo: Ver Mensaje
si yo creo que lo de menos seria corregir el micro... la bronca seria transmitir los datos que requiere el software del pc...

Pero él dijo:
flaco33 dijo:
Entonces necesito un contador que a partir de estas señales determine si contar hacia arriba o hacia abajo e ir enviando el numero contado en forma de bits en paralelo a la PC continuamente.
Naaaa.......Es tan fácil como tomar el valor del contador U/D por soft y mandarlo a un puerto predefinido en una o dos escrituras....tres líneas mas de código C...incluyendo la señal de sincronización entre bytes...
23/09/2010 #15


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
ok... yo mas o menos entiendo a que te refieres... espero el también...
24/09/2010 #16


Respuesta: ¿Como hacer para contar los pulsos de un encoder?
Muchachos muchas gracias por su aporte.. Entiendo lo que me dicen. Pero necesito saber con que familia de integrados TTL puedo hacerlo, es decir con que contador up/down en cuadratura puedo hacer el conteo. Yo encontre el LM628, pero quiero ver si encuentro alguno que tenga mas bits de salida, para no tener que enviar el valor del contador en dos partes, sino en una directamente. Ademas me pidieron que no lo haga ni con PIC ni con FPGA, porque se pierden bits y necesitan mucha precision..

Saludos cordiales
24/09/2010 #17

Avatar de Dr. Zoidberg

Respuesta: ¿Como hacer para contar los pulsos de un encoder?
flaco33 dijo: Ver Mensaje
Yo encontre el LM628, pero quiero ver si encuentro alguno que tenga mas bits de salida, para no tener que enviar el valor del contador en dos partes, sino en una directamente.
Pará! Para hacer un contador U/D podés usar 4 chips CD4029 en cascada y tenés 16 bits de resolución presentados en paralelo...es una solución totalmente troglodita, pero 100% funcional. Y no sé para que querés usar TTL que son mas sensibles al ruido...
flaco33 dijo: Ver Mensaje
Ademas me pidieron que no lo haga ni con PIC ni con FPGA, porque se pierden bits y necesitan mucha precision..
Si con PICs y FPGA perdés pulsos ES QUE ESTAN MAL DISEÑADOS. Punto. Y si el diseño es malo, no hay garantía de que no los pierdas haciéndolo con contadores U/D en cascada.

El problema de pérdida de pulsos no necesariamente es el mecanismo de conteo, sino la interfaz de adaptación del encoder a los módulos de cuenta...pero eso es una historia muy diferente.
27/09/2010 #18
Moderador

Avatar de Chico3001

Respuesta: ¿Como hacer para contar los pulsos de un encoder?
flaco33 dijo: Ver Mensaje
.....Pero necesito saber con que familia de integrados TTL puedo hacerlo....
Cualquier contador UP/DOWN de la familia 74 te sirve, pero en lo personal prefiero usar la serie 74HC, o si no hay la 74ALS, la ventaja de la HC es que te da un rango de voltaje y velocidad mayores, la desventaja es que la corriente de salida es menor, pero tu circuito no lo requiere...

Por otro lado la ALS es la tipica TTL de 5V pero mejorada internamente, en todos los casos los pines tienen las mismas posiciones, pero las caracteristicas de operacion internas varian segun la subfamilia
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Circuitos lógicos combinacionales y secuenciales

Compuertas, flips flops, registros, PLDs, codificadores, contadores, multiplexores, ...

Cerrar
Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.