Cómo controlar un servo SG90

Categorías:
Etiquetas: ,

¿Qué es un servo SG90?

El servomotor o servo es un componente en el que podemos controlar el ángulo de giro de su eje y se utiliza para controlar movimientos que necesitan de cierta precisión.

servo SG90

Para nuestro modelo de servo, el servo SG90, el ángulo de giro irá de 0 a 180 grados.

Pero, ¿cómo controlamos ese ángulo de giro?

Con la señal de salida de la placa compatible con Arduino que saldrá desde un pin PWM o modulación por ancho de pulso (Pulse Width Modulation) hacia el servo. Lo que hacemos es generar una onda cuadrada en la que variaremos el tiempo en el que el pulso está en alto. Por tanto, la duración del pulso indica el ángulo en el que se debe posicionar el servo. De la hoja de información del fabricante (datasheet) para el servo SG90 obtenemos:

servo SG90

Así como las posiciones en función del pulso:

Gráficamente quedaría:

servo SG90

Pero en la práctica, ¿cómo vamos a gestionar el posicionamiento del eje del Servo SG90?

En el programa incluiremos una librería que se encarga de administrar el movimiento del servo. Ella nos facilita su uso de tal manera que solo tendremos que indicarle mediante la siguiente orden los grados a los que queremos llevar al servo:

myservo.write(grados); ordena al servo definido con el nombre myservo a qué grados girar. El valor de grados varía entre 0 y 180.

Los servos llevan integrados en su interior una placa controladora, esta será la encargada de recibir la señal PWM de nuestra placa compatible con Arduino y compararla con la posición de giro del eje del servo que vendrá indicada por un potenciómetro (sensor) y actuar sobre el motor para llevar al eje del servo a la posición marcada por la señal PWM.

Gracias al mecanismo reductor (tren de engranaje) podemos reducir mucho la velocidad de giro del motor y así aumentar en gran medida el par (torque) en el eje del servo. Al mismo tiempo esto permite realizar movimientos mucho más precisos.

servo SG90

El potenciómetro actúa como sensor del ángulo de giro ya que está conectado mecánicamente al eje del servo y por tanto indica al circuito de control la posición de dicho eje. La placa controladora compara y ajusta la posible diferencia para llevar al eje del servo a la posición deseada. Es lo que se conoce como realimentación negativa en bucle cerrado.

servo SG90

Podéis adquirir el proyecto BRAZO ROBÓTICO relacionado con este post, que te servirá para ampliar tus conocimientos sobre los servos SG90, los potenciómetros, la alimentación de la placa Arduino… si te ha gustado este post NO TE LO PIERDAS!!

IMPORTANTE: OFRECEMOS GRANDES DESCUENTOS PARA CENTROS EDUCATIVOS! SI ERES UN CENTRO EDUCATIVO PIDE PRESUPUESTO PERSONALIZADO AQUÍ

[product_page id=”277″]

Un saludo del equipo de InputMakers y ¡sigue siempre aprendiendo!

No olvides compartir si te ha gustado!

Twitter
Facebook
WhatsApp

Deja un comentario