TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: arcadi 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.
-
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
-
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 (http://www.todopic.com.ar/foros/index.php?topic=20335.0) 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.
-
Mira estos enlaces:
http://slalen.iespana.es/index.php?option=com_content&task=view&id=32&Itemid=48
http://slalen.iespana.es/index.php?option=com_content&task=view&id=36&Itemid=53
-
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