Autor Tema: Servos con el PIC  (Leído 1860 veces)

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

Desconectado anaiviv84

  • PIC10
  • *
  • Mensajes: 5
Servos con el PIC
« en: 07 de Diciembre de 2004, 20:42:00 »
Hola!!

La verdad tengo un problema urgente. Y resulta que esto de los PICs es bastante novedoso para mi, y estoy intentando configurar los PWMs para manejar servomotores y no he podido. Pues entiendo que los servos trabajan con una frecuencia de 20 ms y no se porque cuando hago los cálculos correspondientes a las formulas de las hojas de datos del PIC me da como resultado que el periodo máximo que puedo configurar es de 16 ms con un cristal de 4 MHz y el Preescaler en 16.

Puede que yo este haciendo mal estos cálculos, entonces por si alguno sabe y ya ha trabajado los servos con el PIC me pueda explicar

Mil gracias..

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
RE: Servos con el PIC
« Respuesta #1 en: 08 de Diciembre de 2004, 07:43:00 »
Si no te importara hacer la tarea en otro lenguaje, en la seccion de PBP y PROTON nuestro amigo Lager ha puesto un buen ejemplo al respecto, yo creo que te valdrá si le haces las pertinentes modificaciones.

salu2

Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: Servos con el PIC
« Respuesta #2 en: 08 de Diciembre de 2004, 09:47:00 »
Hola..

La formula para hallar el periodo del PWM es (1/clock)*4*t2div*(period+1), haciendo los calculos da que el periodo minimo con el preescaler en 16 y reloj de 4 Mhz es 4.08 ms (245 Hz), para el periodo que tu necesitas 20ms (50Hz) necesitarias usar un cristal de 800KHz o menos

(1/800000)*4*16*(250) = 20 ms

Giño

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Servos con el PIC
« Respuesta #3 en: 09 de Diciembre de 2004, 09:56:00 »
En los cálculos Odukec debe referirse a Tmax.

Los cálculos yo los haría así:

T=(PR2+1)·4·Tosc·TMR2preescaler

Entonces, el Tmax será cuando usemos PR2max=1111 1111=255 y TMR2preescalermax=16

Si usamos fosc=4MHz -----> Tmax=(255+1)·4·(1/4)·16=4096us=4,096ms que corresponde a una fmín=244Hz

Con la misma técnica puedes calcular el Tmín (fmax).

Un saludo

Desconectado anaiviv84

  • PIC10
  • *
  • Mensajes: 5
RE: Servos con el PIC
« Respuesta #4 en: 09 de Diciembre de 2004, 13:48:00 »
Hola!

Les agradezco a todos por sus respuestas, y si es como Pocher dice el periodo que puedo obtener es de 4 ms con un cristal de 4 MHz.

Ya que no debia cambiar de cristal finalmente alargue el periodo revisando los flancos de subida que saca el pwm y decidia cuales sacaba o no por otros pines del pic, y se me soluciono el problema.

Muchas gracias a todos!


 

anything