L298N Arduino подключение двигателя

Характеристики драйвера L298N

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

Драйвера L298N фото платы

L298N драйвер фото платы

l298n микросхема вид сзади

Распиновка драйвера 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

Скетч для драйвера 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);
}

1036

Leave a Reply

Ваш адрес email не будет опубликован.