# Señales para un servo de 360°



## ELIUSM (Jul 4, 2012)

Hola qué tal.

Alguien me puede explicar, cómo son los pulsos que hay que enviarle a un servo que desde siempre estuvo fabricado para girar en 360°, para que gire en sentido contrario?
(Marca: GoTeck GS-3360BB)

Claro que busqué en internet, y claro que en todas partes sale que (lo típico) es:
1ms para -90°
1,5ms para 0°
2ms para +90°

Pero, nadie dice cómo hacerlo girar a más de 90°.

Con un intento de hacerlo girar hacia atrás, puse 1,2ms de pulso, pero nada. Gira a la misma velocidad hacia el mismo lado.

Agradecería si alguien me eplica.
Gracias!!


----------



## DJ DRACO (Jul 4, 2012)

Dentro del rango de los 20ms de ancho del pulso, vos podés poner cualquier ancho y el servo debería responder...

O el servo está roto...o hay ruido en la línea de comando del servo...no es un PWM perfecto.


----------



## ELIUSM (Jul 4, 2012)

Hm, no creo que sea un tema de ruido, ya que he usado el circuito+servo con fuente de poder a red, y baterías en otra ocación. Es la misma reacción.

El servo tampoco creo que esté malo, pues es nuevo.

Pero, gira sieeeempre en la misma dirección.......


----------



## DJ DRACO (Jul 4, 2012)

y el PWM q estas sacando es generico o buscaste realmente que ancho es para ese servo, cada servo es diferente...

incluso tal vez no estas cambiando el ancho del pulso


----------



## ELIUSM (Jul 4, 2012)

Bueno, estoy haciéndolo según o poco que sale en el Datasheet (que adjunté más arriba).

Lo único que sale es que 1500us = neutral... lo cual es lo típico.


----------



## Mondschein (Jun 17, 2013)

A que se refieren con 1500uS ??? es el periodo total ? o solo la duración de un 0 o 1 lógico ? Somebodyhelpme pls (tengo el mismo servo y estoy tratando de hacerlo funcionar  )


----------



## Mondschein (May 6, 2014)

Okey ! tiempo después, entendí todo, les explico.

-Funcionamiento para servo.
Primero que todo, casi todos los servos funcionan con una frecuencia de 50 Hz, me refiero a que por lo general se usa esta y no sé por qué, en fin, dentro de esta frecuencia encontraremos que su periodo es 1/frecuencia por lo tanto nuestro ciclo será de 20 ms, dentro de este periodo nosotros enviamos una señal cuadrada, la cual tendrá un periodo de 1 lógico y otro periodo de 0 lógico, es decir dentro de estos 20 ms se debe racionar la señal, a esto se le llama Duty cycle, y corresponde al % de tiempo en que la señal permanece en 1 lógico, por lo tanto, si se quiere programar tipo BASIC, este sería:
device 16f....
config WDT_off, XT_osc
xtal = 4 
trisx= 0 'todo el puerto configurado como salida.
TAG:
portx.x= 1
pauseus= 1500
portx.x= 0
pauseus = 20000-1500
goto TAG
 'esto enviará constantemente la tal famosa, señal de 1.5 ms con un periodo de 50 Hz.


notar el 20000-1500!! recordar: esto está en microsegundos, por lo tanto hablamos en resumen de 20 ms - 1.5 ms, esto se hace para conservar el periodo de la frecuencia. (si lo dibujan lo entenderán mejor  ) 

Solución al problema:
Este servo trae una perilla en el frontis de la carcasa , la cual debe regularse de la siguiente forma:
Se debe hacer un programa en algún controlador (Pic por ejemplo) y conectar el servo, con la señal de 1.5 milisegundos (programa escrito más arriba) una vez hecho esto, se debe girar la perilla que posee el servo, hasta que este deje de girar y en lo posible de que no emita sonido alguno, con esto aseguramos calibrar este tipo de servomotor, y responderá relativamente al rango completo de 1ms a 2 ms (izquierda a derecha respectivamente con aumento y disminución de la velocidad).

Pues bien, eso es lo que tengo que aportar por el momento, espero que esto le sirva a alguien que esté comenzando con los servomotores, porque para mi la verdad fue un dolor de cabeza que la información en algunos sitios sea tan poco específica.


----------

