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 del rotor creando un par de fuerza donde el rotor gira en un sentido de forma permanente. Si queremos cambiar el sentido de giro del rotor, tenemos que cambiar el sentido de la corriente que le proporcionamos al rotor; basta con invertir la polaridad de la pila o batera.
L293D (Puente H) 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.
El L293D tiene dos puentes H y proporciona 600mA al motor y soporta un voltaje entre 4,5V y 36V tal y cmo pone en el datasheet. En el datasheet tambin hay el esquema que vamos a usar.
Vcc1 (pin 16) --> voltaje lgico (p.e. 5 o 3.3V) Vcc2 (pin 8) --> voltaje motor Vm (hasta 36 V)
El resto del integrado est dividido en 2 bloques funcionalmente equivalentes. Cada uno de ellos (situados a cada lado del L293) es un H-bridge completo. Por ejemplo, en la rama de la izquierda disponemos de: Pin ENABLE : interruptor apagado/encendido (pin 1,2 EN) 2 Entradas IN1, IN2 (pines 1A,2A) 2 Salidas: OUT1, OUT2 (pines 1Y, 2Y).
Un nivel alto/bajo (respecto al voltaje de la lgica) en las entradas IN1, IN2 se traduce en un nivel alto/bajo de las salidas OUT1,OUT2 (pero en voltaje motor
Vm y con mucha mayor capacidad de corriente). Cada rama puede dar unos 0.75A de forma continuada y picos de hasta 1A.
Al tener 2 puentes H completos, con un L293 podemos controlar 2 motores DC bidireccionales o 4 motores DC unidireccionales. La figura adjunta (datasheet) refleja el montaje con 1 motor bidireccional en el H-bridge izquierdo y 2 unidireccionales en el derecho:
Pwm 0- Vel = 0 255 Vel= max
GRAFICAS DE DOS ENTRADAS PWM PARA INVERSION DE SENTIDO PARA PUENTE H
/* --------------------------------------------- Control por PWM de un motor
--------------------------------------------- */ //-------------------------------------------------- //Declara puertos de entradas y salidas y variables //-------------------------------------------------- int motor=12; //Declara Pin del motor int motor2=13; //------------------------------------ void setup() // Se ejecuta cada vez que se inicia { Serial.begin(9600); //Inicia la comunicacion serial Arduino-PC } //------------------------------------ //Funcion ciclicla //------------------------------------ void loop() // Esta funcion se mantiene ejecutando { // cuando este energizado el Arduino
// Si hay algun valor en la Consola Serial if (Serial.available()){
//Variable donde se guarda el caracter enviado desde teclado char a = Serial.read();
// Si el caracter ingresado esta entre 1 y 9 if (a>='1' && a<='9'){
//Variable para escalar el valor ingresado a rango de PWM int pwm1 = map(a,'0','5',0,255); // la function map distribuye los valores de 1-9 a los bits de 0-255 int pwm2 = map(a,'0','5',255,0); //distribuye los valores para pwm con los bits invertidos //Escritura de PWM al motor analogWrite(motor,pwm1); //desiganacion de los pwms a salidas analogWrite(motor2,pwm2); //Mensaje para el usuario Serial.print("El motor esta girando a la velocidad "); Serial.println(a);
}else{ // Si el caracter ingresado NO esta entre 0 y 9 //Mensaje para el usuario Serial.print("Velocidad invalida"); Serial.println(a); } } }