Download Puente H: cambio de giro y velocidad de motores DC.
Document related concepts
no text concepts found
Transcript
Puente H: cambio de giro y velocidad de motores DC. Por William David Galvis 26 Marzo del 2014 Puente H: El puente en H lleva su nombre gracias al aspecto físico del esquema básico de los interruptores usados para direccionar la corriente en un sentido o en el otro (figura 1), este cambio en la dirección de la corriente hace que el motor cambie el sentido del giro. Calle: 41 No. 51 15, local 141, Teléfono: 232 77 84, E-Mail: www.microkitselectronica.com Centro Comercial Paseo Bolívar, Carabobo con los Huesos, Medellín Antioquia, Colombia. 1 2 Imagen 1 Imagen 2 Los interruptores en las imágenes 2a y 2b pueden ser reemplazados por relés, contactores (eléctricos de potencia) o transistores, para hacer el diseño más compacto se han fabricado circuitos integrados que funcionan como puente en H con mayores configuraciones para su funcionamiento. Uno de ellos es el L298N. Este circuito integrado soporta cargas inductivas tales como relés, motores DC, motores paso a paso y solenoides. La corriente que fluye por la carga no debe exceder los dos amperios por canal, esta corriente a su vez sale del puente a un pin de sensado, donde se debe conectar una resistencia externa para determinar la intensidad de la corriente, ésta se llama resistencia de sensado A (para el motor A, RSA) y lo mismo sería para el motor B, RSB El circuito tiene dos puentes, el puente A (para el motor A) y el puente B (para el motor B), cada puente es controlado por tres compuertas, por ejemplo para el puente A, In1, In2 y EnA (Enable A). El máximo voltaje de operación para los motores es de 46 voltios DC. Calle: 41 No. 51 15, local 141, Teléfono: 232 77 84, E-Mail: www.microkitselectronica.com Centro Comercial Paseo Bolívar, Carabobo con los Huesos, Medellín Antioquia, Colombia. 3 Imagen 3 Imagen 4 Calle: 41 No. 51 15, local 141, Teléfono: 232 77 84, E-Mail: www.microkitselectronica.com Centro Comercial Paseo Bolívar, Carabobo con los Huesos, Medellín Antioquia, Colombia. Las dos entradas de habilitación EnA y EnB habilitan o deshabilitan por completo el puente respectivo independientemente del estado de las señales de entrada In1 e In2 que se encargan de indicar el sentido del giro del motor, lo mismo ocurre para el puente B. Si se quiere controlar la velocidad del motor en cualquiera de los dos puentes basta con energizar y des energizar el pin de control del puente (Enx), este voltaje promedio incrementará o disminuirá la cantidad de voltaje que le llega al motor, provocando su aceleración o desaceleración, este control se hace con los pines de PWM del Arduino. Imagen 5 La función analogWirte(): Esta función escribe un valor analógico en un pin (PWM), esta puede ser usada para controlar la luminosidad de un led o la velocidad de un motor Sintaxis: analogWrite(pin, valor) Parámetros a ingresar en la función: pin: Es el pin en el cual se quiere generar la señal PWM. Calle: 41 No. 51 15, local 141, Teléfono: 232 77 84, E-Mail: www.microkitselectronica.com Centro Comercial Paseo Bolívar, Carabobo con los Huesos, Medellín Antioquia, Colombia. 4 valor: El ciclo de trabajo deseado comprendido entre 0 (siempre apagado) y 255 (siempre encendido). Programa # 1: Produce una señal donde se conecta el LED, cuyo voltaje promedio es proporcional al valor leído en el pin donde está conectado el potenciómetro. /* Programa tomado de: http://arduino.cc/es/Reference/analogWrite#.UzZHcIVAeiw */ int ledPin = 9; int analogPin = 3; int val = 0; // LED conectado al pin digital 9 // potenciómetro conectado al pin 3 // variable en el que se almacena el dato leído void setup() { pinMode(ledPin, OUTPUT); } // sets the pin as output void loop() { val = analogRead(analogPin); // lee la tensión en el pin analogWrite(ledPin, val / 4); // los valores de analogRead van desde 0 // a 1023 y los valores de analogWrite van desde 0 a 255, por eso // ajustamos el ciclo de trabajo a el valor leído dividido por 4. } Imagen 6. Circuito para prueba del programa uno. Calle: 41 No. 51 15, local 141, Teléfono: 232 77 84, E-Mail: www.microkitselectronica.com Centro Comercial Paseo Bolívar, Carabobo con los Huesos, Medellín Antioquia, Colombia. 5 ¿Qué similitud tiene este programa con el programa uno de la guía anterior? El cual consistía en variar el tiempo de encendido y apagado del LED con el valor análogo medido en el potenciómetro. Si los dos programas hacen lo mismo ¿Qué programa es más eficiente? Programa #2 /* Programa para KITL298. Usa Tres funciones para marcha, paro y reversa de dos motores DC. Creado: Octubre del 2013 por William Galvis. Este programa es de domino público. */ /*Directivas de preprocesamiento asignan un nombre a un pin del Arduino en vez de una variable en memoria.*/ #define #define #define #define #define #define ena 9 // 2 enb 10 // 7 ain1 3 ain2 4 bin1 5 bin2 6 void setup() { /* se definen como salida los pines que van a controlar los dos puentes A y B del puente en H para los dos motores*/ pinMode(ena, OUTPUT); pinMode(enb, OUTPUT); pinMode(ain1, OUTPUT); pinMode(ain2, OUTPUT); pinMode(bin1, OUTPUT); pinMode(bin2, OUTPUT); } void loop() { marcha (255,255); // Motor A y Motor B a máxima velocidad. delay(2000); // el vehículo marcha dos segundos. pare(); // paro los motores antes de hacer cualquier cambio brusco. reversa(126, 126); // luego de parar se invierte el giro de los motores // para que este ande en reversa a la mitad de la velocidad. delay(2000); // el vehículo en reversa dos segundos. pare(); // paro los motores antes de hacer cualquier cambio brusco. } Calle: 41 No. 51 15, local 141, Teléfono: 232 77 84, E-Mail: www.microkitselectronica.com Centro Comercial Paseo Bolívar, Carabobo con los Huesos, Medellín Antioquia, Colombia. 6 void marcha(int a, int b) { analogWrite(ena,a); analogWrite(enb,b); digitalWrite(ain1, HIGH); digitalWrite(bin1, HIGH); //___________________________ digitalWrite(ain2, LOW); digitalWrite(bin2, LOW); } void pare (void) { digitalWrite(ena, LOW); digitalWrite(enb, LOW); digitalWrite(ain1, LOW); digitalWrite(bin1, LOW); digitalWrite(ain2, LOW); digitalWrite(bin2, LOW); delay(300); } void reversa(int a, int b) { analogWrite(ena,a); analogWrite(enb,b); digitalWrite(ain2, HIGH); digitalWrite(bin2, HIGH); //________________________ digitalWrite(ain1, LOW); digitalWrite(bin1, LOW); } REFERENCIAS imagen 1: http://blutintegrado.blogspot.com/2012/05/puente-h.html imagen 3 http://www.bristolwatch.com/L298N/ Puente H: cambio de giro y velocidad de motores DC. by William Galvis is licensed under a Creative Commons Reconocimiento-CompartirIgual 3.0 Unported License. Calle: 41 No. 51 15, local 141, Teléfono: 232 77 84, E-Mail: www.microkitselectronica.com Centro Comercial Paseo Bolívar, Carabobo con los Huesos, Medellín Antioquia, Colombia. 7