Descripción
El servomotor SG90 9g de la marca Tower Pro es un servo pequeño que a pesar de su tamaño posee una gran calidad, además en Chile es el más económico, y nosotros te lo ofrecemos al mejor precio de Chile. Funciona con la mayoría de tarjetas electrónicas de control con microcontroladores y tambien con casi todos los sistemas de control por radio del mercado. Funciona especialmente bien en brazos robóticos con Arduino, autos robóticos, mecanismos de movimientos, abrir puertas o ventanas en maquetas, aeronaves de aeromodelismo y muchas otras aplicaciones con Arduino dadas a sus características de torque, tamaño y peso.
El servomotor tiene un conector universal tipo “S” que es un formato de conexión que calza perfecto en la mayoría de receptores de radio control incluyendo los Futaba, JR, GWS, Cirrus, Hitec y otros. Los cables en el conector están distribuidos de la siguiente forma:
Rojo = Alimentación (+)
Cafe = Alimentación (-) o tierra,
Naranjo = Señal PWM.
Cabe señalar que la señal PWM es una señal de entrada hacia el servo, y esta es la que permite que el servo motor se mueva hacia una posición, este servo motor recibe una señal PWM, que básicamente es una señal de voltaje. Cuando se utiliza este servo motor con Arduino, desde arduino en algún pin PWM (por ejemplo pin 9) se escribe como una salida, el cual le dará la señal a la placa electrónica del servo motor que ese voltaje que recibe en señal PWM lo transforme en un movimiento del brazo del servo hacia una posición dada por el usuario desde el codigo de Arduino.
Este tipo de servo es ideal para las primeras experiencias de aprendizaje y prácticas con servos, ya que sus requerimientos de energía son bastante bajos y se permite alimentarlo con la misma fuente de alimentación que el circuito de control. Por ejemplo, si se conecta a una tarjeta arduino, se puede alimentar durante las pruebas desde el puerto USB de la PC sin mayor problema.
Que es un servomotor
Un servo motor o servomotor (se escribe junto o separado) es un tipo especial de motor que permite manejar la posición del brazo del servo en un momento dado hacia una posición dada. Esta diseñado para moverse determinada cantidad de grados y luego mantenerse fijo en una posición.
Un servomotor (o servo) es un tipo especial de motor con características especiales de control de posición. Al hablar de un servomotor se hace referencia a un sistema compuesto por componentes electromecánicos y electrónicos.
Como funciona un servo motor
Como se muestra en la imagen un sistema de servo motor posee un motor DC comun y corriente, el que se encarga de girar a una alta velocidad, pero una baja y casi nula fuerza o torque. Entonces el sistema de engranajes es el que hace bajar esa velocidad al motor DC y darle un mayor torque. Básicamente lo que antes describimos es un sistema de motor con motorreductor, pero el servo motor va más allá!.
El sistema de servo motor es controlado de forma electrónica por un tren de pulsos llamado en electrónica PWM, este tren de pulsos es interpretado por una placa electrónica que posee el servo motor, el cual le da la señal de voltaje necesario al motor DC para que este gire por cierto tiempo, y lo que al fin y al cabo desencadena en que este servo solo se mueva unos pocos grados dados por el usuario programador.
Si bien es cierto que en la foto no se muestra el servo SG90, si posee el mismo principio del servo de la foto, ya que se basan todos en una parte mecanica, y otra electrónica.
Servo motor SG90 con Arduino
A continuación se mostrará brevenemente en 2 etapas como es la conexión de un Arduino con un servo motor SG90, y como se programa para darle movimiento al servo motor con un codigo Arduino.
Conexión del servomotor SG90 con Arduino
Conectar un servo a Arduino es sencillo. El servo tiene tres cables, dos de alimentación (GND y Vcc) y uno de señal de control PWM (SIG).
Combinación de colores de los cables
- Café (GND), Rojo (Vcc) y Naranja (Sig)
- Negro (GND), Rojo (Vcc) y Blanco (Sig)
Por un lado, alimentamos el servo mediante el terminal GND ( Café o Negro) y Vcc (Rojo).
En general, la alimentación a los servos se realizará desde una batería o una fuente de alimentación externa que peude ser entre 5V y 6.5V, siendo 6V la tensión perfecta. Arduino puede llegar a proporcionar corriente suficiente para encender un servo pequeño como es el SG90, suficiente para hacer unos cuantos proyectos de prueba.
Sin embargo no dispone de corriente suficiente para actuar un servo grande (como el MG995). Incluso varios servos pequeños como el SG90, o hacer excesiva fuerza con ellos puede exceder la capacidad de corriente de Arduino, provocando su reinicio o si tienes mala suerte… quemarlo.
Por otro lado, finalmente, para el control conectamos el cable de señal (naranja / blanco) a cualquier pin digital de Arduino que sea PWM, aunque para este ejemplo lo conectaremos al pin 9.
Programación de un servomotor con Arduino
Para manejar servomotores como lo es el SG90 con Arduino es muy sencillo, ya que el IDE de Arduino ya viene por defecto con la librería «servo.h», que permite controlar simultáneamente hasta 12 servos motores en Arduino Uno o Nano y hasta 48 servos en Arduino Mega.
A continuación se mostrará un breve ejemplo de como funciona este servo motor con Arduino. Para ello incrementaremos el ángulo de 0 a 180º a razón de 1º cada 20 milisegundos, posteriormente realiza la operación contraria de 180º a 0º, para finalmente reiniciar el ciclo de forma continua.
// www.MechatronicStore.cl
#include <Servo.h> //Librería interna de Arduino para utilizar Servo motores
Servo myservo; // crea el objeto Servo bajo la variable myservo
int pos = 0; // declara e inicializa a la variable pos como la posición del servo
void setup() {
myservo.attach(9); // vincula el servo al pin digital 9
}
void loop() {
//varia la posicion de 0 a 180 grados, aumentando cada 20ms 1 grado
for (pos = 0; pos <= 180; pos += 1)
{
myservo.write(pos);
delay(20);
}
//varia la posicion de 180 a 0 grados, bajando cada 20ms 1 grado
for (pos = 180; pos >= 0; pos -= 1)
{
myservo.write(pos);
delay(20);
}
}
Características de Servo motor SG90 Tower Pro
- Dimensiones (L x W xH) = 22.0 x 11.5 x 27 mm (0.86 x 0.45 x 1.0 pulgadas)
- Peso: 9 gramos
- Grados de giro: 180°
- Peso con cable y conector: 10.6 gramos
- Torque: 1.8 Kg/cm
- Consumo en corriente: 550 mA
- Voltaje de operación: 4.0 a 7.2 volts
- Velocidad a 4.8 V: 0.12 seg / 60 º
- Conector universal para la mayoría de los receptores de radio control
- Método de accionamiento: PWM
- Rango PWM: 500-2400 micro segundos.
- Compatible con tarjetas como Arduino y microcontroladores que funcionan a 5 volts.
- Longitud del cable: 25cm
Cabe mencionar que si las caracteristicas técnicas de este servo motor se quedasen cortas para lo que requiere, tenemos el servo motor MG995 que tiene mayor torque.
Valoraciones
No hay valoraciones aún.