TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Mau_Reyes en 11 de Mayo de 2010, 18:53:46

Título: Controlar 2 servomotores mientras se ejecuta otras acciones enel PIC (Multitask)
Publicado por: Mau_Reyes en 11 de Mayo de 2010, 18:53:46
Buen día a todos, mi problema es el siguiente:

Quiero controlar los movimientos de un robot explorador (posee un brazo manipulador, encima de un robot móvil con orugas), posee 2 servomotores en cada articulación de su brazo manipulador, sin embargo me pregunto como puedo hacerle cuando yo le mande la intrucción de que levante el brazo o ante brazo de brazo manipulador (donde son controlados por servos) y que despues de esto yo pueda mover el móvil sin que la señal a los servos se pierda.

Tengo varios PICs, no me importaría si me recomiendan alguno, empezando por el 16f877, creo que ese ayuda pero no se como hacerle. todo esto lo estoy programando en Proton, les agradecería cualquier ayuda.

Muchas gracias.
Título: Re: Controlar 2 servomotores mientras se ejecuta otras acciones enel PIC (Multitask)
Publicado por: juanpavz en 11 de Mayo de 2010, 22:39:41
Me parece que la solución a tus problemas es el uso de la interrupción del TIMER y quizas se podria optimizar si usas RTOS por ejm el de CCS hay info a montones por ejm:
http://picmania.garcia-cuervo.net/picc_servos_x_8.php


Título: Re: Controlar 2 servomotores mientras se ejecuta otras acciones enel PIC (Multitask)
Publicado por: dogflu66 en 20 de Mayo de 2010, 14:44:23
Para mantener la posición de los servos necesitas ejecutar una serie de veces por segundos la rutina de control de los mismos. Y en los espacios muertos realizar el resto de operaciones, para lograr esto como te dicen en el post de arriba se utilizan los Timer y las interrupciones. El problema de utilizar los Timer y las interrupciones, sobretodo, es que se programan de forma distinta para cada lenguaje Basic. Lo que sí te puedo aconsejar es que es recomendable utilizar una velocidad de reloj alta para no perder precisión en los servos, he realizado practicas con cristales de 20Mhz.

Mira aquí a ver:

http://www.todopic.com.ar/foros/index.php?topic=14917.msg112013#msg112013