Проблема с драйвером двигателя 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? Как я могу это проверить?
@Satyam Annu, 👍0
Обсуждение2 ответа
Указанное минимальное напряжение для двигателей на 2,5 В выше, чем питание логики.
Для двигателя необходимо использовать отдельный источник питания, мощность которого выше логической.
Я напрямую подаю питание на L298N от батареи +9 В, но все еще обнаруживаю ту же проблему. Аранжировка такая: +12V L298N Контакт подключен к аккумулятору, Контакт GND L298N, подключенный как к батарее, так и к Arduino GND, Контакт +5V L298N подключен к +5V Arduino., @Satyam Annu
9-вольтовые батареи имеют очень низкую емкость. Это может быть причиной вашей проблемы. Замените батарею на блок питания с большей емкостью. Или другие большие батареи, которые в сумме дают около 9 вольт.
- L298N Dual Motor Controller Enable Pin имеет питание, но двигатели не работают
- L298N, HC-05 Простой автомобиль с дистанционным управлением через Bluetooth, не работающий в Arduino
- L298N издает звуковые сигналы и дает сбой при получении определенных значений AnalogWrite
- Двигатели постоянного тока не работают с ШИМ и драйвером двигателя L298N
- Как использовать отдельный источник питания для Arduino и двигателей
- Как управлять скоростью двигателя с помощью L298N и Node MCU?
- Помощь Поиск и устранение неисправностей L298n подключен к двигателю постоянного тока
- Двигатель постоянного тока, не работающий с картой L298N (зеленая)
Может ли микросхема драйвера обеспечить достаточный ток для непрерывной работы двигателя?, @chrisl
На самом деле проблема в том, что он не обеспечивает достаточного тока для движения двигателя. Я чувствую искру в двигателе при включении питания и подключении к L298N через Arduino, но двигатель не вращается., @Satyam Annu
Какой ток нужен вашему двигателю? Насколько я помню, L298N имеет довольно плохой КПД, потому что в нем используются биполярные транзисторы вместо MOSFET., @chrisl
Я не думаю, что вы должны запускать двигатель от регулятора 5V на Arduino. Попробуйте использовать отдельный источник питания для драйвера двигателя., @Coder_fox