miércoles, 10 de mayo de 2017

Servomotor Futaba


Controlando un servo motor

En esta ocasión  observaremos como funciona en específico este servomotor “futaba s3003” el cual manipularemos en orientación a los grados, pero antes de ponerlo en marcha hay que saber cómo son sus conexiones  de operación fundamental en este servo.



Para que se pueda manipular el servo se debe de aplicar una señal periódica de 50hz , 20ms el periodo y lo ancho que tenemos del pulso determina la posición del servo, si la anchura de la señal es de 2.3 milisegundos  entonces el servo se posicionara en 180º  pero si su anchura es de 0.3 milisegundos se colocara en 0 grados por lo tanto será la clave para que te transporte de extremo a extremo.
Este servo podría manipularse hasta 360 grados pero se tendría que considerar un tope mecánico físico que se tendría que quitar, pero todo depende del funcionamiento para lo que se vaya a utilizar, en este caso sería parte de una articulación de un robot articulado, una vez sabiendo nuestro extremos podemos  observar que a 1.3 milisegundos nos daría 90º y nos quedaría una tabla como la siguiente.


Sabiendo que para conseguir 180º necesitamos enviar un pulso de 2300 milisegundos podemos aplicar una regla de tres para calcular los ángulos en los cuales el servomotor avanzara  por lo que tendremos una variable llamada tiempo  y otra llamada Angulo la cual nos indicara el ángulo deseado a calcular por arduino.
Tiempo= (angulox2300/180)

La función de void  moverServo recibe como parámetros el pin del Servomotor y el ángulo al que este debe girar. Donde se utilizó  la regla de tres para calcular el tiempo que debe estar encendido el pin digital del servo. Este se utiliza de forma manual donde se puede modificar si se desea agregarle 180 grados más para que sean los 360º. La variable donde  ira la fórmula de regla de tres se llamara pausa.


Ahora solo necesitamos hacer las conexiones físicas de nuestro servomotor



A continuación de mostramos la programación.


int servoPin = 13; 
int pausa = 20;

void setup()
{
 pinMode(servoPin, OUTPUT);    
 digitalWrite(servoPin, LOW);  
}

void loop() {
moverServo(servoPin,180);
}

void moverServo(int pin, int angulo)   
{
   float pausa;                       
   pausa = angulo*2300.0/180.0;     
   digitalWrite(pin, HIGH);            
   delayMicroseconds(pausa);           
   digitalWrite(pin, LOW);             
   delayMicroseconds(2300-pausa);    
}

En la configuración del bucle podemos modificar los grados de 0 a 180 dependiendo el uso que se le valla a dar, a continuación te mostramos el video donde el servomotor futaba s3003 gira de 0 a 180 grados, comprobado. 





Te recordamos que en Robótica Educativa RED Matamoros ya iniciamos  con el curso de Robótica en desarrollos  que relaciona  los servomecanismos en  donde recibirás el entrenamiento necesario para que tú puedas crear un brazo manipulador de una manera  detallada y entretenida  si quieres tener más  información puedes llamar a los teléfonos  01 (868) 8134817 o síguenos en Facebook como “Robótica Educativa RED

No hay comentarios.:

Publicar un comentario