шаблоны сайт визитка joomla
Скачать шаблоны Joomla 3.5 бесплатно
Вы находитесь здесь:Главная»Учебные материалы»Arduino Scetch»Драйвер двигателей L298N

Драйвер двигателей L298N

Драйвер двигателей L298N - подключение к Arduino

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

В  L298N не встроены защитные диоды, их необходимо устанавливать в обвязку микросхемы дополнительно (8 штук по бокам).

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

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

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

dr2

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

dr3

Подключение моторов к модулю L298N

Начнем с подключения одного мотора, с притянутым к +5V выводом ENB.dr4

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


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);   }

Ну и напоследок подключим два двигателя.

dr5

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

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

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);
}

Похожие материалы (по тегу)

Новости о нас

КАЖДУЮ ПЯТНИЦУ - бесплатное занятие по 3D-моделированию с 16:40 до 18:10. Только для учащихся нашего технопарка! Подробнее
 Региональный отборочный фестиваль "Робофест-Стерлитамак 2018" состоится 25-26 января в г.... Подробнее
В сезоне 2017/18 фестиваля «РобоФест Стерлитамак 2018» Региональный учебно-тренировочный сбор... Подробнее
ВНИМАНИЕ учащимся! Объявляем конкурс рисунков на тему "Робот моей мечты", который пройдет по двум... Подробнее
В нашем технопарке Толтек СФ БашГУ пройдут открытые ОТБОРОЧНЫЕ СОРЕВНОВАНИЯ для ВСЕХ возрастов и... Подробнее

Наши партнеры

 TZOyoOCZ8y0 logotip novy SF BashGU  utv logo  CityMoll  VolnoeDelo