MODIFICACIÓN DE UN SERVO DE 180º A ROTACIÓN CONTINUA

Visita mis redes sociales.
YouTube
YouTube
Instagram
Facebook
Google+

MODIFICACIÓN DE UN SERVO DE 180º PARA HACERLO DE ROTACIÓN CONTINUA.

Hoy en día existen muchos tipos de servos para trabajos de electrónica, estos son muy económicos y el par que generan es muy alto, aunque normalmente suele tener limitado su giro a 180º…

Hoy vamos a ver como codificarlo para conseguir que tengan una rotación continua y poder utilizarlo como un motor con reductora.
Lo primero es explicar brevemente su funcionamiento:

 

Estos servos tienen conectado al eje de salida un potenciómetro para saber cuál es su posición exacta, siendo el punto medio del giro los 90 grados, dependiendo de la resistencia devuelta por el potenciometro al control del servo este determina su posición en grados, es decir, cuando el servo esta en 0º o en su tope izquierdo, este tendrá un valor resistivo “x”, y cuando este en 180º o su tope derecho, este tendra el mismo valor pero en negativo”-x”

 

Hay que hallar cual es el punto medio del potenciómetro, para ello con la ayuda de un polímetro mediremos en ambos lados hasta conseguir el mismo valor, y cuando tengamos este valor simplemente sustituiremos el potenciómetro por 2 resistencias iguales como indica en la foto.

 

Ahora solo nos queda quitar el tope mecánico que se encuentra en el ultimo piñón de salida de la caja reductora del servo, este suele ser una pestaña de plástico que se puede cortar fácilmente con unas tijeras, cuando lo hayamos cortado lo lijaremos un poco para quitar el residuo y ya lo podemos montar todo de nuevo.

 

—VER  VÍDEO—

—Código arduino para probar el servo—

#include <Servo.h> // añadimos la libreria servo

Servo myservo; // crea el objeto servo

int vel = 0; // velocidad del servo

void setup() {
myservo.attach(9); // asignamos el pin digital para el control del servo
}

void loop() {
vel = 90; //servo parado (equivalente a angulo 90º)
myservo.write(vel);
delay(1500); //retardo en milisegundos para cambio de orden

vel = 180; //servo 100% izquierda (equivalente a angulo 180º)
myservo.write(vel);
delay(1500); //retardo en milisegundos para cambio de orden

vel = 0; //servo 100% derecha (equivalente a angulo 0º)
myservo.write(vel);
delay(1500); //retardo en milisegundos para cambio de orden

}

 

 

 

 

Visita mis redes sociales.
YouTube
YouTube
Instagram
Facebook
Google+

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *