Está en la página 1de 5

SERVOMOTOR

SG-5010

Rojo - Alimentacin (Normalmente 5 V


aunque pueden ser mas)
Negro o Marrn -Masa
Blanco o Naranja - Seal de control (pulso
enviado al servomotor)
Para controlar el servomotor se le enva pulsos cada 20 ms es decir
50Hz. La anchura del pulso es lo que codifica el ngulo de giro, es decir
lo que se conoce como PWM, codificacin por ancho de pulso. Esta
anchura vara segn el servomotor pero normalmente va entre 0.5 y 2.5
ms aunque pueden variar.
Dependiendo del tamao del servo y su consumo es posible que no
puedas alimentarlo desde tu placa arduino, en ese caso es necesario
una fuente de 5V independiente para poder moverlo, en mi caso uso un
micro servo por lo que consume poca corriente y se puede alimentar
directamente por el Arduino . Sobre el peso que pueden levantar se
puede deducir con el par del servo. Normalmente los servos indican el
par o torque que pueden realizar para un servo estndar suele ser

5kg/cm es decir puede mover 5kg a 1 cm de distancia. En caso de


querer mover lo a 5 cm el servo solo podr mover 1kg.
A continuacin vamos a ver cmo controlar en Arduino un servomotor.
Para ello iniciamos la aplicacin de Arduino y pulsamos en sketch>importar librera ->Servo

Con esto incorporamos la librera, aunque tambin podemos escribir el


texto directamente. Una vez Hecho esto ya podemos usar la librera
Servo.
Ahora vamos a definir nuestro objeto Servo, esto es como definir una
variable de tipo int o float, pero un poco ms completa con funciones y
campos que le pertenecen. Para ponemos Servo mi Servo.

Con el objeto servo definido vamos a pasar a inicializarlo, para ello usaremos
la funcin attach (pin, min, max) los parmetros de esta funcin son el pin, casi
cualquier pin del Arduino puede controlar un Servomotor y no es necesario que
sea uno de los PWM. En las placas que no son la Mega la utilizacin de
la librera Servo inhabilita el PWM en los pines 9 y 10 se usen estos pines o no
como servo. Los dos siguientes parmetros son opcionales e indican cual es el
ancho de pulso en microsegundos para 0 y para 180 por defecto 544 y 2400.
En este ejemplo usaremos el pin 9.

El siguiente paso consiste en enviarle el ancho de pulso al servo con el ngulo


que queremos. En esta primera parte le enviaremos un ngulo constante por
ejemplo 90. Y lo visualizaremos el ancho de pulso en el osciloscopio. Donde en
la parte inferior se puede ver el ancho de pulso y como el periodo es de 20 ms
aproximadamente.

Tener en cuenta que no hemos puesto ningn delay por lo que el objeto
servo enviara el pulso cada 20 ms independientemente de nuestro
programa.
Para poder interactuar con el servo vamos a incorporar unas funciones
que nos permitan moverlo desde el PC. Para ello usaremos el puerto
Serie conectado al usb y le mandaremos la letra 'a' cuando querramos
aumentar 10 o la letra 'z' cuando querramos decrementar 10. Adems
con la funcin constrain nos aseguramos de que el valor no supere los
180 ni baje de los 0.

Para las conexiones simplemente la masa conectada con la del Arduino, la


seal del servo(Naranja o blanco) al pin 9 y la alimentacin si tenis un servo
pequeo al pin +5v del Arduino , sino tenis que alimentarlo con alguna fuente
externa.

También podría gustarte