Sunteți pe pagina 1din 5

Motor DC PINGUINO

MOTORES DC
Por: Julio Fabio De La Cruz G http://micropinguino.blogspot.com

Es fundamental el manejo o Figura 1 Esquema Motor DC controlado con un transistor 2N2222


control de motores DC
desde un microcontrolador
o circuito digital, sobre todo
si es de nuestro inters la
robtica o temas afines.

ALIMENTACIN

Los motores DC no pueden ser


alimentados directamente desde el
microcontrolador, por su baja
capacidad de entrega o dreno de
corriente, que esta en el orden de
25mA por terminal de los puertos. Un
motor DC de uso comn necesita
corrientes mayores a las entregadas
directamente por el microcontrolador Figura 2 Montaje Motor DC controlado con un transistor 2N2222
para operar.

CIRCUITOS MANEJADORES

Hay diversos circuitos manejadores


de corriente para poder alimentar y
controlar el motor DC desde el
microcontrolador. Estos circuitos son
conocidos tambin como drivers
utilizando su termino en ingles.
El dispositivo mas comn y bsico
para el manejo del motor es el
transistor, existiendo mltiples
circuitos diferentes en diversas
configuraciones para control de
velocidad y de giro.

> CIRCUITO 1 - 2N2222

Este circuito sirve para activar o


desactivar el motor por medio de un

1 http://micropinguino.blogspot.com
Motor DC PINGUINO
Figura 3 Esquema Motor DC controlado con el ULN2003
transistor NPN, dependiendo del
motor se utilizaran transistores de uso
comn como el 2N2222 para
motores pequeos o transistores tipo
TIP para motores mas grandes.
Las figuras 1 y 2 corresponden a este
tipo de montaje.

> CIRCUITO 2 - ULN2003

Hay circuitos integrados


especializados como el ULN2003,
este circuito cuenta con transistores
en configuracin darlington que
pueden soportar una tensin mxima
de 50V y manejar cargas de 500mA.
Este integrado tambin incorpora los
diodos de proteccin, tal como el que
aparece en la Figura 1
Figura 4 Montaje Motor DC controlado con el ULN2003
correspondiente al montaje con el
2N2222.
Con este integrado se pueden
manejar hasta 7 motores, en la Figura
3 aparece el esquema y circuito para
un motor.
En este caso el voltaje de
alimentacin del motor es el mismo
del circuito microcontrolador.

En la tabla 1 aparece la descripcin y


funcin de sus terminales.

CONTROL DE SENTIDO DE
GIRO

Los anteriores circuitos permiten solo


activar o desactivar el motor, pero no
controlar su sentido de giro.
El mtodo mas comn de control de
giro sentido de giro se llama puente H.
Tabla1 Tabla de terminales
> CIRCUITO 3 - L298

El circuito integrado L298 es un Terminal Descripcin


integrado especializado para el IN1 IN7 Entradas digitales provenientes del microcontrolador.
manejo de motores DC en la
OUT1 OUT7 Salidas a las que se conecta la carga.
configuracin de punte H.
COMMON Punto comn, a este punto se conecta la alimentacin
Este integrado permite el control de correspondiente a la carga o dispositivo a controlar.
sentido de giro de hasta dos Corresponde al punto comn de los diodos de protecci n
internos.
motores. La figura 5 muestra la
conexin para un solo motor DC, GND Tierra.
el circuito incluye los diodos de

2 http://micropinguino.blogspot.com
Motor DC PINGUINO
Figura 5 Esquema Motor DC controlado con el L298
proteccin y capacitores de
regulacin que van prximos a los
terminales de alimentacin, los
capacitores pueden ser de 10uf,
100uf o 330uf.

En cuanto a los diodos de


proteccin pueden ser diodos
comunes como los 1N4004 o
diodos rpidos como el 1N4148

En el circuito de la figura la
alimentacin de motor se dejo igual
a la del sistema microcontrolador,
sin embargo si el motor requiere
otro nivel de tensin, por ejemplo
12V, procedemos a conectar el
terminal VDD al terminal de
alimentacin de 12V.

VCC sera 5V que correspondende


al nivel de tensin digital.

Para el circuito propuesto el motor


siempre esta habilitado colocando
la seal ENA a 5V.

Las entradas IN1 y IN2 son las que Figura 6 Montaje Motor DC controlado con el L298
permiten controlar el sentido de
giro, como se muestra en la Tabla
2

Tabla 2 Sentidos de giro


IN2 IN1 GIRO
0V 0V NINGUNO
0V 5V DERECHA
5V 0V IZQUIERDA
5V 5V NINGUNO

> CIRCUITO 4 L298 PWM

En este otro modo de configuracin,


empleamos la entrada ENA
conectada a la salida CPP del
microcontrolador para enviar una
seal modula en pulso o PWM, para
as controlar la velocidad de giro del
motor, la Figura 5 muestra el esquema
del circuito.

3 http://micropinguino.blogspot.com
Motor DC PINGUINO
Figura 7 Esquema Motor DC control PWM
PROGRAMACIN

> CODIGO 1

Los siguientes ejemplos de cdigo


aplica a los circuitos de las Figuras 2
y 4.

El Codigo 1 activa y desactiva el


motor cada 5 segundos

Codigo1 Activar motor

void setup(){
TRISB=0x00;
}
void loop(){
PORTB=1;
delay(5000);
PORTB=0;
delay(5000);
}

El siguiente es el cdigo si solo


empleamos las instrucciones propias
de PINGUNO.
Figura 8 Montaje Motor DC control PWM

Codigo2 Activar motor

void setup(){
pinMode(0,OUTPUT);
}
void loop(){
digitalWrite(0,HIGH);
delay(5000);
digitalWrite(0,LOW);
delay(5000);
}

> CODIGO 2
Los siguientes ejemplos de cdigo
aplica al circuito de la Figura 6.
En este caso controlamos el sentido
de giro del motor. Hacemos girar el
motor en un sentido, paramos y luego
lo hacemos girar en el otro sentido.
Los siguientes son los codigos, tanto
si utilizamos SDCC o PINGUINO .

4 http://micropinguino.blogspot.com
Motor DC PINGUINO

seal que podemos especificar en los


Codigo3 Sentido de giro rangos de 0 a 1023, teniendo como
1023 equivalente al 100%.
void setup(){ Para esto se utilizan los terminales
TRISB=0x00; CCP del microcontrolador, teniendo
} como CCP2 el terminal 11 de
void loop(){ PINGUINO y el CCP1 como terminal
PORTB=1; 10 de pingino
delay(5000);
PORTB=0;
delay(1000); Codigo5 Control PWM
PORTB=2;
delay(5000); void setup(){
PORTB=0; TRISB=0x00;
delay(1000); }
} void loop(){
PORTB=1;
analogWrite(11 , 512);
delay(5000);
El siguiente es el cdigo si solo
analogWrite(11 , 1023);
empleamos las instrucciones propias
delay(5000);
de PINGUNO.
}

Codigo4 Sentido de giro

void setup(){ Codigo6 Control PWM


pinMode(0,OUTPUT);
pinMode(1,OUTPUT); Int i;
} void setup(){
void loop(){ TRISB=0x00;
digitalWrite(0,HIGH); i=0;
digitalWrite(1,LOW); }
delay(5000); void loop(){
digitalWrite(0,LOW); PORTB=1;
digitalWrite(1,LOW); while(i<=1023){
delay(1000); analogWrite(11 , i);
digitalWrite(0,LOW); i++;
digitalWrite(1,HIGH); }
delay(5000); i=0;
digitalWrite(0,LOW); }
digitalWrite(1,LOW);
delay(1000);
}

CODIGO 3
Los siguientes ejemplos de cdigo
aplica al circuito de la Figura 8.
En este caso controlamos el sentido
de giro del motor. y su velocidad .
Utilizaremos la instruccin
analogWrite propia de pinguino para
generar la seal PWM, esta genera un

5 http://micropinguino.blogspot.com

S-ar putea să vă placă și