Antes de explicar la práctica en sí que es muy sencilla, vamos a explicar qué es un servomotor. Una característica de los servomotores es que sus cables de conexión además de la alimentación tienen un tercer cable de control. Eso es debido a que los servomotores llevan incorporado un circuito PWM (modulación por ancho de pulso) que controla el ángulo de giro mediante el valor de una señal de pulso.
Cuando el pulso de la señal tiene un determinado valor el motor no gira se queda con un ángulo de 0º. Cuanto mayor es el pulso mayor es el giro del motor en un determinado sentido. Lo mismo ocurre en el sentido contrario cuando diminuimos el pulso.
La gran desventaja de los servomotores es que su movimiento se limita entre 0 y 180º. Por dicho motivo, y para conseguir un giro completo de 360º, es preciso quitar los topes de la reductora, pero también es necesario sustituir el potenciometro por dos resistencias del mismo valor.
De esta manera el circuito de control tendrá la señal de 90º y seguirá girando.
En nuestra práctica hemos conectado un servomotor a la placa ARDUINO, conectando los cables de alimentación a tierra y +5 respectivamente y el de control al pin 9. Cargando en ARDUINO el siguiente programa:
"
#include <Servo.h>
Servo myservo;
int angulo = 0;
void setup()
{
myservo.attach(9);
}
void loop()
{
for(angulo = 0; angulo < 180; angulo += 2)
{
myservo.write(angulo);
delay(20);
}
for(angulo = 180; angulo>=1; angulo-=2)
{
myservo.write(angulo);
delay(20);
}
}
"
El comando <Servo.h> importa de la librería Servo el programa
El resultado es:
No hay comentarios:
Publicar un comentario