Tutorial Arduino 5.- Servomotores

Publicado por Loli Diéguez en

Continuamos con el tutorial de Arduino, en este artículo hablaremos de los servos o servomotores.

Los servomotores vienen en todos los tamaños y se utilizan ampliamente en vehículos de radiocontrol y robótica. Vamos a ver cómo conectar un servo de baja corriente a un Arduino, y cómo hacer que se mueva. 

 Hardware necesario:

  • Ordenador / portátil
  • Microcontrolador Arduino
  • Adaptador USB a serie (si tu microcontrolador no tiene un puerto USB)
  • Cable USB apropiado (las placas Arduino obtienen energía del puerto USB)
  • Servomotor estándar (consumo de corriente <50mA)
  • Cables / conector de clavijas

 

Controlar un servomotor directamente desde Arduino es bastante fácil. Sin embargo, un servomotor puede requerir mucha más corriente de la que puede proporcionar Arduino. 

El siguiente ejemplo emplea un servo de tamaño estándar (sin carga) alimentado directamente desde el Arduino a través del USB, al alimentar el servo directamente desde la placa Arduino tienes que:

  1. Conectar el cable negro del servo al pin GND en el Arduino
  2. Conectar el cable rojo del servo al pin + 5V en el Arduino
  3. Conectar el cable amarillo o blanco del servo a un pin digital en el Arduino

Conexión de un servomotor en un Arduino

 

Alternativamente, puedes enchufar el cable del servo en tres pines adyacentes y establecer el pin conectado al cable rojo en "HIGH" y el pin conectado al cable negro en "LOW". 

Si deseas utilizar un servo más potente, o si deseas conectarlo a una fuente de alimentación separada, debes conectar los cables rojo (5V) y negro (GND) de la batería / fuente de alimentación a los cables rojo y negro del servo, y conectar el cable de señal al Arduino. Ten en cuenta que también necesitas conectar la línea GND de la batería a los pines GND de Arduino ("tierra común").

A continuación veremos un código de ejemplo para el control del servo

Código servopin

 

Revisando el código

La línea más interesante en este boceto o sketch es pinMode (servoPin, OUT); esto establece un número de pin como entrada o salida dedicada. En este caso, llamamos al pin “servoPin” y le asignamos un valor de 4. El término “pulse” está en negro, ya que no es una palabra reservada y puede ser cambiado por lo que desees para poder interpretar mejor el código, recuerda que es mejor usar variables descriptivas al programar para comprender lo que hace cada uno o la información que contendrá. 

Los servos operan enviando un pulso temporizado de +5V (generalmente entre 500us y 2500us) repitiéndose cada ~ 20ms. Este pulso corresponde a una posición de servo  generalmente de 0 a 180 grados.

  • 5V por 500 microsegundos = 0.5 milisegundos y corresponde a 0 grados
  • 5 V por 1500 microsegundos = 1,5 milisegundos y corresponde a 90 grados
  • 5V por 2500 microsegundos = 2.5 milisegundos y corresponde a 180 grados
  • La relación es lineal, así que usa las matemáticas para determinar el pulso que corresponde a un ángulo dado. Ten en cuenta que si envías una señal mayor o menor de lo que el servo puede aceptar, podría dañar el actuador.

Otra opción para controlar los servos es utilizar la "biblioteca de servos " de Arduino (anteriormente separada del software básico de Arduino, ahora se incluye con la V1.0). 

La biblioteca de servos gestiona gran parte de la sobrecarga e incluye nuevos comandos personalizados. Si deseas controlar varios servomotores, debes usar un controlador de servomotor y una fuente de alimentación separada entre 4.8V y 6V.

Como ves, este artículo es muy sencillo, del mismo modo que lo son los servo, no dudes en practicar lo que aquí te indico, ya que la mejor manera de aprender es practicando


Compartir esta publicación



← Publicación más antigua Publicación más reciente →