Omet navegació

5.3) Motors amb l'escut L298

1) Motors amb control tot / res

El escut L298 té avantatges sobre el L293, doncs permet que la Intensitat que reben els motors siga major. Això aquest escut més úttil quan vols elevades prestacions dels motors. Anem a veure el control tot/res sense utilitzar els PWM.

Fes el muntatge següent:

Arduino + Escut L298 + Motors A i B

A continuació fes el següent programa amb Blockly@rduino:

Escut_A_UNO_L298_tot_res

Aquest escut fa anar H el motor A amb l'entrada IN2 activada, i aH amb l'entrada IN1 activada. El motor B el fa anar H amb l'entrada IN4 activada i el fa anar aH amb l'entrada IN3 activada.

El programa equivalent per l'Arduino IDE és aquest:

// Motor A Horari
void Motor_A_Horari() {
  Serial.println("Escut L298 motor A Horari");
  Serial.println("Activem IN1=6 ");
  digitalWrite(6, HIGH);
  Serial.println("Desactivem IN2=7");
  digitalWrite(7, LOW);
}


// Motor B Horari
void Motor_B_Horari() {
  Serial.println("Escut L298 motor B Horari");
  Serial.println("Activem IN4=4 ");
  digitalWrite(4, HIGH);
  Serial.println("Desactivem IN3=5");
  digitalWrite(5, LOW);
}


// Motor A antiHorari
void Motor_A_antiHorari() {
  Serial.println("Escut L298 motor A antiHorari");
  Serial.println("Desactivem IN1=6 ");
  digitalWrite(6, LOW);
  Serial.println("Activem IN2=7");
  digitalWrite(7, HIGH);
}


// Motor B antiHorari
void Motor_B_antiHorari() {
  Serial.println("Escut L298 motor B Horari");
  Serial.println("Desactivem IN4=4 ");
  digitalWrite(4, LOW);
  Serial.println("Activem IN3=5");
  digitalWrite(5, HIGH);
}


// Atura motor A
void Atura_Motor_A() {
  Serial.println("Escut L298 motor A aturat");
  Serial.println("Desactivem IN1=6 ");
  digitalWrite(6, LOW);
  Serial.println("Desactivem IN2=7");
  digitalWrite(7, LOW);
}


// Atura motor B
void Atura_Motor_B() {
  Serial.println("Escut L298 motor B aturat");
  Serial.println("Desactivem IN4=4 ");
  digitalWrite(4, LOW);
  Serial.println("Desactivem IN3=5");
  digitalWrite(5, LOW);
}



void setup() {
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  Serial.begin(9600);

}

void loop() {
    Motor_A_Horari();
    delay(5000);
    Motor_A_antiHorari();
    delay(5000);
    Atura_Motor_A();
    delay(5000);
    Motor_B_Horari();
    delay(5000);
    Motor_B_antiHorari();
    delay(5000);
    Atura_Motor_B();
}

Fes la pràctica Motors 1