TODOPIC

Microcontroladores PIC => dsPIC => Mensaje iniciado por: ALFREDOSKY en 17 de Enero de 2014, 18:08:40

Título: Girar un motor x grados usando QEI
Publicado por: ALFREDOSKY en 17 de Enero de 2014, 18:08:40
Hola a todos, tengo una duda sobre el modulo QEI en modo contador, según entiendo, si deseo girar un motor x°, debo setear en el registro MAXCNT el valor correspondiente a ese angulo en términos de conteo, por otro lado la cuenta de los pulsos(con flancos de subida) se acumula o guarda en el registro POSCNT; ahora, cuando POSCNT = MAXCNT se genera una interrupción y el contador vuelve a empezar desde 0; mi duda es: ¿cuanto debo almacenar en MAXCNT que corresponda a esos x°?. No se si es correcto afirmar que 360° corresponde a la cuenta completa del registro POSCNT de 16 bits, en ese caso seria un simple calculo para determinarlo, pero presumo que no es tan sencillo, por favor si alguien tiene noción, ideas y/o experiencia usando este modulo y me pueda dar un alcance del uso de este módulo en ese modo.  :mrgreen:
Título: Re: Girar un motor x grados usando QEI
Publicado por: Renatox_ en 29 de Enero de 2014, 15:26:59
Hola, la interrupción es generada cuando alcanzas el MAXCNT tanto cuando POSCNT crece o decrece, asi que tu POSCNT=0 seria el 0º y POSCNT=2000(encoder=500) digamos seria casi 360º.

saludos
Título: Re: Girar un motor x grados usando QEI
Publicado por: ALFREDOSKY en 30 de Enero de 2014, 12:14:02
Renatox_, gracias por responder, aparentemente muy poca gente trabaja con este modulo del dsPIC, me tope con una respuesta después de mucho tiempo, gracias por eso, he estado batallando con este modulo para hacerlo funcionar y en realidad depende de los pulsos por segundo del encoder (pps) y de la resolución por software para el QEI, es decir si es 2x, contara los flancos de subida y bajada del canal A, si es 4x contara los flancos de subida y bajada de ambos canales, A y B; de esta manera se obtiene mejor resolución que no es lo mismo que la resolución del motor. Pude hacer los cálculos y la cuenta máxima que hará POSCNT será aprox. 900(en decimal), eso corresponde a 360 grados, a partir de allí calculo los otros ángulos y la cuenta que le corresponde, espero a alguien le sirva esta información, saludos