Autor Tema: Girar un motor x grados usando QEI  (Leído 3180 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Girar un motor x grados usando QEI
« 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:

Desconectado Renatox_

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 541
    • máquinas cnc
Re: Girar un motor x grados usando QEI
« Respuesta #1 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
control de movimiento

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Re: Girar un motor x grados usando QEI
« Respuesta #2 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