Este es el circuito que tenemos implementado y nuestra pregunta es ¿puedo variar la velocidad de giro del motor? Por supuesto que si.
Para conseguirlo debemos entender como funcionan los pines PWM.
Cuando conectamos los pines 1-2-7 a Arduino, tuvimos cuidado de conectar el pin 1 a una de las entradas señaladas con ~
Los pines señalados con ~ son entradas PWM que son las siglas de Pulse Width Modulation (Modulación del ancho de pulso)
¿Cómo funciona el PWM?
Variando su valor de tensión entre dos
valores conocidos, por ejemplo Vcc y GND en periodos concretos de tiempo. La
variación de ancho de pulso consiste en variar los tiempos de encendido y
apagado, es decir Ton y Toff. Al cambiar el valor de un PWM, en realidad se
están modificando estos tiempos.
¿Para qué sirve?
Para controlar la velocidad de un
motor de corriente continua. Cuando varía el ciclo de trabajo, varía la
velocidad ya que varía la tensión media en el bobinado del motor. Con un ciclo
de trabajo de 100%, el motor girará a la máxima velocidad. Al reducir el ciclo
de trabajo, se reducirá la velocidad.
En Arduino la señal de PWM la
generamos mediante el uso del método analogWrite(); su valor puede variar entre
0-255.
Por ejemplo:
analogWrite(actm1, 255);
// velocidad máxima
analogWrite(actm1, 0); // motor
parado
si queremos que nuestro motor
avance y retroceda a la mitad de velocidad en el programa anterior cambiaremos
la orden digitalWrite(actm1, HIGH); por
analogWrite(actm1, 127);
fíjate que cada línea finaliza con
;
El ejercicio que debes realizar
consiste en repetir esta secuencia:
- el motor avance a la velocidad máxima 2 seg.
- retroceda a velocidad media 2 seg
- vuelva a avanzar a velocidad mínima( recuerda que 0 para el motor, fijamos velocidad a 10), 2 seg.
- permanecerá parado 2 seg.
Aquí tenéis un vídeo con el funcionamiento