¿Puedo leer un encoder de 2800 rpm con un microcontrolador?

si es muy rapido no te conbiene poner un engranaje que reduzca la velocidad y tomar el enconder desde ahi y multiplicarlo por la reduccion que pusistes?
 
Eso es lo que se hace normalmente, poner por ejemplo dos poleas para correa sincrónica, en una relación de demultipicación adecuada y se soluciona el problema, asi lo hicimos en una guillotina para uso en gráfica, tenia un motor de dos velocidades con dos devanados, asi que se utilizo la parte de mayor velocidad y se puso un enconder y a la placa de control. Hace más de 10 años que esta funcionando
 
Hola, si, de hecho tengo un par de poleas y banda acopladas al motor con un sin fin y corona, lo cual me proporciona una gran reducción, y tengo dos encoders, uno acoplado al motor antes de la reducción y el otro al eje de las varillas sujetas al carro que se mueve por la banda, es decir un pendulo invertido, para el control necesito leer ambos ecoders, si tal vez poner el encoder despues del sin fin y corona hubiera sido mas facil pero todo el montaje mecanico ya estaba dispuesto asi.

Mi duda inicial era que el pic ejecuta instrucción por instrucción y necesito lectura de los encoders en tiempo real precisa por lo que tenia la curiosidad de si el pic podia ser suficiente, este proyecto es mi tesis, y me gustaba la idea de controlarlo por usb y con un pic, ahora tengo otra opcion de leer los encoder con una tarjeta de adq con un FPGA, como ya tengo un poco de apuro por el tiempo, me parece que se hara así y despues seguire con el tema del pic pues la verdad me gustan mucho, como dije antes solo habia porgramado familia 16f y me era facil y divertido pero tiene un rato y al mudarme a la fam 18 y sin mucho tiempo para releer y recordar me vi en la duda de si los recursos del pic me eran suficientes.

Gracias por contestar a todos en mis ratos libres, ja los pocos que tengo, me gusta seguir aprendiendo sobre pics y programación, que como menciona pandacba a algunos nos falta un poco mas de una cosa que de otra.
 
Hola, yo estoy trabajando en algo muy similar: Leer un encoder incremental de un motor con un PIC para determinar su posición absoluta. Lo intente hacer con interrupciones (si, quizas soy novato y que). Pero gracias a esa prueba entendi que no es la mejor manera de hacerlo (habia error acumulativo) creo que sucede en las transiciones que ocurren mientras entra a la rutina de interrupción.

Aun no tengo la solucion definitiva. Pensé en usar los contadores internos del PIC pero tengo entendido que solo puedo incrementar su valor con pulsos externos y no veo la manera de decrementarlo cuando gira al revés el motor.

Asi que busque y encontré este circuito:quadrature decoder.gif

Lo simule en proteus y funciona bien, pero todavia tengo la tentación de mandar las salidas de los FF al pic y utilizar interrupciones, o talvez utilizar unos JK para bajar la frecuencia...

Bueno, veamos si hay mas ideas

Saludos
 
Si quieres la posición absoluta usa un encoder absoluto,con incrementales la posición es relativa. saludos.
Como ya se menciono antes esta la forma por interrupciones (aceptable y suficiente para la mayoria de los casos), pero para mi mejor seria un uControlador con modulos para el tratamiento de encoders.
 
Para estas cosas, los micros actuales como el Xmega tienen HW que viene que ni al pelo para el control de encoders, permitiendo el conteo hacia arriba y hacia abajo por HW, sin intervención de la CPU. Y sin HW externo.

O FPGA.

El control de cosas por Windows, en mi opinión, y peleando con estas cosas a diario, es lo mismo que el Sepukku. El tiempo real es el reino de los microcontroladores. Los PC y computadoras similares, pertenecen al mundo de las comunicaciones y el procesado en bruto en tiempo irreal. Para el procesado en bruto en tiempo real, sólo quedan los 'grandes' supercomputadores basados en computación masivamente paralela reconfigurable. Dicho en palabras llanas: FPGA(s, en cantidades industriales, incluso).
 
Atrás
Arriba