Проблема с драйвером двигателя L298N

motor l298n

У меня такая же проблема с драйвером двигателя. Сначала я запустил код и подключил L298N к Arduino, и все заработало нормально. В то время моторы работали абсолютно нормально. Но когда я запускал его иногда позже, тогда моторы не работали. Однако двигатели получают мощность, но я думаю, что они получают гораздо меньше энергии от драйвера двигателя.

Я запускал моторы напрямую с контакта +5V Arduino, и моторы работали нормально. Что-то не так с драйвером двигателя L298N?

Еще один момент: я проверил питание всех контактов драйвера двигателя L298N, и все контакты работают нормально.

Вот моя полная программа:

const int MOTOR_RIGHT = 1;
const int MOTOR_LEFT =  2;
const int MR_CONTROL_PIN_A = 8;
const int MR_CONTROL_PIN_B = 9;
const int ML_CONTROL_PIN_A = 10;
const int ML_CONTROL_PIN_B = 11;

void setup() {
  // Эти два контакта будут действовать как выходные контакты

  pinMode(MR_CONTROL_PIN_A,OUTPUT);
  pinMode(MR_CONTROL_PIN_B,OUTPUT);
  pinMode(ML_CONTROL_PIN_A,OUTPUT);
  pinMode(ML_CONTROL_PIN_B,OUTPUT);
  Serial.begin(4800);

}

void loop() 
{
  // поместите сюда ваш основной код для многократного запуска:

  forward(MOTOR_RIGHT);
  forward(MOTOR_LEFT);  
  delay(5000);  
  stopMotor(MOTOR_RIGHT);
  stopMotor(MOTOR_LEFT);
  delay(1000);
  backward(MOTOR_RIGHT);
  backward(MOTOR_LEFT);
  delay(5000);
  stopMotor(MOTOR_RIGHT);
  stopMotor(MOTOR_LEFT);
  delay(1000);

}
////////////////////////////////////////////////// ////////////////////
//Вперед

  void forward(int motorNo)
  {

  Serial.print("\r\n Forward : ");
  Serial.print(motorNo);

  switch(motorNo)
  {
    case MOTOR_RIGHT:
    digitalWrite(MR_CONTROL_PIN_A,HIGH);
    digitalWrite(MR_CONTROL_PIN_B,LOW);
    break;

    case MOTOR_LEFT:
    digitalWrite(ML_CONTROL_PIN_A,HIGH);
    digitalWrite(ML_CONTROL_PIN_B,LOW);
    break;

  default:
    Serial.print("\r\n Error :Invalid Motor No ");
    Serial.print(motorNo);
   }
  }

////////////////////////////////////////////////// /////////////////////
  void backward(int motorNo)
  {
   Serial.print("\r\n Backward : ");
   Serial.print(motorNo);
  switch(motorNo)
  {
    case MOTOR_RIGHT:
    digitalWrite(MR_CONTROL_PIN_A,LOW);
    digitalWrite(MR_CONTROL_PIN_B,HIGH);
    break;

    case MOTOR_LEFT:
    digitalWrite(ML_CONTROL_PIN_A,LOW);
    digitalWrite(ML_CONTROL_PIN_B,HIGH);
    break;

  default:
    Serial.print("\r\n Error :Invalid Motor No : ");
    Serial.print(motorNo);
   }

  }

////////////////////////////////////////////////// //////////////////////
  void stopMotor(int motorNo)
  {
   Serial.print("\r\n STOP : ");
   Serial.print(motorNo);
  switch(motorNo)
  {
    case MOTOR_RIGHT:
    digitalWrite(MR_CONTROL_PIN_A,HIGH);
    digitalWrite(MR_CONTROL_PIN_B,HIGH);
    break;

    case MOTOR_LEFT:
    digitalWrite(ML_CONTROL_PIN_A,LOW);
    digitalWrite(ML_CONTROL_PIN_B,LOW);
    break;

  default:
    Serial.print("\r\n Error :Invalid Motor No : ");
    Serial.print(motorNo);
   }

  }

Что-то не так с моим L298N? Как я могу это проверить?

, 👍0

Обсуждение

Может ли микросхема драйвера обеспечить достаточный ток для непрерывной работы двигателя?, @chrisl

На самом деле проблема в том, что он не обеспечивает достаточного тока для движения двигателя. Я чувствую искру в двигателе при включении питания и подключении к L298N через Arduino, но двигатель не вращается., @Satyam Annu

Какой ток нужен вашему двигателю? Насколько я помню, L298N имеет довольно плохой КПД, потому что в нем используются биполярные транзисторы вместо MOSFET., @chrisl

Я не думаю, что вы должны запускать двигатель от регулятора 5V на Arduino. Попробуйте использовать отдельный источник питания для драйвера двигателя., @Coder_fox


2 ответа


1

Указанное минимальное напряжение для двигателей на 2,5 В выше, чем питание логики.

Для двигателя необходимо использовать отдельный источник питания, мощность которого выше логической.

,

Я напрямую подаю питание на L298N от батареи +9 В, но все еще обнаруживаю ту же проблему. Аранжировка такая: +12V L298N Контакт подключен к аккумулятору, Контакт GND L298N, подключенный как к батарее, так и к Arduino GND, Контакт +5V L298N подключен к +5V Arduino., @Satyam Annu


0

9-вольтовые батареи имеют очень низкую емкость. Это может быть причиной вашей проблемы. Замените батарею на блок питания с большей емкостью. Или другие большие батареи, которые в сумме дают около 9 вольт.

,