ПЛАН-КОНСПЕКТ ЗАНЯТИЯ Тема: "Подключение двигателей. Использование драйвера двигателя L298N. Езда на машинке вперед, назад и повороты"
Оценка 4.6

ПЛАН-КОНСПЕКТ ЗАНЯТИЯ Тема: "Подключение двигателей. Использование драйвера двигателя L298N. Езда на машинке вперед, назад и повороты"

Оценка 4.6
Работа в классе
docx
информатика
09.04.2022
ПЛАН-КОНСПЕКТ ЗАНЯТИЯ  Тема: "Подключение двигателей. Использование драйвера двигателя L298N. Езда на машинке вперед, назад и повороты"
2. Подключение двигателей. Использование драйвера двигателя L298N..docx

 

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ УЧРЕЖДЕНИЕ

ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ

МУНИЦИПАЛЬНОГО ОБРАЗОВАНИЯ ГОРОД КРАСНОДАР

«МЕЖШКОЛЬНЫЙ ЭСТЕТИЧЕСКИЙ ЦЕНТР»-

АССОЦИИРОВАННАЯ ШКОЛА ЮНЕСКО

 

 

 

 

 

ПЛАН-КОНСПЕКТ ЗАНЯТИЯ

 

Тема: "Подключение двигателей. Использование драйвера двигателя L298N. Езда на машинке вперед, назад и повороты."

 

 

 

 

 

 

 

Автор: Никита Олегович Шевцов,

педагог дополнительного образования

 

 

 

 

 

 

 

 

Краснодар, 2021

 

ПЛАН-КОНСПЕКТ

 

Подключение двигателей. Использование драйвера двигателя L298N. Езда на машинке вперед, назад и повороты."

 

Тип занятия: комбинированное занятие.

 

Вопросы для рассмотрения:

1.                 Модуль драйвера двигателей L298N

2.                 Подключение к Ардуино.

2.1. Пример программного кода

3.                 Подключение одного мотора с регулировкой скорости вращения.

3.1. Пример программного кода

4.                 Финальный пример.

5.                 Задание для детей.

 

ХОД ЗАНЯТИЯ

Проверка рабочего места, настройка компьютера, наличие тетрадей, ручек. Знакомство с темой занятия.  Обсуждение вопросов.

1.                 Модуль драйвера двигателей L298N

Модуль драйвера двигателей L298N позволяет управлять двумя моторами постоянного тока, либо шаговым двигателем с потребляемым током до 2 Ампер.

 




 

Чередование разноименных сигналов (высокий логический уровень или низкий) на парах выводов IN1, IN2 и IN3, IN4 задают направление вращения моторов.

Выводы ENABLE A, B (ENA привязан к IN1, IN2. ENB к IN3, IN4) отвечают за раздельное управление каналами. Могут использоваться в двух режимах:

Условно "активном" режиме, когда ими будет управлять контроллер - высокий логический уровень разрешает вращение моторов, низкий запрещает вне зависимости от состояния выводов "IN". Для регулировки скорости моторов, на "EN" выводы подается ШИМ (PWM) сигнал.

Условно "пассивном" режиме, притянув выводы "EN" к высокому уровню (+5V). Для этого на плате, рядом с выводами ENA и ENB находятся штырьки соединенные с +5V. Замыкаем выводы с помощью джамперов . В данном режиме мы не сможем регулировать скорость двигателей, они будут всегда вращаться в полную скорость (за то для управления экономится 2 вывода контроллера). Направление вращения будет задаваться по-прежнему, а вот для остановки в данном варианте, состояние выводов будет уже играть роль. Для остановки нужно будет подавать одноименные сигналы на выоды "IN".

 

Клеммник подачи питания и работа стабилизатора.

2.                 Подключение к Arduino

Экономичное подключение одного мотора без регулировки скорости вращения

Для этого замыкаем джампер как показано на рисунке, тем самым соединяя вывод EN с +5V

Как уже говорилось ранее, при таком способе мы не можем регулировать скорость вращения, однако для управления одним каналом модуля будет задействованно два цифровых вывода вместо трех.

 

 

Заставим моторчик вращаться "вправо" 4 секунды, остановиться на 0.5 секунды, вращаться "влево" 4 секунды, остановка 5 секунд и снова цикл повторяется.

 2.1 Пример программного кода

// Тестировалось на Arduino IDE 1.0.5

int IN3 = 5; // Input3 подключен к выводу 5

int IN4 = 4;

void setup(){ 

pinMode (IN4, OUTPUT); 

pinMode (IN3, OUTPUT);

}

void loop(){  // На пару выводов "IN" поданы разноименные сигналы, мотор вращается

digitalWrite (IN4, HIGH); 

digitalWrite (IN3, LOW);  

delay(4000);  // На пару выводов "IN" поданы одноименные сигналы, мотор не вращается

digitalWrite (IN4, LOW);  

delay(500);  // На пару выводов "IN" поданы разноименные (и уже противоположные относительно первого случая) сигналы, мотор вращается   

// относительно первого случая) сигналы, мотор вращается в другую сторону  digitalWrite (IN3, HIGH); 

delay(4000);  // Снова на выводах "IN" появились одноименные сигналы, мотор не вращается  

digitalWrite (IN3, LOW);  

delay(5000);  }

3.                 Подключение одного мотора с регулировкой скорости вращения

В данном примере мы подсоединили ENB к выводу ШИМ (D3). Теперь становится возможно управлять скоростью мотора, изменяя скважность посылаемого ШИМ сигнала.

Значения скважности задаются функцией analogWrite(pin, число), где число изменяется от 0 до 255, прямо пропорционально скважности сигнала. Для наглядности, подобраны четыре значения при которых двигатель стартует с низких оборотов, набирает средние, выходит на максимальные и не вращается.

 

 


 

 

 

 

 

 

 

 

 

3.1  Пример программного кода

// Тестировалось на Arduino IDE 1.0.5

int IN3 = 5; // Input3 подключен к выводу 5

int IN4 = 4;

int ENB = 3;

void setup(){

pinMode (ENB, OUTPUT); 

pinMode (IN3, OUTPUT);

pinMode (IN4, OUTPUT);

}

void loop(){  // На пару выводов "IN" поданы разноименные сигналы, мотор готов к вращаению 

digitalWrite (IN3, HIGH); 

digitalWrite (IN4, LOW);  // подаем на вывод ENB управляющий ШИМ сигнал

analogWrite(ENB,55); 

delay(2000); 

analogWrite(ENB,105); 

delay(2000); 

analogWrite(ENB,255); 

delay(2000);  // Останавливаем мотор повад на вывод ENB сигнал низкого уровеня.   // Состояние выводов "IN" роли не играет. 

analogWrite(ENB,0); 

delay(5000);}

4 Финальный пример.

 Подключение двух моторов с регулировкой скорости вращения

 


 

В приведенном ниже скетче два мотора будут вращаться в обе стороны с плавным нарастанием скорости.

 

 

 4.1 Пример программного кода

// Тестировалось на Arduino IDE 1.0.5

int IN1 = 5; // Input1 подключен к выводу 5

int IN2 = 4;

int IN3 = 3;

int IN4 = 2;

int ENA = 9;

int ENB = 3;

int i;

void setup(){ 

pinMode (EN1, OUTPUT); 

pinMode (IN1, OUTPUT); 

pinMode (IN2, OUTPUT); 

pinMode (EN2, OUTPUT); 

pinMode (IN4, OUTPUT); 

pinMode (IN3, OUTPUT);

}

void loop(){ 

digitalWrite (IN2, HIGH); 

digitalWrite (IN1, LOW); 

 digitalWrite (IN4, HIGH); 

digitalWrite (IN3, LOW);  

for (i = 50; i <= 180; ++i)  {     

analogWrite(EN1, i);     

analogWrite(EN2, i);    

 delay(30); 

}

 analogWrite (EN1, 0); 

analogWrite (EN2, 0); 

delay(500); 

digitalWrite (IN1, HIGH); 

digitalWrite (IN2, LOW);  

digitalWrite (IN3, HIGH); 

digitalWrite (IN4, LOW); 

for (i = 50; i <= 180; ++i)  {     

analogWrite(EN1, i);     

analogWrite(EN2, i);     

delay(30); 

analogWrite (EN1, 0); 

analogWrite (EN2, 0); 

delay(8000);}

Заключительная часть занятия

Рефлексия. Итоговый опрос.

Задание: Создать программу, в которой робот двигается прямо одну секунду потом поворот направо проезжает 1 секунду и останавливается.

 


 

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ УЧРЕЖДЕНИЕ

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ УЧРЕЖДЕНИЕ

ПЛАН-КОНСПЕКТ Подключение двигателей

ПЛАН-КОНСПЕКТ Подключение двигателей

Условно "пассивном" режиме, притянув выводы "EN" к высокому уровню (+5V)

Условно "пассивном" режиме, притянув выводы "EN" к высокому уровню (+5V)

Подключение к Arduino Экономичное подключение одного мотора без регулировки скорости вращения

Подключение к Arduino Экономичное подключение одного мотора без регулировки скорости вращения

На пару выводов "IN" поданы разноименные сигналы, мотор вращается digitalWrite (IN4,

На пару выводов "IN" поданы разноименные сигналы, мотор вращается digitalWrite (IN4,

IN3 = 5; // Input3 подключен к выводу 5 int

IN3 = 5; // Input3 подключен к выводу 5 int

IN4 = 2; int ENA = 9; int ENB = 3; int i; void setup (){ pinMode (EN1,

IN4 = 2; int ENA = 9; int ENB = 3; int i; void setup (){ pinMode (EN1,

Заключительная часть занятия

Заключительная часть занятия
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
09.04.2022