Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

08/02/2011 #1


Control de velocidad de servo futaba 3003 trucado
Hola a tod@s, estoy teniendo un problema con el control de velocidad de dos servos futaba 3003, dichos servos tengo entendio que se controlan con señales de pwn de 20ms con pulsos que van de 0,5 a 2,1 ms, siendo el pulso de parada de 1,5 ms.

La cuestion es que yo cuando aplico un pulso de 1,5 ms se para pero si aplico un pulso de 1,6 el servo se me mueve a la misma velocidad que si le aplicara un pulso de 2,1.

Lo mismo para el sentido inverso.

Los servos los tengos trucados con un potenciometro de 10K.

Que puedo estar haciendo mal ¿?, o puede que haya algo mal en el servo para que no este funcionando bien. O es que necesito un control mas fino de los pulsos, actualmente mi grano de variacion del pulso es de 0,1 ms

Un Saludo.

Alguna idea ¿?¿?
08/02/2011 #2


Empuja tú robot
08/02/2011 #3


linx dijo: Ver Mensaje
Empuja tú robot
podria ser una opcion pero no creo que a mi tutor no le va a gustor mucho esta idea
08/02/2011 #4


Tengo el mismo problema, soy estudiante de ingenieria, creo tener una possible solución, agregame a Mejor leo las Normas de Participación@forosdeelectronica.com y te cuento...
08/02/2011 #5


linx dijo: Ver Mensaje
Tengo el mismo problema, soy estudiante de ingenieria, creo tener una possible solución, agregame a Mejor leo las Normas de Participación@forosdeelectronica.com y te cuento...
Hecho, aun asi no puedes decirlo POR aqui...

La solucion viene por hardware o software, jooooo me tienes intrigado, jeje.

help me please...
08/02/2011 #6


alguna ayudita please ¿?
08/02/2011 #7

Avatar de Vegetal Digital

Hola, dale mas resolucion al pulso, en vez de enviarle 1600uS para que avance proba lo menos que puedas...1.51mS por ejemplo...No he trabajado con ese servo, si con otros pero te aviso que la diferencia de velocidad no es notoria.
Saludos.
08/02/2011 #8


no es notoria ni mandando 1.51ms pues entonces no se que habra que hacer para que se note xDDD.
08/02/2011 #9

Avatar de Vegetal Digital

Varia la tensión que le mandas al servo.
08/02/2011 #10


Vegetal Digital dijo: Ver Mensaje
Varia la tensión que le mandas al servo.
Tengo entendido que la tension no hay que variarla, aun asi te refieres a la del phlso o la de alimentacion, rebajando el pulso a unos 15,5 he conseguido k me vaya mas lento,pero al poner inerripciones cada 0,01 ms no se comportan de forma estable loa servos es como si se desajustaran solos... Supongo k sera x la alta frecuencia de interrupcion
08/02/2011 #11

Avatar de Vegetal Digital

El servo puede trabajar entre 4.8 y 7.2 volts, al variar la tension de alimentacion varias la tension que se le aplica al motor, y en cuanto a la señal no importa porque igual reconoce 1 y 0. Al aumentar la frecuencia de la señal PWM (bajando a 15.5 el pulso bajo) vas a lograr que se actualize mas rápido, si se desestabiliza pueden ser varias razones...con que estas generando la señal?
09/02/2011 #12


Vegetal Digital dijo: Ver Mensaje
El servo puede trabajar entre 4.8 y 7.2 volts, al variar la tension de alimentacion varias la tension que se le aplica al motor, y en cuanto a la señal no importa porque igual reconoce 1 y 0. Al aumentar la frecuencia de la señal PWM (bajando a 15.5 el pulso bajo) vas a lograr que se actualize mas rápido, si se desestabiliza pueden ser varias razones...con que estas generando la señal?


mmm pues lo de la tension no lo sabia la verdad, aun asi me es mas facil controlar la velocidad con el pulso y me gustaria tender hacia eso.

Estoy trabajando con un PIC 16F876

la señal la genero con el timer 2 una interrupcion cada 0,1 ms y de ahi contando hasta cumplir los 0,9 1,5 o 2,1 correspondientes

setup_timer_2 (T2_DIV_BY_1, 99, 4); /* establece el timer2 para 10Khz */

con un reloj de 16Mhz

si bajo la resolucion de interrupcion a 0,01
setup_timer_2 (T2_DIV_BY_1, 9, 4); /* establece el timer2 para 10Khz */

o 0,05 no me va bien

setup_timer_2 (T2_DIV_BY_1, 99, 2); /* establece el timer2 */
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.