TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: anaiviv84 en 07 de Diciembre de 2004, 20:42:00

Título: Servos con el PIC
Publicado por: anaiviv84 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..
Título: RE: Servos con el PIC
Publicado por: manex_1987 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
Título: RE: Servos con el PIC
Publicado por: odukec 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
Título: RE: Servos con el PIC
Publicado por: pocher 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
Título: RE: Servos con el PIC
Publicado por: anaiviv84 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!