Control Velocidad y Sentido de Motor DC
Control Velocidad y Sentido de Motor DC
Control Velocidad y Sentido de Motor DC
SENTIDO DE MOTOR DC
(26/11/13)
Material
-Arduino Uno
-Motor DC
-Potencimetro
-L293D (driver motores)
-Fuente alimentacin externa
Motor DC
Un motor de corriente continua convierte la energa elctrica en mecnica.
Se compone de dos partes: el estator y el rotor.
El estator es la parte mecnica del motor donde estn los polos del imn.
El rotor es la parte mvil del motor con devanado y un ncleo, al que llega
la corriente a travs de las escobillas.
Cuando la corriente elctrica circula por el devanado del rotor, se crea un
campo electromagntico. Este interacta con el campo magntico del imn
del estator. Esto deriva en un rechazo entre los polos del imn del estator y
L293D
Para controlar un motor DC desde Arduino, tendremos que usar un driver
para motores para proporcionarle ms corriente al motor ya que las salidas
del Arduino slo dan 40mA. De esta manera, con el driver podemos
alimentar el motor con una fuente de alimentacin externa.
El L293D es un integrado para controlar motores DC que usa el sistema
puente en H. Qu es el puente en H? Es un sistema para controlar el
sentido de giro de un motor DC usando cuatro transistores. En la imagen
vemos que los transistores se comportan como interruptores y dependiendo
que transistores conducen y cules no cambia la polarizacin del motor, y
con esto el sentido de giro.
Para hacerlo utilizaremos el PWM (vase PWM). Sabemos que hay que
atacar los pins 2 y 7 del L293D desde dos salidas del Arduino. En estas dos
salidas habr un PWM a cada una. Pero tenemos que invertir un PWM. Qu
quiere decir invertir? Pues que cuando en un PWM tengamos un pulso a un
valor alto, en el otro PWM el mismo pulso sea valor bajo. En la imagen lo
entenderemos de una manera ms grfica.
MONTAJE
PROGRAMA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
www.diymakers.es
by A.Garca
Control velocidad y sentido motor DC
Tutorial en: http://diymakers.es/control-velocidad-y-sentido-de-motor-dc/
*/
int pin2=9;
int pin7=10;
int pote=A0;
int valorpote;
int pwm1;
int pwm2;
void setup()
{
//Inicializamos los pins de salida
pinMode(pin2,OUTPUT);
pinMode(pin7, OUTPUT);
}
void loop()
{
//Almacenamos el valor del potencimetro en la variable
valorpote=analogRead(pote);