Характеристики драйвера 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); }