Autor Tema: Velocidad Servomotores  (Leído 2270 veces)

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

Desconectado David Romero

  • PIC10
  • *
  • Mensajes: 14
Velocidad Servomotores
« en: 16 de Julio de 2016, 18:52:55 »
Hola , me podrían ayudar como variar la velocidad de un servo hitechs422 , le estaba moviendo dando los valores de PR2 Y CCPR1L le estaba intentando dar mas al PR2 pero al subir de 1280 ya no me funciona nada que es el periodo , estoy usando un pic 16f877a

    MOVLW b'00000110'
    MOVWF T2CON
    movlw b'00011100'
    movwf CCP1CON

    Centro
    BSF STATUS,5
    MOVLW D'1250'
    MOVWF PR2
    BCF STATUS,5
    MOVLW D'93'
    MOVWF CCPR1L
« Última modificación: 16 de Julio de 2016, 18:59:25 por David Romero »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Velocidad Servomotores
« Respuesta #1 en: 17 de Julio de 2016, 04:27:33 »
normalmente el periodo es fijo, por lo cual no deberias variarlo, si no mal recuerdo es de 20ms el periodo. Lo que si varia es el duty, es decir lo de los registros CCPR
Y tienen ciertos valores como por ejemplo ahrbas leido de 1ms o 2ms, 1.5ms




Entonces el PR2 lo congfiguras para 20ms, luego el duty lo calculas y no te pasas de los valores que queres. Ejemplo si quisiera solamente de 0º a 180º, calcularia cuanto es para 1ms, y cuanto es para 2ms, ahi tengo mis "limites" de los cuales no puedo pasarme.

Desconectado David Romero

  • PIC10
  • *
  • Mensajes: 14
Re:Velocidad Servomotores
« Respuesta #2 en: 17 de Julio de 2016, 15:49:52 »
Pero como le cambias, si vi en el datasheet en los registros ccpr solo te indica el bit 4 y 5 y dice del duty cycle pero no dice osea que valores pongo de binario , eso no entiendo ?. Porque si te refieres a cambiar el CCPR1L y CCPR2L son los pulsos en alto si cambio eso no va al grado que quiero. Yo quiero que vaya a un ángulo pero hacerle mas lento.

bit 4 y 5
CCPxX:CCPxY: PWM Least Significant bits
Capture mode: Unused.
Compare mode: Unused.
  PWM mode:
These bits are the two LSbs of the PWM duty cycle. The eight MSbs are found in CCPRxL
« Última modificación: 17 de Julio de 2016, 16:02:44 por David Romero »

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:Velocidad Servomotores
« Respuesta #3 en: 17 de Julio de 2016, 16:05:15 »
Que tal, yo te recomendaría hacerlo mediante interrupción por timer así podrías controlar más de dos servos con el pic.

Saludos

Desconectado David Romero

  • PIC10
  • *
  • Mensajes: 14
Re:Velocidad Servomotores
« Respuesta #4 en: 17 de Julio de 2016, 16:07:04 »
Si ya los controlo y todo con timers ya me funcionan, solo nose como cambiarles la velocidad, les estoy configurando así .

    MOVLW b'00000110'
    MOVWF T2CON
    movlw b'00011100'
    movwf CCP1CON

    Centro
    BSF STATUS,5
    MOVLW D'1250'
    MOVWF PR2
    BCF STATUS,5
    MOVLW D'93'
    MOVWF CCPR1L
« Última modificación: 17 de Julio de 2016, 16:09:58 por David Romero »

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:Velocidad Servomotores
« Respuesta #5 en: 17 de Julio de 2016, 16:38:10 »
Si, pero lo asignas a un PWM. Lo que te comento es que hagas interrupciones por timer cada 1 micro segundo, con eso puedes cargar el valor de posición a un registro para poder controlarlo más fácil.


Saludos

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:Velocidad Servomotores
« Respuesta #6 en: 17 de Julio de 2016, 16:44:34 »
Hechale un ojo a este post para que te des una idea.

http://www.todopic.com.ar/foros/index.php?topic=43270.0

Saludos

Desconectado David Romero

  • PIC10
  • *
  • Mensajes: 14
Re:Velocidad Servomotores
« Respuesta #7 en: 17 de Julio de 2016, 21:52:10 »
Esque se trata de un proyecto y es una gran cantidad de código no quiero cambiarlo ahora jajaja solo ayudenme a cambiar la velocidad.

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:Velocidad Servomotores
« Respuesta #8 en: 18 de Julio de 2016, 02:26:28 »
Bueno, la ayuda que necesitas la explico anteriormente KillerJC. Creo que si buscas hagamos el código esta dificil. Aun asi si tienes dudas con gusto resolveremos ellas pero no código.

Saludos y suerte con tu proyecto,

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Velocidad Servomotores
« Respuesta #9 en: 18 de Julio de 2016, 03:12:56 »
Te quedan 2 opciones:

- Deberias leer y tratar de entender el modulo CCP en modo PWM como funciona
- O realizarlo con un timer.

Si tenes algunda duda especifica que no entiendas del datasheet con gusto la explico. No es muy dificil. Es un contador, cuando se igual al CCPR se pone a 0 la salida, y cuando llega a PR2 se pone a 0 el contador/timer y se pone a 1 la salida.


 

anything