Драйвер двигателя ардуино: Драйвер двигателя L298N: описание, подключение, схема, характеристики

Содержание

Драйвер двигателя 2-кан H-мост MX1508, L298N Mini для Arduino

Драйвер двигателя 2-кан H-мост MX1508, L298N Mini для Arduino используется для управления двумя маломощными коллекторными двигателями постоянного тока или маломощным 4-х проводным двухфазным шаговым двигателем. Практическое применение: управление двигателями  небольших колесных роботов или двигателями  передвижных игрушек.
Схема подключения драйвера MX1508:

Для закрепления модуля на плоской поверхности в плате предусмотрено одно монтажное отверстие.
Управление драйвером MX1508 осуществляется или от Arduino контроллера, или от другого микропроцессорного управляющего устройства. Микросхема модуля MX1508 работает по принципу H-моста и используются для смены полярности питания мотора, что дает возможность реверса.
Драйвер двигателя 2-кан H-мост MX1508, L298N Mini для Arduino имеет три группы клемм под пайку для подключения питания, управляющего сигнала и двигателей:

  • Клеммы, обозначенные «+» и «–», используются для подключения напряжения питания;
  • Клеммы, обозначенные IN1, IN2, IN3, IN4, используются для подключения управляющего сигнала;
  • Клеммы, обозначенные MOTOR-A, MOTOR-B, используются для подключения обмоток двигателей.

Питание драйвера осуществляется или от Arduino контроллера, или другого микропроцессорного управляющего устройства, или внешнего источника питания (блока питания, батареи). Напряжение питания составляет 2 – 9 В постоянного тока.
Управляющий сигнал составляет 1,8 – 7 В постоянного тока.
Максимальный потребляемый ток подключаемых двигателей составляет до 1,5 А.

Характеристики:

микросхема: MX1508;
особенность: H-мост, возможность реверса;
напряжение питания: 2 – 9 В постоянного тока;
управляющий сигнал: 1,8 – 7 В постоянного тока;
максимальный потребляемый ток двигателей: до 1,5 А;
размеры: 25 x 21 x 6 мм;
вес: 3 г.

Драйвер коллекторных двигателей L9110S (HG7881)

Модуль собран на двух микросхемах HG7881 или аналоге L9110S, к модулю можно подключить два маломощных коллекторных или один шаговый двигатель.

Характеристики драйвера L9110S (HG7881):

  • Диапазон напряжения питания: 2. 5V  …  12V.
  • Максимальный ток: 800mA, на каждый канал.

  • Управление логическим уровнем.

  • Встроенные защитные диоды.

  • Рабочая температура: 0℃  …  80℃.

Особенности модуля:

Модуль собран на двух полумостовых драйверах (H-bridge) HG7881, к сожалению подробного даташита на микросхему нет. Хотя и пишут что он предназначен для управления моторами, это не совсем так, у драйвера отсутствует возможность изменять скорость вращения мотора, драйвер способен изменять только направление вращения. По этой причине, данный модуль больше подходит для управления небольшими шаговыми двигателями, нежели коллекторными.

На схеме из даташита видно, что в наличии только входы для управления полумостами и питание.

Принципиальная схема модуля:

Подключение модуля к Arduino:

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

Модуль подключается на два свободных выхода arduino, питание для моторов, если они маломощные и работают от напряжение 5 вольт, можно взять от arduino.

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

 

код из видео

#define A1_A 8 // выходы на драйвер
#define A1_B 9

void setup(){
  pinMode (A1_A, OUTPUT);
  pinMode (A1_B, OUTPUT);
}

void loop(){
     // включаем мотор на 1 секунды вперед
  digitalWrite (A1_A, HIGH); 
  digitalWrite (A1_B, LOW); 
  delay(1000);  
     // выключаем мотор  
  digitalWrite (A1_A, LOW); 
  digitalWrite (A1_B, LOW); 
  delay(1000);
     // включаем мотор на 1 секунды назад
  digitalWrite (A1_A, LOW); 
  digitalWrite (A1_B, HIGH); 
  delay(1000);
       // выключаем мотор  
  digitalWrite (A1_A, LOW); 
  digitalWrite (A1_B, LOW); 
  delay(1000);
           // плавно увеличиваем скорость
  digitalWrite (A1_A, LOW); 
  for (int i = 0; i < 255; i++){
    analogWrite (A1_B, i); 
    delay(25);
  }
  delay(2000);
       // плавно уменьшаем скорость
  digitalWrite (A1_A, LOW); 
  for (int i = 255; i > 0; i--){
    analogWrite (A1_B, i); 
    delay(25);
  }
  delay(1000);

 
}


В случаи подключения биполярного шагового двигателя.

Подключаем обмотки за место коллекторных двигателей. Для работы можно использовать встроенную в среду библиотеку Stepper.h.


Запись опубликована автором admin в рубрике Обзоры с метками H-bridge, L9110S, коллекторный двигатель, шаговый двигатель.

ДРАЙВЕР НИЗКОВОЛЬТНЫХ ЭЛЕКТРО ДВИГАТЕЛЕЙ

Основное применение аппаратной платформы Arduino – это конструирование роботов, во всяком случае, начинается знакомство с данной аппаратной платформой, как правило, именно с этого. Ходовая часть большинства колесных роботов [1] оснащается электромоторами, которые представляют собой мощную нагрузку, прямое подключение которой к портам Arduino может вызвать только выход из строя последней. Для подключения нагрузки потребляющей большой ток можно использовать самодельные релейные схемы или транзисторные ключи [2], а можно приобрести готовый драйвер для подключения электродвигателей на Ru.aliexpress.com

Устройство поставляется в обычном антистатическом пакете.

Модуль представляет собой печатную плату размером 43 х 43 мм, на которой установлена микросхема радиаторе, высота которого составляет 24 мм, масса 25 г. 

   

Данное устройство позволяет одновременно управлять парой маломощных низковольтных электродвигателей постоянного тока. По заявлениям продавца максимально допустимый общий ток, которым можно нагрузить драйвер составляет 2 А на канал, а максимальная мощность двигателей ограничена 20 Вт. На плате хорошо видна пара двухклемных колодок для подключения электромоторов и трехклемная колодка для подачи напряжения питания.

Устройству требуется два напряжения питания 5-35 В для электродвигателей и 5 В для электронной части. При подаче питания на плате загорается индикатор подачи напряжения питания. При питания от напряжении ниже 12 В (автор проверял при 6 В), отдельный источник питания для электронной части можно не подключать.

На плате рядом с клеммой питания имеется перемычка, которую необходимо снять в случае раздельного питания силовой и электронной части [3-6]. Все колодки промаркированы с тыльной стороны платы.

Для управления нагрузкой плата драйвера имеет 6 информационных входов.

Входы IN1, IN2 задают направление вращения одного двигателя, а другая пара IN3, IN4, соответственно другого. Если на одном из входов пары присутствует низкий логический уровень, а на другом высокий, то ротор двигателя вращается в одну сторону, а если, сигналы поменяются на противоположные, то направление вращения также сменится. Если на оба входа подать низкий логический уровень, то двигатель будет остановлен. Как понимает автор, подача высокого логического уровня на оба выхода пары одновременно не допустима [7].

Если управление парой двигателей осуществляется только по четырем проводам, то двигатель развивает максимально допустимую мощность (программа L298N_1, взята из [5]). Скачать файл

Видео 1

Для управления мощностью двигателей предусмотрены входы ENA и ENB. ENA привязан к IN1, IN2, а ENB регулирует мощность двигателя, управляемого через IN3, IN4. В простейшем случае, когда нет необходимости в регулировании оборотов двигателя, эти входы замкнуты перемычками на шину питания. Для управления скоростью вращения электромоторов используется ШИМ [8-10], соответственно необходимо подключать к данным входам драйвера те порты Arduino, которые поддерживают данный режим. При этом для управления одним двигателем в данном режиме понадобится три порта Arduino (программа L298N_2, взята из [5]).

Видео 2

Как говорилось выше драйвер двигателей L298N позволяет аналогично управлять двумя двигателями, при этом, разумеется, в совокупности понадобится задействовать 6 портов Arduino.

Для демонстрации работы модуля код программ взят из [5], но следует отметить, что в примере, который демонстрирует работу пары электромоторов, допущена ошибка при назначении портов управления ENA и ENB (исправленный вариант L298N_3).

Видео 3

Для подключения драйвера к Arduino UNO были использованы проводники с гнездами на обоих концах. Длина проводов 10 см, эти соединительные провода были приобретены тоже на Али.

Также данное устройство можно использовать для управления шаговым двигателем [11].

Подведём итог

В целом это отличный и недорогой способ управления ходовой частью робота. Своих денег устройство однозначно стоит. Обзор подготовил специально для "Радиосхем" - Denev.

Источники

  • 1) http://radioskot.ru/publ/raznoe/shassi_dlja_kolesnogo_robota/18-1-0-1122
  • 2) Лекомцев Д.Г. Arduino. Подключение типовых внешних устройств. – Радио, 2016, №11, с. 51-54 
  • 3) http://cxem.net/arduino/arduino70.php
  • 4) http://www.2150692.ru/faq/72-l298n-arduino
  • 5) http://zelectro.cc/Motor_shield_L298N_Arduino
  • 6) http://robot-kit. ru/article_info.php/articles_id/22/article/-font-color---993300--Draiver-motorov-na-L298N-podklyuchenie-k-Arduino--font-
  • 7) Холостов К. Робот-пылесос. Журнал Левша №3 2015 г. с.12-14
  • 8) Холостов К. Умный дом. Журнал Левша №2 2013 г. с.12-14
  • 9) Лекомцев Д.Г. Arduino. Подключение типовых внешних устройств. – Радио, 2016, №11, с. 51-54
  • 10) http://robocraft.ru/blog/arduino/58.html
  • 11) http://arduino-diy.com/arduino-drayver-shagovogo-dvigatelya-i-dvigatelya-postoyannogo-toka-L298N

   Форум

   Форум по обсуждению материала ДРАЙВЕР НИЗКОВОЛЬТНЫХ ЭЛЕКТРО ДВИГАТЕЛЕЙ

Подключение драйвера L9110S к Arduino

volatile boolean TurnDetected;  // need volatile for Interrupts

volatile boolean up;

 

const int PinCLK=2;   // Generating interrupts using CLK signal

const int PinDT=3;    // Reading DT signal

const int PinSW=4;    // Reading Push Button switch

 

// L9110 connections

#define L9110_B_IA 10 // Pin D10 --> Motor B Input A

#define L9110_B_IB 11 // Pin D11 --> Motor B Input B

// Motor Speed & Direction

#define MOTOR_B_PWM L9110_B_IA // Motor PWM Speed

#define MOTOR_B_DIR L9110_B_IB // Motor Direction

 

// Interrupt routine runs if CLK goes from HIGH to LOW

void isr ()  {

delay(4);  // delay for Debouncing

if (digitalRead(PinCLK))

   up = digitalRead(PinDT);

else

   up = !digitalRead(PinDT);

TurnDetected = true;

}

 

void setup ()  {

pinMode(PinCLK,INPUT);

pinMode(PinDT,INPUT);  

pinMode(PinSW,INPUT);

digitalWrite(PinSW, HIGH); // Pull-Up resistor for switch

attachInterrupt (0,isr,FALLING); // interrupt 0 always connected to pin 2 on Arduino UNO

Serial. begin (9600);

Serial.println("Start");

pinMode( MOTOR_B_DIR, OUTPUT );

pinMode( MOTOR_B_PWM, OUTPUT );

digitalWrite( MOTOR_B_DIR, LOW ); // Set motor to off

digitalWrite( MOTOR_B_PWM, LOW );

}

 

void loop ()  {

static long RotaryPosition=0;    // STATIC to count correctly

 

if (!(digitalRead(PinSW))) {   // check if button is pressed

   if (RotaryPosition == 0) {  // check if button was already pressed

   } else {

       RotaryPosition=0; // if YES, then reset position to ZERO

       digitalWrite( MOTOR_B_DIR, LOW ); // turn motor off

       analogWrite( MOTOR_B_PWM, LOW );

       Serial.print ("Reset = ");

       Serial.println (RotaryPosition);

   }

}

// Runs if rotation was detected

if (TurnDetected)  {

   if (up) {

     if (RotaryPosition >= 100) { // Max value set to 100

       RotaryPosition = 100;

     }

     else {

         RotaryPosition=RotaryPosition+2;

     }

   }

   else {

     if (RotaryPosition <= -100) {

       // Max value set to -100        

       RotaryPosition = -100;

     }        

     else {          

       RotaryPosition=RotaryPosition-2;

      }

    }    

    TurnDetected = false;  // do NOT repeat IF loop until new rotation detected

    Serial. print ("Speed = ");

    Serial.println (RotaryPosition);    

    

    // if Rotation is Clockwise    

    if (RotaryPosition > 0 && RotaryPosition < 11) {

      digitalWrite( MOTOR_B_DIR, LOW ); // turn motor off

      analogWrite( MOTOR_B_PWM, LOW );

    }

   if (RotaryPosition > 10 && RotaryPosition < 21) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 180 ); // PWM speed = 180

    }

    if (RotaryPosition > 20 && RotaryPosition < 31) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 160 ); // PWM speed = 160

    }

    if (RotaryPosition > 30 && RotaryPosition < 41) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 140 ); // PWM speed = 140

    }

    if (RotaryPosition > 40 && RotaryPosition < 51) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 120 ); // PWM speed = 120

    }

   if (RotaryPosition > 50 && RotaryPosition < 61) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 100 ); // PWM speed = 100

   }

   if (RotaryPosition > 60 && RotaryPosition < 71) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 80 ); // PWM speed = 80

   }

    if (RotaryPosition > 70 && RotaryPosition < 81) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 60 ); // PWM speed = 60

    }

    if (RotaryPosition > 80 && RotaryPosition < 91) {

      digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

      analogWrite( MOTOR_B_PWM, 40 ); // PWM speed = 40

    }

    if (RotaryPosition > 90) {

     digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward

     analogWrite( MOTOR_B_PWM, 20 ); // PWM speed = 20

   }

  

  

// if Rotation is Counter-Clockwise

  

   if (RotaryPosition < 0 && RotaryPosition > -11) {

       digitalWrite( MOTOR_B_DIR, LOW ); // turn motor off

       analogWrite( MOTOR_B_PWM, LOW );

   }

   if (RotaryPosition < -10 && RotaryPosition > -21) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 40 ); // PWM speed = 40

   }

   if (RotaryPosition < -20 && RotaryPosition > -31) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 60 ); // PWM speed = 60

   }

   if (RotaryPosition < -30 && RotaryPosition > -41) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 80 ); // PWM speed = 80

   }

   if (RotaryPosition < -40 && RotaryPosition > -51) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 100 ); // PWM speed = 100

   }

   if (RotaryPosition < -50 && RotaryPosition > -61) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 120 ); // PWM speed = 120

   }

   if (RotaryPosition < -60 && RotaryPosition > -71) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 140 ); // PWM speed = 140

   }

   if (RotaryPosition < -70 && RotaryPosition > -81) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 160 ); // PWM speed = 160

   }

   if (RotaryPosition < -80 && RotaryPosition > -91) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 180 ); // PWM speed = 180

   }

   if (RotaryPosition < -90) {

     digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse

     analogWrite( MOTOR_B_PWM, 200 ); // PWM speed = 200

   }

}

}

Модули драйверов двигателей

Модуль 16-и канального ШИМ (PWM) контроллера на базе микросхемы PCA9685. Идеально подходит для управления 16 рулевыми машинками (сервоприводами). Интерфейс управления: I2C Напряжение питания модуля: 3-5 В • Питание модуля: 3.3 или 5 В оба напряжения входят в диапазон допустимых; • Питание чипа (VC..

171.99 р.

Технические характеристики Напряжение питания силовой части (VMOT) : 5 - 35В Напряжения питания логической части (VDD) : 3-5,5В Ток максимальный, непрерывный, без дополнительного охлаждения: 1А Ток максимальный, с дополнительным охлаждением: 2.2A Дробление шага: 1/2/4/8/16 Описание DRV8825 это мик..

82.80 р.

Выходное напряжение 5 В Выходной ток 5А(max) Входное напряжение 7 – 30В, рекомендуемое до 24В ..

112.98 р.

Технические характеристики Напряжение питания силовой части (VMOT) : 8 - 45В Напряжения питания логической части (VDD) : 3-5,5В Ток максимальный, непрерывный, без дополнительного охлаждения: 1А Ток максимальный, с дополнительным охлаждением: 2. 2A Дробление шага: 1/2/4/8/16/32 Описание DRV8825 это м..

141.27 р.

Технические характеристики напряжение питания: +7...+ 24 В; количество силовых каналов: 4; максимально-продолжительный ток каждого канала: 0,6 А; напряжение питания сервоприводов: 5 В; возможность реверса каждого двигателя; возможность независимого управления каждым каналом; Габариты 53 ..

136.64 р.

Драйвер двигателей на базе микросхемы VNh3SP30. Ток до 30Ампер. Напряжение до 16В • Диапазон напряжения питания: 5,5V … 16V (от 5,0 вольт, не работает). • Номинальный\максимальный ток: 14A\30A • Управление логическим уровнем 3,3 вольт • Максимальная частота ШИМ: 20 кГц ..

343.20 р.

Двухканальный драйвер двигателей на базе микросхемы VNh3SP30. Ток до 30Ампер на канал. Напряжение до 16В Позволяет управлять двумя двигателями постоянного тока или одним шаговым двигателем. • Напряжение питания на входе питания моторов Vin: 5,5 ... 16 В; • Напряжение логики: 5 В; • Основан на чипе ..

532.00 р.

Питание 12В, 30A..

334.13 р.

Напряжение логики 3 – 5 В (VDD, GND) Напряжение для двигателей 5 – 46В (VMOT, GND) Рабочий выходной ток 1,2 А, до 2 А (с радиатором) Значение микрошага: 1/2, 1/4, 1/8, 1/16; Значение микрошага с интерполяцией: до 1/256; GND и VIO – питание логики; M1B, M1A, M2A, M2B – управление фазами двигателя; ..

407.87 р.

Данный модуль драйвера позволяет эффективно управлять одним шаговым двигателем, часто используется в 3D принтерах и станках ЧПУ. Больше всего привлекает бесшумной работой шагового двигателя, что довольно актуально на 3D принтерах работающих дома, большая надежность, повышенная мощностью до 2А по сра..

305.11 р.

Микросхема: L293D двойной-H мост DC моторов ..

630.48 р.

Контроллер позволяет управлять одним шаговым двигателем или двумя коллекторными двигателями постоянного тока. Для подключения двигателей постоянного тока предусмотрены клеммники - напряжение питания управляемой части (постоянный ток): 5-35В - питание внешней логики (Vss): 5-7В - входное напряжение..

218.13 р.

Микросхема L298N • Управляющая часть пикового тока : 2 a • Диапазон питания: от 4,5 до 5,5 В • Логическая часть рабочего текущего диапазона: 0 ~ 36 мА • Диапазон входного напряжения управления: 4,5 - 5,5 • Максимальная потребляемая мощность: 20 Вт • Температура хранения: 25 град C ~ + 130 C • Разме. .

221.27 р.

Микросхема L298N Напряжение питания: 5В Напряжение питания моторов: 5-35В Максимальный ток мотора: 2А (пиковый ток 3 А) Габариты: 43.5 мм х 43.2мм х 29.4мм..

121.90 р.

Великолепный двухканальный драйвер моторов, который идеально подходит для сопряжения микроконтроллера с двумя маленькими электродвигателями постоянного тока или для управления одним биполярным шаговым мотором. Основанные на MOSFET H-мостах намного более эффективны, чем основанные на BJT H-мостах кот..

288.56 р.

Контроллер шагового двигателя. Микросхема контроллера: TB6560 - ток удержания 25%,50%,100% в процентах от тока номинального драйвера - ток рабочий 25%, 50%, 75%, 100% в процентах от тока номинального драйвера - выбрать шаг двигателя (микрошаг) 1, 1/2, 1/8, 1/16 Максимальный ток: 3А (3,5А в пике. .

407.39 р.

Кол-во фаз: 2; Напряжение питания: 9 - 40 В постоянного тока; Максимальный выходной ток: 4 А; Шесть вариантов микрошага. Максимальное деление шага до 6400 шагов/оборот; Входные сигналы оптоизолтрованы высокоскоростными оптронами; Выполнен в закрытом корпусе; Встроенная тепловая защита; Защита от пер..

590.88 р.

Драйвер двигателя L9110S — с его помощью можно контролировать вращение 2-х независимых коллекторных моторов постоянного тока или одного 4-х проводного 2-х фазного шагового двигателя. Характеристики • Входное напряжение: 2.5-12 В; • Допустимый ток на канал: 800 мА; • Максимальный кратковременный ток:..

75.27 р.

Модуль предназначен для управления шаговым двигателем или другой нагрузкой ► Тип шагового двигателя: Униполярный ► Напряжение питания: 5 В, DC ► Количество фазы: 4 ► Частота: 100 Гц ► Сопротивление постоянного тока: 50Ω ± 7% (25 ℃) . .

36.83 р.

Модуль ключей ULN2003 для шагового двигателя Характеристики Рабочее напряжение: 5 - 45 В; Максимальный ток нагрузки: 500 мА; Напряжение управляющей логики: 5 В. ..

38.42 р.

Регулируемое напряжение 50 - 220 V (на выходе) Технические характеристики: Максимальная мощность: 2000 Вт Рабочее напряжение: AC 220 V Пластина радиатора размер: 48x35x30 мм ..

121.17 р.

Материал: Алюминий Диапазон входного напряжения: DC 9V-60V Номинальный ток: 10А Максимальный ток: 20А Размер: 105 x 50 x 33 мм Подходит для двигателя постоянного тока (или нагрузки постоянного тока) в пределах 20А. ..

321.31 р.

Рабочее напряжение: 5 В ... 30 В, защита от обратного подключения Номинальный ток 2,2: максимальный ток 5А Максимальная мощность 2,3: 150 Вт Рабочая частота: 1 кГц ~ 99 кГц регулируемая, 1 кГц шаг, частота по умолчанию 20 кГц, точность около 1% Рабочий цикл: 0-100%, 1% шаг размер изделия: 79 мм * 4..

367.82 р.

Регулятор хода бесколлекторных двигателей. Оптимизирован для применения в мультикоптерах. Ток до 30А (пиковый ток 40А на 10 секунд) Входное напряжение 2-3s LiPo Вес 25гр..

373.46 р.

Габариты 69 × 53 × 9 mm Напряжение питания: 3.3 или 5 В Микросхема: PCA9685 Потребляемый ток: до 10 мА в рабочем режиме до 15,5 мкА в режиме ожидания Ток нагрузки на выходах: до 25 мА, при Vcc=5В и схемой с открытым стоком до 10 мА, при Vcc=5В и схемой с каскадным выходом Частота тактирования: 25 МГ. .

604.39 р.

Электронный модуль «Драйвер двигателей L293D»

1. Назначение устройства

 

Электронный модуль «Драйвер двигателей L293D» артикул ПЭМ10.493 (Рис. 1.1) является элементом системы управляющей электроники «Эвольвектор ВЕРТОР» (далее ВЕРТОР). Он выполняет функцию исполнения команд подключенного к нему контроллера по управлению нагрузкой, которую не способен принять на себя контроллер. В частности драйвер позволяет управлять моторами с суммарным током потребления 1.2 А (два мотора по 0.6 А). Это позволяет использоватьего для создания робототехнических устройств на основе классических плат Ардуино, в которых требуется управлять подходящими по характеристикам двигателями постоянного тока.

Модуль рассчитан на применение совместно с программируемыми контроллерами и шилдами, входящими в систему ВЕРТОР (подробная информация о системе представлена на сайте https://academy. evolvector.ru).

 

 

Рис. 1.1

 


2. Конструкция модуля и назначение выводов (контактов)

 

Модуль «Драйвер двигателей L293D» выполнен в форме печатной платы, на которой смонтированы группа штыревых контактов, с помощью которых осуществляется управление подключенной нагрузкой; клеммники для подключения нагрузки; индикатор питания драйвера двигателей; индикаторы подачи сигналов на подключенную нагрузку; микросхема драйвера двигателей, являющаяся основным управляющим элементом модуля (Рис. 2.1)

 

 

 

Рис. 2.1 

 

 

Плата имеет четыре крепежных отверстия под винт М3. Диаметры крепежных отверстий и физические размеры модуля представлены на рисунке 2.2.

 

 

 

Рис 2.2 

По расстоянию между крепежными отверстиями (кратно 8 мм) модуль совместим с конструкторами Эвольвектор, LEGO, MakeBlock и может крепиться к их деталям с помощью стоек.

Модуль не является независимым устройством и может работать совместно с контроллерами системы ВЕРТОР или иными контроллерами.

Подключение модуля осуществляется с помощью разъема XH-2.54-4P, выводы которого имеют следующее назначение:

VCC - к “+” источника питания контроллера;

MOTOR 4,5-36V - к “+” источника питания батареи;

IN1 - подключается к цифровому выводу контроллера с поддержкой ШИМ и предназначен для управления первым контактом (М11 на схеме рис. 3.1а) мотора №1;

IN2 - подключается к цифровому выводу контроллера с поддержкой ШИМ и предназначен для управления вторым контактом (М12 на схеме рис. 3.1а) мотора №1;

IN3 - подключается к цифровому выводу контроллера с поддержкой ШИМ и предназначен для управления первым контактом (М21 на схеме рис. 3.1а) мотора №2;

IN4 - подключается к цифровому выводу контроллера с поддержкой ШИМ и предназначен для управления вторым контактом (М22 на схеме рис. 3.1а) мотора №2;

GND - «земля» (общий провод).

Для указанных контактов на печатной плате модуля нанесена соответствующая маркировка белого цвета.

 

Подробно о устройстве модуля, его функциях и возможностях рассказано на
Академии Эвольвектор - 
https://academy.evolvector.ru/pem10-493

Драйвер шагового двигателя и двигателя постоянного тока L298N и Arduino

  • В наличии 20 ед.
  • Оптом и в розницу
  • Код: 08822

62,50 грн.

Показать оптовые цены

Минимальная сумма заказа на сайте — 100 грн.

Драйвер шагового двигателя и двигателя постоянного тока L298N и ArduinoВ наличии 20 ед.

62,50 грн.

Купить Партнерские цены
  • +38093-045-66-80

    Інтернет-магазин
КупитьКупить в кредит Узнать партнерские цены
  • +38093-045-66-80

    Інтернет-магазин
  • График работы
  • Адрес и контакты
  • менеджер

    УкраинаДнепропетровская областьДнепрГлавный офис компании | Телефоны магазинов можно найти в разделе "Контакты магазинов для самовывоза" нашего сайта

    возврат товара в течение 14 дней за счет покупателя Подробнее

    Щиток драйвера двигателя Arduino

    Щиток драйвера двигателя Arduino

    Щиток драйвера двигателя для плат Arduino, который может управлять до 4 двунаправленных двигателей постоянного тока с индивидуальным 8-битным выбором скорости или 2 шаговыми двигателями (униполярными или биполярными) с одной катушкой, двойной катушкой, чередованием или микрошагом. 2 разъема для 5-вольтовых сервоприводов, подключенных к выделенному таймеру Arduino с высоким разрешением - без дрожания!

    Щиток содержит два драйвера двигателя L293D и один сдвиговый регистр 74HC595.Регистр сдвига расширяет 3 контакта Arduino до 8 контактов для управления направлением драйверов двигателя. Разрешение выхода L293D напрямую связано с выходами PWM Arduino.

    Чтобы увеличить максимальный ток, L293D позволяет использовать дополнительные микросхемы с дополнительными микросхемами. Piggyback - это припаивание одного, двух или трех дополнительных драйверов L293D к драйверам L293D на плате для увеличения максимального тока. L293D допускает параллельную работу.

    Особенности:

    • Поставляется в полностью собранном виде
    • 2x 5V сервовыхода, подключенных к выделенному таймеру с высоким разрешением - без дрожания!
    • Может управлять 4 двигателями постоянного тока или 2 шаговыми двигателями или 2 сервоприводами
    • До 4-х двунаправленных двигателей постоянного тока с индивидуальным 8-битным выбором скорости
    • До 2-х шаговых двигателей (униполярных или биполярных) с одиночной катушкой, двойной катушкой или чередующимся шаговым режимом.
    • 4 H-моста: каждый мост обеспечивает 0,6 А (пиковый ток 1,2 А) с тепловой защитой, может работать с двигателями от 4,5 В до 36 В постоянного тока
    • Понижающие резисторы отключают двигатели при включении питания
    • кнопка сброса
    • Протестировано на совместимость с Mega, Diecimila, Duemilanove, UNO

    Блок питания

    Электропитание двигателей может подаваться от разъема постоянного тока на плате Arduino (обычно 9 В) или от 2-контактной клеммной колодки EXT-PWR.

    Если вы подаете питание от клеммной колодки EXT_PWR, вам следует удалить перемычку PWR, иначе вы можете повредить экран и плату Arduino.

    Документы

    L298P Щиток драйвера двигателя - ProtoSupplies

    Описание

    FunduMoto L298P Motor Driver Shield - это многофункциональный моторный щит, основанный на микросхеме драйвера L298P и подходящий для Arduino Uno или другого Arduino с совместимыми выводами ввода-вывода.

    В ПАКЕТ ВХОДИТ:

    • L298P Щиток драйвера двигателя

    ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ЩИТКА МОТОРА L298P:

    • Управляйте двумя двигателями постоянного тока на 4,8–24 В при пиковом токе до 2 А (пиковое значение 2,5 А).
    • Встроенные диоды Шоттки для защиты двигателя от обратной ЭДС.
    • Привод 1 серводвигателя с выделенным регулируемым напряжением 5 В.
    • Встроенный зуммер.
    • Переключатель дистанционного сброса.
    • Разъем Bluetooth (2 шт.).
    • Разъем Ping для ультразвукового дальномера.
    • Разъем для светодиодов RGB
    • 6 аналоговых / цифровых контактов выведены на 3-контактные разъемы с 5 В и заземлением для каждого входа для упрощения подключения датчика.
    • Наборы гнездовых разъемов для поддержки другой дочерней платы.
    • Может опционально подключить Arduino к питанию от щита.

    Логическая подсистема питания

    Arduino 5V подключен к экрану и доступен на 6 наборах красных контактов датчика 5V, желтом разъеме Ping для ультразвуковых дальномеров и 2 синих цифровых разъемах. Он также используется для питания логической части микросхемы L298P. Это гарантирует, что у них будет хорошее чистое питание 5 В независимо от того, что делают двигатели.

    Arduino 3.3V выведен на экран и доступен через 2 разъема Bluetooth.

    Arduino может питаться отдельно, используя обычный USB или разъем питания постоянного тока, или он также может получать питание от Shield. Чтобы выбрать это, рядом с электролитической крышкой есть перемычка с надписью «OPT». Когда эта перемычка удалена, Arduino необходимо запитать отдельно.Когда перемычка установлена, питание от разъема питания двигателя VMS подключается к контакту Vin на Arduino, который питает встроенный регулятор 5V Arduino. Чтобы использовать эту опцию, потребляемая мощность двигателя должна быть не менее 6,5 В для питания регулятора. Если питание Arduino отключено от экрана, разъем питания постоянного тока на Arduino не следует использовать, чтобы избежать конфликта питания, но можно использовать USB.

    Подсистема питания двигателя

    Электропитание двигателя подается на 2-контактный винтовой зажим. VMS - это положительное напряжение двигателя, которое может находиться в диапазоне от 4,8 до 24 В. Если вы используете этот вход для питания Arduino, установив перемычку «OPT», максимальное входное напряжение на этой клемме должно быть ограничено до 12 В, чтобы избежать перегрева регулятора Arduino.

    Винтовой зажим 1 x 2 (питание двигателя)

    • VMS = Vcc двигателя, которое должно быть в пределах от 4,8 до 24 В.
    • GND = Земля двигателя

    Эта мощность двигателя подается на регулятор 5 В, который установлен в нижней части экрана.Эти 5 В питают белый серворазъем. Это изолирует любые электрические помехи сервопривода от возврата в основные 5 В, питающие логику. Для работы этого регулятора 5 В напряжение VMS должно быть не менее 6,3 В.

    Обратите внимание, что если у вас установлена ​​перемычка OPT и подключен USB, но нет питания на разъеме двигателя VMS, он попытается использовать питание USB для питания двигателей постоянного тока. Этого следует избегать.

    Если у вас установлена ​​перемычка OPT и питание поступает на разъем постоянного тока на Arduino, он будет работать, но шум двигателя постоянного тока будет связан с источником питания логики 5 В и может привести к устранению неисправностей, поэтому это не рекомендуется. . В целом, если вы используете двигатели, вам следует запланировать подачу питания двигателя на разъем питания VMS для наиболее стабильной работы.

    Приводные двигатели постоянного тока

    L298P содержит два полных канала привода H-Bridge, которые обеспечивают полное управление скоростью и направлением. 2 канала привода двигателя постоянного тока могут работать при напряжениях от 4,8 до 24 В и токах до 2,0 А (пиковое значение 2,5 А) на канал.

    У вас также может быть два двигателя, совместно использующие канал привода двигателя, пока суммарный ток остается в пределах 2А, и вы не возражаете, чтобы двигатели вращались с одинаковым направлением и скоростью. Обычно это происходит, когда у вас есть роботизированный автомобиль с приводом на четыре колеса, и 2 колеса с каждой стороны работают с одинаковой скоростью и направлением.

    Драйвер двигателя L298P использует выводы Arduino D10, D11, D12 и D13 для управления двигателем. Контакты 10 и 11 - это контакты ШИМ, которые подключаются к контактам EN микросхемы, чтобы обеспечить управление скоростью путем модуляции входного сигнала разрешения. D10 контролирует скорость двигателя A, а D11 контролирует скорость двигателя B.

    Контакты 12 и 13 подключены к входам IN для управления направлением.Контакт 12 управляет направлением двигателя A, а контакт 13 управляет направлением двигателя B. Обычно для определения направления вращения каждого двигателя используются 2 контакта, но на этом экране есть инвертор, который подает инвертированную версию сигнала на два контакта. . Это уменьшает количество контактов, используемых на Arduino, но устраняет возможность динамического торможения, что обычно не является проблемой для большинства проектов. Уменьшение выводов управления скоростью до нулевого значения ШИМ остановит работу.

    Штифты скорости Контроль скорости Направляющие штифты Контроль направления
    Двигатель A D10 ШИМ 0-100 D12 ВЫСОКИЙ = Вперед НИЗКИЙ = Задний
    Двигатель B D11 ШИМ 0-100 D13 ВЫСОКИЙ = Вперед НИЗКИЙ = Задний

    Подключение двигателя постоянного тока

    Двигатель подключается через 4-винтовой клеммный блок с 2 клеммами для каждого двигателя, обозначенными MOTORA и MOTORB.

    Контакты +/- для каждого двигателя не имеют маркировки, поэтому способ их подключения является несколько произвольным, и относительно того, что вы считаете прямым или обратным режимом работы двигателя. Обычно, если двигатель вращается в противоположном направлении, чем вы ожидаете, просто поменяйте местами проводку для этого двигателя.

    Винтовой зажим 1 x 4 (управление двигателем)

    • Положительный вывод двигателя А
    • Мотор A Отрицательный провод
    • Положительный вывод двигателя B
    • Отрицательный вывод двигателя B

    Эти точки подключения двигателя также отражены на 4-контактном гнездовом разъеме для большей гибкости.

    К этим выводам привода двигателя прикреплены желтые и зеленые светодиоды. Их яркость будет варьироваться в зависимости от силы сигнала ШИМ

    .

    Гнездовой разъем 1 x 4 (черный)

    • MA = Подключение двигателя A (x2)
    • MB = Подключение двигателя B (x2)

    Соединения серводвигателя

    Серводвигатели - это трехпроводные устройства. Им требуется 5 В, земля и сигнал ШИМ, чтобы установить его положение. Экран использует D9 для сигнала ШИМ.Одной из приятных особенностей этих модулей является то, что у них есть специальный регулятор 5 В для питания сервопривода, чтобы предотвратить возвращение электрических шумов в основную логическую мощность 5 В.

    Сервоприводы

    обычно используются для поворота небольшого рулевого колеса или поворота датчика, такого как ультразвуковой дальномер, для предотвращения препятствий.

    Для использования сервопривода необходимо, чтобы на разъеме питания главного двигателя было минимум 6,3 В для работы регулятора.

    Если вы не используете сервопривод, D9, а также этот выделенный 5 В доступны для других целей.

    Сервопривод, 1 x 3 (белый)

    • G = Земля
    • + 5V = выделенные 5V для питания серводвигателя
    • 9 = D9 - вывод ШИМ, от которого управляется сервопривод. Этот штифт доступен для другого использования, если он не используется для управления серводвигателем.

    Соединения Arduino с контактами экрана

    Все входы / выходы подключены к наращиваемым гнездовым разъемам на экране, за исключением IOREF, и два контакта I2C слышат разъем USB, поэтому он может поддерживать дочерний экран, если он не конфликтует с используемыми контактами. Кроме того, многие из этих контактов разбиты на другие разъемы для облегчения подключения.

    Щит использует следующие контакты, которые остаются доступными, если вы не используете эту функцию:

    • Ультразвуковой датчик Ping Control = D7, D8
    • Управление серводвигателем = D9
    • Управление двигателем постоянного тока = D10, D11, D12, D13
    • Зуммер = D4

    Bluetooth

    На плате два Bluetooth-разъема

    Первый разъем представляет собой 4-контактный разъем, который выводит 3.Питание 3 В, земля, TX и RX. Этот тип разъема совместим с модулями Bluetooth HC-06 и, возможно, некоторыми другими. Вывод приема имеет делитель напряжения 1K / 2K для сдвига уровня выхода TX Arduino, чтобы он был совместим с 3,3 В, что является приятной особенностью.

    Гнездовой разъем Bluetooth «BT2» 1 x 4 (черный)

    • + ‘ = 3,3 В
    • ‘ = Земля
    • Т = D0 (RX)
    • R = D1 (TX)

    Другой разъем Bluetooth представляет собой 12-контактный штекер. К этому разъему подключены TX, RX 5V и земля. Единственные 12-контактные разъемы Bluetooth обычно используются в автомобилях, поэтому от этого разъема нет особого смысла. Расстояние между выводами также составляет 2 мм вместо стандартных 2,54 мм.

    .

    Ультразвуковой дальномер

    Обычным роботизированным интерфейсом являются ультразвуковые дальномеры, такие как HY-SRF05. Они работают, отправляя пинг ультразвукового звука и рассчитывая время, необходимое для возврата пинга. На плате есть специальный 4-контактный разъем для подключения датчика.

    1 x 4 штекерный заголовок Ping (желтый)

    • + = 5 В
    • R = Возврат (D8)
    • T = Триггер (D7)
    • G = Земля

    Аналоговые / цифровые датчики

    Распространенная проблема при подключении датчиков к Ardino заключается в том, что многим из них требуются соединения заземления / напряжения постоянного тока, а также аналоговый вход или цифровой ввод / вывод. Эта плата выводит контакты A0-A5 на ряд разъемов, которые также обеспечивают отдельные точки питания и заземления для каждого контакта A0-A5.Белые заголовки - это сигнальные линии, красные заголовки обеспечивают 5 В, а черные заголовки - землю.

    Контакты A0-A5 могут использоваться как для аналоговых входов, так и для цифровых входов / выходов, поэтому могут поддерживаться оба типа датчиков.

    Заголовок 3 x 6 (белый / красный / черный)

    • A0 / 5V / земля
    • A1 / 5V / Земля
    • A2 / 5V / Земля
    • A3 / 5V / Земля
    • A4 / 5V / Земля
    • A5 / 5V / земля

    Также имеется 3-контактный синий разъем, который выводит 5 В, заземление и D2, который можно использовать для цифрового датчика или другого удаленного подключения

    Заголовок 1 x 3 (синий)

    • G = Земля
    • + ‘ = 5V
    • S = D2 - цифровой ввод / вывод

    RGB светодиод

    И для хорошей меры, есть 5-контактный разъем, который выводит D3, D5, D6, 5V и землю. Это помещает 3 выхода PWM вместе с питанием и заземлением на один разъем, который может быть удобен для ряда вещей, таких как управление светодиодом RGB.

    Заголовок 1 x 5 (синий)

    • ‘‘ = 5V - Этот вывод не имеет маркировки, но находится рядом с D7
    • B = D6 - B может использоваться для синего на светодиодах RGB
    • G = D5 - G может использоваться для зеленого на светодиодах RGB
    • ‘-‘ = Ground
    • R = D3 - R может использоваться для красного на светодиодах RGB

    Зуммер

    Зуммер подключен к D4.Активен ВЫСОКИЙ

    Переключатель сброса

    Щиток имеет кнопку удаленного сброса, расположенную на нем для легкого доступа.


    РЕЗУЛЬТАТЫ ОЦЕНКИ:

    Эти экраны довольно гибкие и являются значительным шагом вперед в универсальности по сравнению со старыми модулями на базе L293, хотя и по более высокой цене. Самым слабым местом является микросхема драйвера двигателя L298P, которая ограничивает размер двигателей, которыми он может управлять, но если ваши требования находятся в пределах его рейтинга 2А на канал, как это делают большинство небольших роботизированных транспортных средств, это может быть хорошим вариантом для создания роботизированного проекта. .

    Штифты жатки довольно длинные и гибкие. Вам нужно будет уговорить их выровнять, когда вы вставляете щит в плату Arduino. Также обратите внимание, что на некоторых платах экран может садиться на верхнюю часть разъема USB. Чтобы избежать короткого замыкания, можно использовать небольшую электрическую или каптонную ленту для изоляции верхней части разъема.

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

    Обязательно подключите допустимое напряжение двигателя к винтовой клемме VMS двигателя и подключите один или несколько двигателей меньшего размера к винтовым клеммам MotorA / MotorB

    L298P Пример программы для экрана драйвера двигателя

     / *
    * Щит двигателя L298P
    * Код для проверки части щита L298P Motor Control
    * Логика управления двигателем низкого уровня сохраняется в функции «Двигатель»
    * /
    // Следующие обозначения выводов фиксируются щитком
    int const BUZZER = 4;
    // Мотор A
    int const ENA = 10;
    int const INA = 12;
    // Мотор B
    int const ENB = 11;
    int const INB = 13;
    
    int const MIN_SPEED = 27; // Устанавливаем минимальное значение ШИМ, которое заставит моторы вращаться
    int const ACCEL_DELAY = 50; // задержка между шагами при увеличении или понижении скорости двигателя. // ================================================ ===============================
    // Инициализация
    // ================================================ ===============================
    установка void ()
    {
     pinMode (ENA, ВЫХОД); // устанавливаем все выводы управления двигателем на выходы
     pinMode (ENB, ВЫХОД);
     pinMode (INA, ВЫХОД);
     pinMode (INB, ВЫХОД);
     pinMode (ЗУММЕР, ВЫХОД);
      Серийный .begin (9600); // Устанавливаем скорость связи для сообщений монитора последовательного порта
    }
    // ================================================ ===============================
    //  Основной
    // ================================================ ===============================
    пустой цикл ()
    {
     // Запустить оба мотора вперед на 75% мощности
     Мотор ('C', 'F', 75);
     задержка (3000);
     
     // Запустить оба двигателя в обратном направлении на 75% мощности, но сначала подать звуковой сигнал
     Мотор ('C', 'F', 0); // Остановить двигатели
     задержка (1000);
     digitalWrite (ЗУММЕР, ВЫСОКИЙ); задержка (500); digitalWrite (ЗУММЕР, НИЗКИЙ);
     задержка (500);
     digitalWrite (ЗУММЕР, ВЫСОКИЙ); задержка (500); digitalWrite (ЗУММЕР, НИЗКИЙ);
     задержка (1000);
     Мотор ('C', 'R', 75); // Запуск двигателей вперед на 75%
     задержка (3000);
     
     // теперь двигатели запускаются в противоположных направлениях одновременно со скоростью 50%
     Мотор ('A', 'F', 50);
     Мотор ('B', 'R', 50);
     задержка (3000);
     
     // теперь выключаем оба мотора
     Мотор ('C', 'F', 0);
     задержка (3000);
    
     // Запускаем двигатели в диапазоне возможных скоростей в обоих направлениях
     // Максимальная скорость определяется самим двигателем и рабочим напряжением
    
     // Ускорение с нуля до максимальной скорости
     для (int i = 0; i <= 100; i ++)
     {
     Мотор ('C', 'F', i);
     задержка (ACCEL_DELAY);
     }
     задержка (2000);
     
     // Замедление с максимальной скорости до нуля
     для (int i = 100; i> = 0; --i)
     {
     Мотор ('C', 'F', i);
     задержка (ACCEL_DELAY);
     }
     задержка (2000);
     
     // Устанавливаем направление на обратное и ускоряемся от нуля до максимальной скорости
     для (int i = 0; i <= 100; i ++)
     {
     Мотор ('C', 'R', i);
     задержка (ACCEL_DELAY);
     }
     задержка (2000);
     
     // Замедление с максимальной скорости до нуля
     для (int i = 100; i> = 0; --i)
     {
     Мотор ('C', 'R', i);
     задержка (ACCEL_DELAY);
     }
     // Выключаем моторы
     Мотор ('C', 'F', 0);
     задержка (3000);
    }
    / *
     * Функция двигателя выполняет всю тяжелую работу по управлению двигателями
     * mot = двигатель для управления «A» или «B». «C» управляет обоими двигателями.
     * dir = Направление либо вперед, либо назад
     * speed = Скорость. Принимает 1–100 процентов и сопоставляется с 0–255 для управления ШИМ.
     * При отображении игнорируются значения скорости, слишком низкие для вращения двигателя.
     * В этом случае любое значение ниже 27, но 0 по-прежнему означает 0, чтобы остановить двигатели.
     * /
    void Motor (char mot, char dir, int speed)
    {
     // переназначение скорости из диапазона 0-100 в 0-255
     int newspeed;
     если (скорость == 0)
     newspeed = 0; // Не переназначать ноль, а переназначать все остальное.еще
     newspeed = map (скорость, 1, 100, MIN_SPEED, 255);
    
     switch (mot) {
     case 'A': // Управление двигателем A
     if (dir == 'F') {
     digitalWrite (INA, HIGH);
     }
     иначе if (dir == 'R') {
     digitalWrite (INB, LOW);
     }
     analogWrite (ENA, newspeed);
     перерыв;
    
     case 'B': // Управление двигателем B
     if (dir == 'F') {
     digitalWrite (INB, HIGH);
     }
     иначе if (dir == 'R') {
     digitalWrite (INB, LOW);
     }
     analogWrite (ENB, newspeed);
     перерыв;
    
     case 'C': // Управление обоими двигателями
     if (dir == 'F') {
     digitalWrite (INA, HIGH);
     digitalWrite (INB, HIGH);
     }
     иначе if (dir == 'R') {
     digitalWrite (INA, LOW);
     digitalWrite (INB, LOW);
     }
     analogWrite (ENA, newspeed);
     analogWrite (ENB, новостной канал);
     перерыв;
     }
     // Отправляем то, что мы делаем с моторами, в Serial Monitor. 
      Серийный  .print ("Мотор:");
     если (mot == 'C')
      Серийный  .print («Оба»);
     еще
      Серийный . Отпечаток (мот);
      Серийный номер  .print ("Направление t:");
      Serial  .print (dir);
      Серийный  .print ("t Скорость:");
      Serial  .print (скорость);
      Serial  .print ("t Mapped Speed:");
      Серийный  .println (новостной);
    }
     

    Этими модулями до отгрузки являются:

    • Проверено
    • Базовая работа драйвера L298P проверена
    • Переупакован в качественные повторно закрывающиеся антистатические пакеты для безопасного хранения.

    Примечания:

    1. Нет

    Технические характеристики

    Эксплуатационные характеристики
    Диапазон напряжения (Vcc) 4,8 - 24 В постоянного тока
    Максимальный ток на мост (пик) 2,5 А
    Максимальный ток на мост (устойчивый) 2 А
    Размеры
    Печатная плата (Д x Ш) 70 x 54 мм (2. 75 x 2,1 дюйма)

    Pololu Dual G2 High-Power Motor Driver 18v18 Shield for Arduino

    Обзор

    Семейство двойных высокомощных экранов драйверов двигателей G2 включает пары дискретных H-образных мостов MOSFET, предназначенных для управления двумя большими щеточными двигателями постоянного тока. Они имеют форм-фактор экрана Arduino, поэтому их можно подключать напрямую к Arduino или совместимой плате, такой как A-Star 32U4 Prime, но они также выламывают все контакты драйвера двигателя вдоль левой стороны платы, чтобы позволяет использовать его в качестве универсального драйвера двигателя без Arduino.Доступны четыре версии, поэтому вы можете выбрать ту, которая соответствует диапазону рабочего напряжения и выходному току для вашего проекта:

    Минимальное рабочее напряжение для всех четырех версий составляет 6,5 В. Максимальные рабочие напряжения приведены в таблице выше; они намного превышают допустимые для типичных Arduino, поэтому экраны включают в себя встроенный понижающий стабилизатор на 7,5 В, 1 А, который можно использовать для питания любой Arduino или Arduino-совместимой платы, к которой он подключен, что позволяет работать с одного источник питания. Этот регулятор также можно настроить для вывода 5 В для приложений, где это было бы более полезно, чем 7,5 В по умолчанию, и все сопоставления контактов Arduino можно настроить, если значения по умолчанию неудобны.

    Эти двойные драйверы двигателя также доступны в виде плат расширения Raspberry Pi. Для одноканальных версий в более компактном форм-факторе рассмотрите наши драйверы двигателей высокой мощности. Для более дешевой альтернативы Arduino Shield с меньшим энергопотреблением, пожалуйста, рассмотрите Dual MC33926 Motor Driver Shield.

    Подробная информация о товаре № 2515

    Pololu Dual G2 High-Power Motor Driver 18v18 Shield для Arduino.

    Pololu Dual G2 High Power Motor Driver 18v18 или 24v14 Shield для Arduino, вид снизу.

    Pololu Dual G2 High-Power Motor Driver 18v18 Shield для Arduino с включенным оборудованием.

    • Рабочее напряжение: от 6,5 В до 30 В (абсолютный максимум; не предназначен для использования с батареями 24 В)
    • Выходной ток: 18 А непрерывный
    • Токовый выход, пропорциональный току двигателя (примерно 20 мВ / А; активен только во время работы Н-моста)
    • Активное ограничение тока (прерывание) с приблизительным порогом по умолчанию 50 А (можно уменьшить)

    Эту версию, щиток драйвера двигателя 18v18 , можно отличить от других версий по синей печатной плате и номеру 150 на высоких серебряных электролитических конденсаторах.

    Характеристики, общие для всех версий

    Pololu Dual G2 High Power Driver Shield, управляемый A-Star 32U4 Prime.

    • Входы, совместимые с логикой 1,8, 3,3 и 5 В
    • ШИМ работа до 100 кГц
    • Светодиодные индикаторы двигателя показывают, что делают выходы, даже если двигатель не подключен
    • Защита от обратного напряжения
    • Отключение при понижении напряжения
    • Защита от короткого замыкания
    • Интерфейс управления допускает знакопеременную или синхронно-противофазную работу
    • Встроенный 7. Импульсный понижающий стабилизатор напряжения 5 В, 1 А (можно настроить на выход 5 В)
    • Библиотека
    • Arduino позволяет легко начать использовать эту плату в качестве защиты драйвера двигателя.
    • Подробное руководство пользователя
    • Назначение контактов Arduino можно настроить, если сопоставления по умолчанию не подходят.
    • При использовании в качестве экрана источник питания двигателя или выход регулятора 7,5 В можно дополнительно использовать для питания базы Arduino в режиме однополярного питания
    • Может использоваться с Arduino или совместимой платой (через заголовки экрана) или другими платами микроконтроллера (через 0.Жатка 1 ″ вдоль левой стороны)

    Двойной экран драйвера двигателя высокой мощности G2, питающий Arduino с помощью регулятора 7,5 В экрана (VREG).

    Двойной экран драйвера двигателя высокой мощности G2, подключенный к микроконтроллеру (пунктирные соединения являются необязательными).

    Фурнитура в комплекте

    Pololu Dual G2 High-Power Motor Driver 18v18 Shield для Arduino с включенным оборудованием.

    Для силовых установок провода двигателя и источника питания должны быть припаяны непосредственно к драйверу (входящие в комплект клеммные колодки рассчитаны только на ток до 16 А).

    Эта плата привода двигателя поставляется со всеми установленными деталями для поверхностного монтажа. Однако для сборки входящих в комплект деталей со сквозным отверстием требуется пайка. В комплект входят следующие детали для сквозных отверстий:

    • один расширенный / штабелируемый женский заголовок 1 × 10 (для щитов Arduino)
    • два расширенных / штабелируемых гнездовых разъема 1 × 8 (для щитов Arduino)
    • два расширенных / штабелируемых гнездовых разъема 1 × 6 (для щитов Arduino)
    • три 2-контактных клеммных колодки 5 мм (для вывода питания платы и двигателя)
    • 40-контактный 0. 1 ″ прямой разъединительный штекер с вилкой (может поставляться несколькими частями, например, двумя 20-контактными полосками)

    Также в комплект входит закорачивающий блок 0,1 ″ (для опциональной подачи питания экрана на Arduino).

    Вы можете припаять клеммные колодки к шести большим сквозным отверстиям для подключения двигателя и питания двигателя, или вы можете отломить секцию 1 × 12 0,1-дюймовой соединительной полосы и припаять ее к меньшим сквозным отверстиям, которые граничат эти большие отверстия. Однако обратите внимание, что клеммные колодки рассчитаны только на 16 А, а каждая пара контактов разъема рассчитана только на комбинированные 6 А, поэтому для приложений с более высокой мощностью толстые провода должны быть припаяны непосредственно к плате и соответственно должны использоваться текущие разъемы (подобные этим).

    Если эта плата не используется в качестве экрана Arduino, вы можете припаять 0,1-дюймовые разъемы к логическим разъемам на левой стороне платы, чтобы использовать их с нестандартными кабелями или макетными платами без пайки, или вы можете припаять провода непосредственно к плате для большего компактные установки. Обратите внимание, что подключение двигателя и питания двигателя не должно осуществляться через макетную плату.

    Драйвер двигателя включает шесть электролитических силовых конденсаторов емкостью 100 мкФ или 150 мкФ, и есть место для добавления дополнительных конденсаторов (например,грамм. для компенсации длинных проводов питания или повышения стабильности источника питания). Дополнительные силовые конденсаторы обычно не требуются, и в этот драйвер двигателя не входят дополнительные конденсаторы.

    Два монтажных отверстия предназначены для использования с винтами №4 (не входят в комплект).

    Измерение и ограничение тока

    На выводах датчика тока драйвера, M1CS и M2CS, выходное напряжение пропорционально токам двигателя во время работы H-моста. Выходное напряжение составляет около 10 мВ / А для версии 18v22 и 20 мВ / А для других версий, плюс небольшое смещение, которое обычно составляет около 50 мВ.

    Драйвер имеет возможность ограничивать ток двигателя посредством прерывания тока: как только ток привода двигателя достигает установленного порога, драйвер переходит в режим торможения (медленное затухание) примерно на 25 мкс перед подачей питания для повторного запуска двигателя. Это делает более практичным использование драйвера с двигателем, который может потреблять только несколько ампер во время работы, но может потреблять во много раз больше (десятки ампер) при запуске. Вы можете снизить порог ограничения тока по умолчанию, подключив дополнительный резистор между выводом VREF и соседним выводом GND.

    См. Руководство пользователя для получения дополнительной информации о токовой обратной связи и ограничении тока.

    Учет рассеиваемой мощности в реальных условиях

    МОП-транзисторы могут обрабатывать большие всплески тока в течение коротких промежутков времени (например, 100 А в течение нескольких миллисекунд), а прерывание тока драйвером будет поддерживать средний ток ниже установленного предела. Пиковые значения предназначены для быстрых переходных процессов (например, при первом включении двигателя), а длительные характеристики зависят от различных условий, таких как температура окружающей среды.ШИМ-управление двигателем приведет к дополнительному нагреву, пропорциональному частоте. Фактический ток, который вы можете подавать, будет зависеть от того, насколько хорошо вы можете охладить драйвер двигателя. Печатная плата драйвера предназначена для отвода тепла от полевых МОП-транзисторов, но производительность можно улучшить, добавив радиатор или воздушный поток. Для сильноточных установок провода двигателя и источника питания также следует припаять напрямую, а не проходить через прилагаемые клеммные колодки, рассчитанные на ток до 16 А.

    Предупреждение: Этот привод двигателя не имеет отключения по перегреву. Состояние перегрева или перегрузки по току может вызвать необратимое повреждение привода двигателя. Вы можете рассмотреть возможность использования либо встроенного выхода датчика тока драйвера, либо внешнего датчика тока для отслеживания текущего потребления.

    Этот продукт может стать на горячим и достаточно горячим, чтобы гореть при нормальных условиях эксплуатации. Будьте осторожны при обращении с этим продуктом и другими подключенными к нему компонентами.

    G2 версии драйвера двигателя большой мощности

    Существует четыре версии одноканальных драйверов двигателя высокой мощности G2, которые имеют совместимые распиновки, и восемь версий двухканальных драйверов двигателя высокой мощности G2. Четыре двухканальных драйвера имеют форм-фактор экрана Arduino, но они также могут использоваться с другими контроллерами в качестве универсальных драйверов двигателей. Остальные четыре двухканальных драйвера имеют форм-фактор Raspberry Pi HAT и совместимых плат Raspberry Pi (модель B + или новее).В следующей таблице представлено сравнение драйверов G2:

    Драйвер высокомощного двигателя Pololu G2 24v21 и 24v13.

    Pololu Dual G2 High-Power Motor Driver 24v18 Shield for Arduino.

    Pololu Dual G2 High-Power Motor Driver 24v14 Shield для Arduino.

    Pololu Dual G2 High-Power Motor Driver 18v18 для Raspberry Pi.

    Pololu Dual G2 High-Power Motor Driver 18v22 для Raspberry Pi.

    Примечание: В качестве альтернативы этим драйверам двигателей наши простые контроллеры двигателей имеют аналогичные характеристики мощности и предлагают интерфейсы высокого уровня (например,грамм. USB, RC-импульсные сервоимпульсы, аналоговые напряжения и последовательные команды TTL), которые упрощают их использование для некоторых приложений.

    Люди часто покупают этот товар вместе с:

    Схема контактов драйвера двигателя

    L298N, работа, техническое описание и подключение Arduino

    В этой статье вы подробно узнаете о модуле драйвера двигателя L298N. Но сначала мы должны ответить на некоторые основные вопросы, например, что такое драйвер двигателя, почему он используется в цепи, что такое конфигурация H-моста и т. Д.

    Что такое модуль драйвера двигателя?

    Драйверы моторов

    Источник изображения: sproboticworks

    Модуль драйвера двигателя - это простая схема, используемая для управления двигателем постоянного тока. Он обычно используется в автономных роботах и ​​радиоуправляемых автомобилях (L2938N и L293D - наиболее часто используемые микросхемы драйверов двигателей). Модуль драйвера двигателя принимает низковольтный вход от контроллера, такого как Arduino. Эта входная логика управляет направлением двигателей постоянного тока, подключенных к драйверу. Проще говоря, вы можете управлять направлением двигателей постоянного тока, передавая соответствующую логику модулю драйвера двигателя.

    Модуль драйвера двигателя состоит из микросхемы драйвера двигателя, которая является сердцем модуля. Только IC может управлять двигателем постоянного тока, но использование модуля упрощает взаимодействие с Arduino.

    Зачем нам модуль драйвера двигателя?

    Все микроконтроллеры работают с сигналами напряжения / тока низкого уровня, в отличие от двигателей. Например, микроконтроллер Arduino или PIC может выдавать максимальное напряжение 5 В или 3,3 В. Но приличному двигателю постоянного тока требуется не менее 5 В или 12 В.Кроме того, предел выходного тока Arduino относительно очень низкий.

    Следовательно, мощности Arduino недостаточно для включения двигателей. Чтобы решить эту проблему, необходимо использовать драйвер двигателя. Мы устраняем разрыв между Arduino и мотором, вводя между ними драйвер мотора. А для подачи напряжения / тока, необходимых для работы двигателя, к модулю драйвера двигателя подключен внешний источник питания.

    L298N Модуль драйвера двигателя:

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

    Драйвер двигателя L298N основан на конфигурации Н-моста (Н-мост - это простая схема, которая позволяет нам управлять двигателем постоянного тока, чтобы двигаться вперед или назад.), что полезно для управления направлением вращения двигателя постоянного тока.

    Это сильноточный двойной драйвер с полным Н-мостом , который сконструирован для приема стандартных логических уровней TTL. Его также можно использовать для управления индуктивными нагрузками, например, реле , соленоиды, двигатели (постоянного и шагового двигателей) и т. Д. Схема H-моста выглядит так:

    Схема Н-моста

    Источник изображения: Википедия

    Направление вращения двигателя зависит от положения переключателя.

    Изменение направления вращения двигателя с помощью h-моста

    Источник изображения: Википедия

    Когда S1 и S4 включены, а S2 и S3 выключены, левая сторона клеммы двигателя больше + ve, чем другая клемма. Это вызывает вращение двигателя по часовой стрелке.

    Когда S2 и S3 включены, а S1 и S4 выключены, правая сторона клеммы двигателя больше + ve, чем левая клемма. Это вызывает вращение двигателя против часовой стрелки.

    Конфигурация H-моста обычно используется для переключения направления двигателя.Однако его также можно использовать для «торможения» двигателя. Это приводит к мгновенной остановке двигателя из-за короткого замыкания клемм двигателя или к остановке двигателя в режиме «свободного выбега» (выбег), поскольку двигатель надежно отделен от цепи.

    Таблица ниже суммирует активность, при этом S1-S4 соответствуют диаграмме выше:

    S1 S2 S3 S4 Результат
    1 0 0 1 Мотор поворота направо
    0 1 1 0 Электродвигатель левого поворота
    0 0 0 0

    Мотор Коустс

    1 0 0 0
    0 1 0 0
    0 0 1 0
    0 0 0 1
    0 1 0 1 Моторный тормоз
    1 0 1 0
    х Х 1 1 Короткое замыкание
    1 1 Х Х

    ПРИМЕЧАНИЕ: L298N имеет две такие h-мостовые схемы, что означает, что вы можете управлять двумя двигателями постоянного тока, используя его.

    Характеристики модуля драйвера двигателя L298N:

    • Рабочее напряжение питания до 46 В
    • Полный постоянный ток до 4 А. 2А на канал
    • Низкое напряжение насыщения
    • Защита от перегрева
    • Логическое входное напряжение до 1,5 В
    • Высокая помехозащищенность

    L298N Распиновка модуля драйвера двигателя и его компоненты:

    Модуль драйвера двигателя L298N состоит из двойного H-моста L298 IC, регулятора напряжения 5V 78M05, резисторов, конденсатора, светодиода питания и перемычки 5V.

    Выводы модуля драйвера двигателя L298N

    2 выходных контакта двигателя постоянного тока, 12-вольтный внешний источник питания двигателя, контакты управления направлением двигателя (IN1, IN2, IN3, IN4), контакты включения выхода двигателя (ENA, ENB) и радиатор.

    Вывод VCC обеспечивает питание двигателя. Может применяться напряжение от 5 до 35 В. Помните, что если перемычка 5V-EN установлена, вам необходимо подать на 2 вольта больше, чем фактическое требование к напряжению двигателя, чтобы двигатель работал на максимальной скорости.

    GND - общий вывод заземления.

    Вывод 5V обеспечивает питание логической схемы переключения внутри микросхемы L298N. Если перемычка 5V-EN установлена, этот вывод действует как выход и может использоваться для включения Arduino. Если перемычка 5V-EN удалена, вам необходимо подключить ее к выводу 5V на Arduino.

    Контакты ENA используются для управления скоростью двигателя A. Подача на этот контакт логики HIGH заставляет двигатель A вращаться, а логика LOW приводит к остановке двигателя.Удаление перемычки и подключение этого вывода к входу PWM позволяет нам контролировать скорость двигателя A.

    IN1 и IN2 Штыри используются для управления направлением двигателя A. Если IN1 - HIGH, а IN2 - LOW, двигатель A вращается в определенном направлении. Чтобы изменить направление, установите IN1 LOW и IN2 HIGH. Если оба входа имеют высокий или низкий уровень, двигатель A останавливается.

    IN3 и IN4 Штыри используются для управления направлением двигателя B. Если IN3 - HIGH, а IN4 - LOW, двигатель B вращается в определенном направлении.Чтобы изменить направление, установите IN3 LOW и IN4 HIGH. Если оба входа имеют высокий или низкий уровень, двигатель B останавливается.

    Вывод ENB может использоваться для управления скоростью двигателя B. Подача на этот вывод сигнала HIGH заставляет двигатель B вращаться, а подача сигнала LOW вызывает остановку двигателя. Устранение перемычки и подключение этого вывода к информации PWM позволяет нам контролировать скорость двигателя B.

    Выводы OUT1 и OUT2 подключены к двигателю A.

    Выводы OUT3 и OUT4 подключены к двигателю B.

    ПИН-код микросхемы драйвера двигателя L298N:

    Распиновка выводов микросхемы L298N
    Выводы микросхемы L298N Имя Функция
    1,15 Смысл A, Смысл B Между этим выводом и землей подключен резистор считывания для управления током нагрузки.
    2,3 Вых 1, Вых 2 Выходы моста A; ток, протекающий через нагрузку, подключенную между этими двумя выводами, контролируется на выводе 1.
    4 VS Напряжение питания для выходных каскадов. Неиндуктивный конденсатор 100 нФ должен быть подключен между этим контактом и землей.
    5,7 Вход 1, Вход 2 TTL-совместимые входы моста A.
    6,11 Включить A, включить B TTL-совместимый вход включения: состояние L отключает мост A (включить A) и / или мост B (включить B).
    8 ЗЕМЛЯ Земля
    9 VSS Напряжение питания для логических блоков.(Конденсатор A100nF должен быть подключен между этим контактом и землей.)
    10,12 Вход 3, Вход 4 TTL-совместимые входы моста B.
    13,14 Вых 3, Вых 4 Выходы моста B. Ток, протекающий через нагрузку, подключенную между этими двумя контактами, отслеживается на контакте.

    L298N драйвер двигателя IC Лист данных:

    Щелкните эту ссылку, чтобы просмотреть СПЕЦИФИКАЦИЮ.

    Подробную информацию об ИС L298N можно найти в таблице данных, приведенной выше. Технические характеристики и информацию, такие как абсолютные максимальные значения, блок-схема и предлагаемые схемы, можно найти в таблице данных.

    Схема подключения L29N к Arduino UNO:

    Схема соединений Arduino с L298N

    Источник изображения: hackster.io

    Нравится:

    Нравится Загрузка ...

    Связанные

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

    L293D - Arduino - Робо Индия || Учебники || Изучите Arduino |

    В этом руководстве Robo India объясняется, как управлять двигателем постоянного тока с помощью драйвера двигателя L293D IC с Arduino. (Робо Индия)
    1. Введение

    Драйвер двигателя - это модуль для двигателей, который позволяет управлять рабочей скоростью и направлением двух двигателей одновременно. Этот драйвер двигателя спроектирован и разработан на основе L293D IC.

    L293D - это 16-контактная микросхема драйвера двигателя. Он предназначен для обеспечения двунаправленных управляющих токов при напряжении от 5 В до 36 В.

    1,2 Требуемое оборудование
    1.3 Вывод IC L293D

    L293D - это 16-контактная ИС с восемью контактами на каждой стороне для одновременного управления двумя двигателями постоянного тока. Для каждого двигателя имеется 4 контакта INPUT, 4 контакта OUTPUT и 2 контакта ENABLE.

    Контакт 1: когда Enable1 / 2 находится в HIGH, левая часть IC будет работать, то есть двигатель, подключенный к контактам 3 и 6, будет вращаться.

    Контакт 2: вход 1, когда этот контакт ВЫСОКИЙ, ток будет течь через выход 1.

    Контакт 3: Выход 1, этот контакт подключен к одной клемме двигателя.

    Контакт 4/5: контакты GND

    Контакт 6: Выход 2, этот контакт подключен к одной клемме двигателя.

    Контакт 7: Вход 2, когда этот контакт ВЫСОКИЙ, ток будет течь через выход 2.

    Контакт 8: VSS, этот контакт используется для подачи питания на подключенные двигатели с максимальным напряжением от 5 В до 36 В в зависимости от подключенного двигателя.

    Контакт 9: когда Enable 3/4 находится в HIGH, правая часть IC будет работать, то есть двигатель, подключенный к контакту 11 и контакту 14, будет вращаться.

    Контакт 10: Вход 4, когда этот контакт ВЫСОКИЙ, ток будет проходить через выход 4.

    Контакт 11: Выход 4, этот контакт подключен к одной клемме двигателя.

    Контакт 12/13: Контакты GND

    Контакт 14: Выход 3, этот контакт подключен к одной клемме двигателя.

    Контакт 15: Вход 3, когда этот контакт ВЫСОКИЙ, ток будет течь через выход 3.

    Контакт 16: VCC, для питания IC, например, 5 В.

    2. Соединения с Arduino

    1. Модуль 5V (VCC) - Arduino 5V.

    2. Модуль GND - Arduino GND.

    3. Модуль 1 - Arduino D8.

    4. Модуль 2 - Arduino D9.

    5. Модуль 3 - Arduino D10.

    6. Модуль 4 - Arduino D11.

    7. Модуль Клеммы двигателя - двигатели постоянного тока.

    8. Модуль VSS power terminal - Внешний источник питания 9В.

    Выполните подключение, как показано выше.

    Убедитесь, что на контактах Enable 1-2 и Enable 3-4 модуля предварительно установлены перемычки, чтобы двигатель включился и работал на максимальной скорости.

    2.1. Рабочий механизм

    Вращение двигателя зависит от контактов включения. Когда Enable 1/2 имеет значение HIGH, двигатель, подключенный к левой части IC, будет вращаться следующим образом:

    Вход 1 Вход 2 Результат
    0 0 Стоп
    0 1
    По часовой стрелке
    1 1 Стоп
    3. Программирование:

    Вот код для запуска этой схемы.

    Вы можете загрузить этот код (Arduino Sketch) отсюда.

    // Учебное пособие по управлению двигателем от RoboIndia
    // Требования к оборудованию: драйвер двигателя (от RoboIndia) и Arduino
    
    // Мотор A
    const int inputPin1 = 10; // Вывод 15 микросхемы L293D
    const int inputPin2 = 11; // Вывод 10 микросхемы L293D
    // Мотор B
    const int inputPin3 = 9; // Вывод 7 микросхемы L293D
    const int inputPin4 = 8; // Вывод 2 микросхемы L293D
    
    
    установка void ()
    {
     pinMode (inputPin1, ВЫХОД);
     pinMode (inputPin2, ВЫХОД);
     pinMode (inputPin3, ВЫХОД);
     pinMode (inputPin4, ВЫХОД);
    }
    
    пустой цикл ()
    {
     digitalWrite (inputPin1, HIGH);
     digitalWrite (inputPin2, LOW);
     digitalWrite (inputPin3, HIGH);
     digitalWrite (inputPin4, LOW);
    }
    
     
    4.Выход

    После подключения вы скопируете и вставите этот код в Arduino IDE, а затем загрузите код. Оба мотора начнут вращаться.

    Если у вас есть какие-либо вопросы, напишите нам по адресу [email protected]

    С уважением и уважением
    Команда разработки контента
    Robo India
    https://roboindia.com

    Управление двигателем постоянного тока Arduino с использованием драйвера двигателя L298N - PWM

    В этом проекте мы увидим, как управлять двигателем постоянного тока с помощью Arduino и драйвера двигателя L298N.Существуют разные способы управления двигателем постоянного тока, но управление двигателем постоянного тока Arduino с использованием драйвера двигателя L298N становится довольно популярным по многим причинам.

    Обзор

    Двигатель постоянного тока - самый простой из двигателей, с которыми сталкиваются новички и любители. Управлять им очень просто: подключите два вывода двигателя к двум клеммам аккумулятора и вуаля! Ваш мотор начинает вращаться.

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

    Если вы хотите управлять скоростью вращения простого двигателя постоянного тока, существует метод, называемый ШИМ-управление двигателем постоянного тока. Широтно-импульсная модуляция или сигнал ШИМ, генерируемый этим методом, позволит нам контролировать среднее напряжение, которое подается на двигатель постоянного тока.

    Управление скоростью двигателя постоянного тока с помощью ШИМ

    При использовании метода ШИМ среднее значение напряжения, подаваемого на двигатель постоянного тока, регулируется путем включения и выключения питания с очень высокой скоростью.Частота этого переключения будет порядка нескольких десятков килогерц.

    Теперь среднее напряжение, подаваемое на двигатель постоянного тока, будет зависеть от так называемого рабочего цикла сигнала ШИМ. Рабочий цикл сигнала ШИМ - это не что иное, как отношение времени, в течение которого сигнал находится в состоянии ВКЛ или ВЫСОКИЙ, к общему периоду времени сигнала, то есть сумме времени включения и времени выключения.

    Рабочий цикл обычно выражается в процентах, а на следующем рисунке представлены различные сигналы ШИМ источника питания 12 В с разными рабочими циклами: 0%, 25%, 50%, 75% и 100% соответственно.

    Теперь, когда мы контролировали среднее напряжение, которое должно подаваться на двигатель постоянного тока, как нам подать это напряжение на двигатель? А вот и использование транзистора.

    Сигнал ШИМ от любого источника, такого как Arduino в этом примере, может быть передан на затвор полевого МОП-транзистора, и в зависимости от рабочего цикла сигнала ШИМ скорость двигателя постоянного тока будет изменяться.

    На следующем изображении показана простая принципиальная схема, где ШИМ-выход от Arduino подается на полевой МОП-транзистор, а двигатель постоянного тока 12 В подключен через полевой МОП-транзистор.

    Код этой цепи приведен ниже. Используя этот код, Arduino будет изменять скорость двигателя постоянного тока постепенно, то есть постепенно увеличивает скорость до пика, а затем постепенно снижает скорость до остановки.

    Код


    Эта схема хороша для управления скоростью двигателя, но не является эффективным способом изменения направления вращения. Для изменения направления вращения без того, чтобы каждый раз менять местами выводы двигателя, вам необходимо использовать специальную схему, называемую H-мостом.

    Управление двигателем постоянного тока с использованием H-моста

    H-Bridge - это простая электронная схема, состоящая из четырех переключающих элементов, таких как транзисторы (BJT или MOSFET), которые могут управлять двигателем в обоих направлениях без переключения выводов.

    Название «H-Bridge» относится к виду соединения, состоящего из четырех транзисторов и двигателя в центре, образующего букву «H».

    Ниже показано простое соединение H-Bridge с использованием четырех транзисторов и двигателя. Активируя одновременно два конкретных транзистора, мы можем управлять потоком тока через двигатель и, следовательно, направлением вращения.

    Два управляющих входа A и B в приведенной выше схеме определяют направление вращения двигателя. Если A - НИЗКИЙ, а B - ВЫСОКИЙ, транзисторы Q1 и Q4 будут включены и позволят току течь через двигатель в определенном направлении.

    Если на управляющем входе A установлено ВЫСОКОЕ значение, а на B - НИЗКОЕ, то транзисторы Q2 и Q3 включатся, и ток через двигатель изменится на противоположное, а значит, и направление вращения.

    Объединив обе функции i.е. Технология PWM для управления скоростью и соединение H-Bridge для управления направлением, вы можете полностью контролировать двигатель постоянного тока.

    Использовать транзисторы для эффективного подключения H-Bridge утомительно. Для этой цели на рынке доступны специализированные ИС драйвера двигателя с Н-мостом, и две распространенные ИС - это L293D и L298N.

    Мы уже видели, как управлять скоростью двигателя постоянного тока с помощью L293D в более раннем проекте. В этом проекте мы сосредоточимся на более продвинутом драйвере двигателя L298N и рассмотрим управление двигателем постоянного тока Arduino с использованием драйвера двигателя L298N с использованием технологии ШИМ.

    Также прочтите УПРАВЛЕНИЕ ДВИГАТЕЛЕМ ПОСТОЯННОГО ТОКА С ARDUINO И L293D

    Краткое примечание о драйвере мотора L298N

    ИС драйвера мотора L298N представляет собой 15-выводную высоковольтную, сильноточную ИС драйвера мотора с двумя полными мостовыми драйверами. Логические уровни микросхемы L298N совместимы со стандартным TTL и могут использоваться для управления различными индуктивными нагрузками, такими как двигатели постоянного тока, шаговые двигатели, реле и т. Д.

    На следующем изображении показана схема выводов микросхемы L298N в мультиваттном корпусе (мульти Ведущий силовой агрегат).

    Поскольку микросхема драйвера двигателя L298N представляет собой двойную интегральную схему драйвера полного моста, вы можете управлять двумя двигателями одновременно с помощью отдельных входов. Напряжение питания логики составляет 5 В, но напряжение питания двигателя может достигать 45 В. Максимальный выходной ток на канал составляет 2 А.

    Обычно драйвер L298N доступен в виде модулей, которые содержат все необходимые компоненты и разъемы для управления двумя двигателями постоянного тока. Один из таких модулей показан ниже. Я объясню несколько важных компонентов этого модуля.

    Модуль привода двигателя L298N состоит из двух 2-контактных клеммных колодок с винтовыми зажимами для подключения двух двигателей. Он также имеет шесть штыревых разъемов для подключения двух разрешающих входов и четырех входных контактов (по два на каждый двигатель).

    Имеется 3-контактная клеммная колодка с винтовыми зажимами, через которую необходимо подавать напряжение питания на двигатель. Если используемые двигатели рассчитаны на 12 В или меньше, то питание 12 В подается через этот винтовой зажим, а встроенный регулятор 5 В будет обеспечивать питание логики 5 В на ИС L298N.

    Вы также можете получить доступ к этому регулируемому напряжению 5 В через третий контакт 3-контактной винтовой клеммной колодки. Перемычка, расположенная рядом с 3-контактной винтовой клеммой, должна быть включена для напряжений питания до 12 В, поскольку эта перемычка включает встроенный регулятор. Выход 5 В с третьего контакта 3-контактной винтовой клеммы доступен только при установленной перемычке, т. Е. Напряжение питания составляет 12 В. Этот выход 5 В может использоваться для питания вашей платы Arduino.

    Если напряжение питания больше 12 В, снимите перемычку, так как это может повредить регулятор.В этом случае логическое питание 5 В на микросхему L298N подается через третий контакт 3-контактной винтовой клеммы.

    Управление двигателем постоянного тока Arduino с использованием L298N

    Теперь мы рассмотрим простую схему, в которой мы контролируем скорость и направление двигателя постоянного тока с помощью Arduino и L298N IC. Для этого проекта вам понадобится несколько дополнительных компонентов, их полный список приведен ниже. В системе управления двигателем постоянного тока Arduino с использованием проекта L298N мы будем контролировать обе функции простого двигателя постоянного тока, т.е.скорость и направление вращения с использованием комбинации сигнала ШИМ и L298N (H-мост).

    Принципиальная схема

    Необходимые компоненты
    • Arduino UNO [Купить здесь]
    • L298N Модуль драйвера двигателя [Купить здесь]
    • Двигатель постоянного тока 12 В
    • Потенциометр 100 кОм
    • Кнопка
    • Источник питания 12 В
    • Макетная плата
    • Соединительные провода
    Код

    Приложения

    • Управление двигателем постоянного тока Arduino с использованием драйвера двигателя L298N может быть начальным этапом многих сложных проектов.
    • Почти у всех роботов есть колеса, и нам нужно управлять двигателями, подключенными к этим колесам. Следовательно, любой робот на базе Arduino может реализовать этот тип управления двигателем с помощью L298N.
    • Некоторые из роботизированных приложений драйвера двигателя L298N - это робот, управляемый жестами руки, робот-следователь, робот для обхода препятствий и т.д. Подключите блок питания к большинству приводов двигателей задом наперед, и вы можете выбросить их в мусорное ведро.Не так с надежным драйвером двигателя. Он полностью защищен от обратного напряжения до 40 В. Благодаря этой функции и встроенным системам защиты устройств DRV8801 Rugged Motor Driver представляет собой надежный продукт, который прощает ошибки.

      • Простой интерфейс включения / направления

      Каждый двигатель (или фаза шагового двигателя) управляется только двумя входами: РАЗРЕШЕНИЕ и НАПРАВЛЕНИЕ. Вход ENABLE может управляться выходом PWM для управления средним током двигателя. Вход DIRECTION управляет направлением тока.Эти четыре цифровых контакта полностью управляют 2 щеточными двигателями постоянного тока или 1 биполярным шаговым двигателем. Этот интерфейс совместим с другими популярными экранами драйверов двигателей Arduino. См. Раздел «Подключения » ниже, чтобы узнать, как подключить эти сигналы.

      • Используйте внешнее питание или питание Arduino

      Вы можете использовать либо внешний источник напряжения (8–30 В), либо использовать питание Vin от Arduino. ПРИМЕЧАНИЕ: Для внешнего напряжения выше 15 В вы должны отрезать перемычку J21, когда экран подключен к Arduino (Ruggeduino подходит до 24 В).См. Схему ниже в разделе Connections , где показано расположение этой перемычки.

      • В собранном виде, с клеммными колодками и штыревыми разъемами в комплекте

      Не нужно паять, не нужно покупать дополнительные клеммы или штыревые разъемы (в отличие от некоторых других экранов драйверов двигателей), прочный драйвер двигателя полностью собран и готов к работе как щит Arduino, прямо из коробки. Для использования в качестве автономного драйвера двигателя припаяйте провода непосредственно к 6-контактному разъему J3 или приобретите наш комплект для модернизации надежного драйвера двигателя и припаяйте 6-контактный быстроразъемный клеммный блок.

      Вы можете установить еще один экран поверх защищенного экрана драйвера двигателя или использовать заголовки для подключения оголенных проводов к контактам ввода-вывода.

      Четыре светодиода общего назначения могут использоваться для отображения состояния двигателя. Требуются перемычки J15, J16, J6 и J7 (см. Схему ниже).

      • Конфигурируемые контакты управления для управления несколькими двигателями

      В течение нескольких минут вы можете изменить драйвер двигателя Rugged Motor Driver для использования различных контактов управления (требуется простая пайка).Вместе с заголовками для штабелирования это означает, что вы можете складывать вместе несколько жестких экранов драйверов двигателей и независимо управлять несколькими двигателями. Поскольку Arduino имеет 6 выходов PWM, вы можете складывать до 3 экранов вместе и независимо управлять PWM 6 двигателями постоянного тока или 3 шаговыми двигателями. Более подробная информация ниже.

      • Параллельные фазы для удвоения тока

      Для управления одним двигателем постоянного тока вы можете соединить две выходные фазы параллельно и получить удвоенный ток на выходе.См. Наши примечания по применению для более подробной информации

      Вот несколько примеров программ для демонстрации приложений Rugged Motor Driver. Они предоставляются в виде файлов PDE (т.е. эскизов ) для использования со средой разработки Arduino.

      Этот эскиз демонстрирует, насколько просто использовать надежный привод двигателя для управления направлением и вращением двух щеточных двигателей постоянного тока.

      Этот эскиз демонстрирует управление шаговым двигателем с клавиатуры. Откройте монитор последовательного порта (или любую другую программу терминала) и используйте одноклавишные команды для управления скоростью, направлением и мощностью шагового двигателя.См. Документацию в эскизе для примечаний по использованию. В этом скетче используется встроенная библиотека Stepper, которая поставляется с программным обеспечением Arduino.

      Библиотека AccelStepper имеет больше функций, чем библиотека Stepper. На этом эскизе показан шаговый двигатель, вращающийся взад и вперед, медленно ускоряясь и замедляясь до своего конечного положения.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *