MOTOR DC & PWM

A estas alturas,el control de un simple motor dc no debería de ocasionarnos ningun problema despues de la infinita información que hay en la red sobre este tema. No se si aportaré algo nuevo, pero expongo aquí mi experiencia añadiendo dos redes RC a la salida amplificada del puente H.

CONTROL DE VELOCIDAD DE UN MOTOR DC

SIN CAMBIO DE SENTIDO:

ADAPTACIÓN DE ALTA A BAJA IMPEDANCIA:

Puente H L293D

Sabemos como controlar la velocidad de un motor dc, variando el ancho de pulso con la función analogWrite() pudiendo hacerlo en el pin enable o en el pin de entrada.

La tránsición de un nivel L a otro H en la entrada “enable” posibilita que la salida 1Y tienda a un nivel de voltaje cercano a a Vcc2. Este transición no es instantánea,pasa por unos valores intermedios desde un limite inferior a otro superior que no supera los 400 mV. La salida en 1Y va incrementandose desde 0 hasta su valor máximo Vcc2 desde el principio al final del tránsito. Gracias a ello nos servirá para variar la velocidad de nuestro motor DC.

Teniendo en cuenta que la señal PWM es una onda cuadrada a 490 o 970 Hz, y necesitamos utilizar el porcentaje del ancho de pulso desde 0 a 255, he conectando un motor dc de 5v entre los pines 1Y/2Y observando que el motor empieza a girar a partir de una PWM=95 alcanzando el valor máximo en 255 que es un voltaje dc continuo y en función del delay() utilizado, las variaciones de velocidad serán mas rapidas o mas lentas.

He comprobado que las salidas que se conectan al motor no es una dc pura sino que tiene una componente alterna,siendo de unos 2V con PWM=1 hasta que va disminuyendo paulatinamente hasta que el ancho de pulso es del 100%. Cuando PWM=90 la componente alterna esta sobre los 0,5V y es cuando empieza a girar el motor.

He conectado dos redes RC con los valores indicados en lassalidas 1Y/2Y pensando en el cambio de sentido,y el resultado es que el motor empieza a girar ahora cuando PWM=45, Si aumentamos lacapacidad del condensador a 470 uF, elmotor empieza a girar con valores pequeños de PWM, pero este efecto es indeseado porque lo que estamos haciendo es estrechar e intervalo de la transición alcanzando la maxima potencia muy rapido y perdiendo el efecto de control de velocidad. Con 100uF ,adelantamos un poco el comienzo de giro pero aun tenemos suficiente margen para poder tener una gradación suave de la velocidad. Tambien el utilizar una PWM de 970 Hz en vez de 480 Hz va a notarse al utilizar la red RC porque tendrá el mismo efecto que aumentar la capacidad del condensador.

Sencillo código para cambiar el sentido cada delay(establecido)

const int enable=5;
const  int pin1A=9;
const  int pin1B=10;
int i;

void setup() {
   Serial.begin(9600);

  pinMode(enable,OUTPUT);
  
 analogWrite(enable,70);// 
}

void loop() {


 digitalWrite(pin1A,HIGH);
 digitalWrite(pin1B,LOW);
 
 delay(200);
 digitalWrite(pin1A,LOW);
 digitalWrite(pin1B,HIGH);
  delay(200);
  
  }

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Translate »