TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: micropic en 08 de Julio de 2004, 10:48:00

Título: Control de giro de Servos
Publicado por: micropic en 08 de Julio de 2004, 10:48:00
Buenas,
Necesito saber como puedo controlar servos hitec con un pic 16f84 o 16f874. La señal de control debe ser de 0-5V, periodo 20ms y con un pulso de entre 0.9 a 2.1ms (para 0º-180º de giro).
La idea es llegar a controlar hasta 8 servos para montar un robot articulado, pero es frustante haber intentado hacer el programa y que no funcione. Deberia hacerlo mediante interrupciones para dejar tiempo de ejecucion libre.

Agradeceria muchisimo cualquier ayuda...
Título: RE: Control de giro de Servos
Publicado por: odukec en 09 de Julio de 2004, 09:31:00
Hola..

Pues lo unico que tienes que hacer es modular el ancho del pulso para mover el servo cierto angulo.. yo hice una vez un hexapodo con servos,  usando el 16f84, era muy sencilla... seria algo asi mas o menos

while(i=50){
output_high(PIN_XX);
delay_ms(XX);
output_low(PIN_XX);
}

Postea el programa y seguro te podremos ayudar.
Título: RE: Control de giro de Servos
Publicado por: pikman en 09 de Julio de 2004, 09:54:00
Hola, tal como dice odukec, no es muy dificil de lo que planteas, puedes usar el timer0 para la base de tiempo de 50 Hz ( periodo de 20 mS) y la instruccion delay_ms para controlar el ancho del pulso, postea el programa y vemos como modificarlo para que funcione,

saludos

Ariel