Autor Tema: Servo Futaba S3003  (Leído 4793 veces)

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

Desconectado arcadi

  • PIC12
  • **
  • Mensajes: 74
Servo Futaba S3003
« en: 18 de Noviembre de 2008, 18:31:27 »
Buenas,

me gustaria saber si puedo conectar directamente el PIC 18F452 al PWM del Servo Futaba S3003. Utilizo el puerto generador de PWM CCP1. Es que he visto esquemas que utilizan un driver para los servos y estoy en dudas.

Muchas gracias.
Anglès (Girona)

Desconectado ESTECA55

  • PIC24H
  • ******
  • Mensajes: 1404
Re: Servo Futaba S3003
« Respuesta #1 en: 18 de Noviembre de 2008, 22:48:38 »
Hola,

Si podes conectarlo directamente, de hecho en al red hay varias aplicaciones de ese tipo como las interfaz para varios servos por RS232 o USB.

saludos
Hay que esforzarse por ser el mejor, no creerse el mejor

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Servo Futaba S3003
« Respuesta #2 en: 19 de Noviembre de 2008, 04:33:38 »
Eléctricamente no hay ningún problema en conectar la señal PWM a pin de control del servo.

En lo que si puedes tener problemas es con el PWM generado con el hardware del PIC. Estos servos reciben una señal de 50 hz (20 ms de periodo) y a menos que el PIC tenga una señal de Clock extremadamente baja el PWM de menor frecuencia que puedes generar es del orden de cientos de herzios.
« Última modificación: 19 de Noviembre de 2008, 07:38:09 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania


Desconectado arcadi

  • PIC12
  • **
  • Mensajes: 74
Re: Servo Futaba S3003
« Respuesta #4 en: 19 de Noviembre de 2008, 07:08:19 »
Lo que se:

PWM períod=(PR2+1)*4*Tosc*(TMR2 prescale value)

PWM duty cycle=(CCPR1L:CCP1CON<5:4>)*Tosc*(TMR2 prescale value)


Utilizo el servo "trucado" para la rotacion continuada.


------------Calculos------------------------------------

                               fosc=4*10MHz    ----->   La frequencia del oscilador * 4
                               PWM=20ms        ----->   Frequencia de trabajo del servo en PWM
                               TMR2 preescaler=16   ---->  Preescaler del TMR2


PWM períod=(PR2+1)*4*Tosc*(TMR2 prescale value)

20ms=(PR2+1)*4*0.025us*16 ------> PR2=12499 -----> no puede ser
20ms=(255+1)*4*Tosc*16 ------> fosc=4*76,8kHz ----> no se puede

No se puede hacer por el generador de PWM del 18F452.

Solucion: Por interrupcion del TIMER0 y variando el valor de esta interrupcion.


OK muchas gracias     
Anglès (Girona)