Характеристики драйвера L298N
Напряжение 5 V;
Ток сигнала от 0 до 36mA;
Напряжение, подаваемое на мотор от 5v до 35v;
Максимальный ток, подаваемый на двигатель 2А;
Диапазон температуры эксплуатации от -20 °С до +135 °С;
Максимальная мощность 25 Вт;
Масса 0.03 кг;
Размеры 43x43x27 мм.
Драйвера L298N фото платы


Распиновка драйвера L298N

Входы на драйвере ENA, ENB отвечают а скорость вращения двигателей (при логической единице разрешено крутится электродвигателю).
IN1, IN2 — управление направлением двигателем (обмоткой двигателя) по часовой или против часовой стрелки, если например установить IN1=LOW, IN2=HIGH, то двигатель крутится против часовой стрелки, а если IN1=HIGH, IN2=LOW, то наоборот, по часовой стрелки.
IN3, IN4 выполняют ту же функцию, что и IN1, IN2.
Мотор постоянного тока ТТ 130 с редуктором (прямой одноосевой)
с передаточным числом 1:48

Характеристики мотора-редуктора ТТ 130 (бесщёточный)
Напряжение от 3 до 12 V;
Рабочее напряжение 6 V;
Передаточное число — 1:48;
Потребляемый ток при 3 V — 70 мА;
Минимальная рабочая скорость вращения при 3 V: 90±10% об/мин;
Минимальная рабочая скорость вращения при 6 V: 200±10% об/мин;
Масса — 0,03 кг;
Размеры — 70х22х18 мм.
Схема подключения драйвера L298N к мотору ТТ с редуктором и плате Arduino UNO

Скетч для драйвера L298N с подключенным ТТ мотором редуктором к Arduino UNO
// первый двигатель скорость 0-255
#define ENA 9
// первый двигатель вперед и назад
#define IN1 10
#define IN2 8
// второй двигатель скорость 0-255
#define ENB 7
// второй двигатель вперед и назад
#define IN3 6
#define IN4 5
byte v=200;
void setup()
{
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop()
{
// устанавливаем скорость моторов
analogWrite(ENA, v);
analogWrite(ENB, v);
// оба электродвигателя крутятся вперед 3 секунды
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(3000);
// остоновка электродвигателей 1 секунда
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(1000);
// оба электродвигателя крутятся назад 3 секунды
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(3000);
// остоновка электродвигателей 1 секунда
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(1000);
// первый электродвигатель крутится вперед 3 секунды
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(3000);
// второй электродвигатель крутится вперед 3 секунды
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(3000);
// остоновка электродвигателей 3 секунды
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(3000);
// ускорение электродвигателей
analogWrite(ENA, 0);
analogWrite(ENB, 0);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
for (int i = 0; i < 256; i++)
{
analogWrite(ENA, i);
analogWrite(ENB, i);
delay(30);
}
// остоновка электродвигателей 3 секунды
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(3000);
}
