PRÀCTICA 5 : CONTROL DE VELOCITAT

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:

  1.  el motor avance a la velocidad máxima 2 seg.
  2.  retroceda a velocidad media 2 seg
  3. vuelva a avanzar a velocidad mínima( recuerda que 0 para el motor, fijamos velocidad a 10),  2 seg.
  4. permanecerá parado 2 seg.

Aquí tenéis un vídeo con el funcionamiento