Технология. 6 класс. авторский коллектив: е. с. глозман, е. н. кулакова, ю. л. хотунцев, о. а. кожина, и. в. воронин, в. в. воронина, а. е. глозман

Принцип работы H-моста

Перед тем, как переходить непосредственно к управлению двигателем, обсудим что такое H-BRIDGE (H-мост). Собранная нами далее схема будет осуществлять две функции: управлять двигателем постоянного тока с помощью управляющих сигналов малой мощности и изменять направление вращения двигателя.

Нам известно, что для изменения направления вращения двигателя постоянного тока необходимо изменить полярность приложенного к нему питающего напряжения. И как раз для смены полярности напряжения хорошо подходит устройство, называемое H-мостом. На представленном выше рисунке мы имеем 4 выключателя. Как показано на рисунке 2 если выключатели A1 и A2 замкнуты, то ток через двигатель течет справа налево как показано на второй части рисунка 2 – то есть в этом случае двигатель будет вращаться по часовой стрелке. А если выключатели A1 и A2 разомкнуты, а B1 и B2 – замкнуты, то ток через двигатель в этом случае будет протекать слева направо как показано на второй части рисунка, то есть двигатель будет вращаться против часовой стрелки. В этом и заключается принцип работы H-моста.

Рисунок 2 (часть 1)

Рисунок 2 (часть 2)

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

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

Enable Pin Input Pin 1 Input Pin 2 Motor Direction
High Low High вправо
High High Low влево
High Low Low стоп
High High High стоп

То есть, чтобы двигатель вращался по часовой стрелке необходимо чтобы на 2A было напряжение высокого уровня (high), а на контакте 1A – напряжение низкого уровня (low). Аналогично для вращения двигателя против часовой стрелки необходимо обеспечить на 1A напряжение высокого уровня, а на 2A – низкого.

Как показано на следующем рисунке Arduino UNO имеет 6 ШИМ каналов (обозначенных на плате специальным знаком – тильдой), любой из которых мы можем использовать для получения изменяющего напряжения (на основе ШИМ). В данном проекте мы будем использовать в качестве ШИМ выхода контакт PIN3 Arduino UNO.

Конденсаторы

Конденсаторы — это детали, которые встречаются в любой конструкции без исключения. Обычно самые простые конденсаторы представляют собой две пластины из металла. И в качестве диэлектрического компонента выступает воздух. Сразу вспоминаются уроки физики в школе, когда проходили тему о конденсаторах. В качестве модели выступали две огромные плоские железки круглой формы. Их приближали друг к другу, затем отдаляли. И в каждом положении проводили замеры. Стоит отметить, что вместо воздуха может использоваться слюда, а также любой материал, который не проводит электрический ток. Обозначения радиодеталей на импортных принципиальных схемах отличается от ГОСТов, принятых в нашей стране.

Обратите внимание на то, что через обычные конденсаторы не проходит постоянный ток. С другой же стороны, через него проходит без особых трудностей

Учитывая это свойство, устанавливают конденсатор только там, где необходимо отделить переменную составляющую в постоянном токе. Следовательно, можно сделать схему замещения (по теореме Кирхгофа):

  1. При работе на переменном токе конденсатор замещается отрезком проводника с нулевым сопротивлением.
  2. При работе в цепи постоянного тока конденсатор замещается (нет, не емкостью!) сопротивлением.

Основной характеристикой конденсатора является электрическая емкость. Единица емкости — это Фарад. Она очень большая. На практике, как правило, используются которых измеряется в микрофарадах, нанофарадах, микрофарадах. На схемах конденсатор обозначается в виде двух параллельных черточек, от которых идут отводы.

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

HG7881 – двухканальный драйвер, к которому можно подключить 2 двигателя или четырехпроводной двухфазный шаговый двигатель. Устройство часто используется из-за своей невысокой стоимости. Драйвер используется только для изменения направления вращения, менять скорость он не может.

Плата содержит 2 схемы L9110S, работающие как H-мост.

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

  • 4-контактное подключение;
  • Питание для двигателей от 2,5 В до 12 В;
  • Потребляемый ток менее 800 мА;
  • Малые габариты, небольшой вес.

Распиновка:

  • GND – земля;
  • Vcc – напряжение питания 2,5В – 12В;
  • A-IA – вход A(IA) для двигателя A;
  • A-IB – вход B (IB) для двигателя A;
  • B-IA – вход A(IA) для двигателя B;
  • B-IB – вход B (IB) для двигателя B.

В зависимости от поданного сигнала на выходах IA и IB будет разное состояние для двигателей. Возможные варианты для одного из моторов приведены в таблице.

IA IB Состояние мотора
Остановка
1 Двигается вперед
1 Двигается назад
1 1 Отключение

Подключение одного двигателя к Ардуино изображено на рисунке.

Модуль L293D подает максимальный ток в 1,2А, в то время как на L298N можно добиться максимального тока в 4 А. Также L293D обладает меньшим КПД и быстро греется во время работы. При этом L293D является самой распространенной платой и стоит недорого. Плата HG7881 отличается от L293D и L298N тем, что с ее помощью можно управлять только направлением вращения, скорость менять она не может. HG7881 – самый дешевый и самый малогабаритный модуль.

Как будут развиваться роботы

Трудно представить, что роботы не смогут делать в ближайшие десятилетия. Уже созданы роботизированные мышцы, которые в 1000 раз сильнее человеческих и могут поднимать вес в 50 раз больше собственного. Дальнейшее развитие роботов потребует открытия новых материалов и свойств, а также достижений в области компьютерных технологий. 

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

Важнейшие классы роботов

Можно использовать несколько подходов к классификации роботов — например, по сфере применения, по назначению, по способу передвижения, и пр. По сфере основного применения можно выделить промышленных роботов, исследовательских роботов, роботов, используемых в обучении, специальных роботов.

Важнейшие классы роботов широкого назначения — манипуляционные и мобильные роботы.

Манипуляционный робот — автоматическая машина (стационарная или передвижная), состоящая из исполнительного устройства в виде манипулятора, имеющего несколько степеней подвижности, и устройства программного управления, которая служит для выполнения в производственном процессе двигательных и управляющих функций. Такие роботы производятся в напольном, подвесном и портальном исполнениях. Получили наибольшее распространение в машиностроительных и приборостроительных отраслях.

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

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

/*

  HG7881_Motor_Driver_Example — Arduino sketch

  This example shows how to drive a motor with using HG7881 (L9110) Dual

  Channel Motor Driver Module.  For simplicity, this example shows how to

  drive a single motor.  Both channels work the same way.

  This example is meant to illustrate how to operate the motor driver

  and is not intended to be elegant, efficient or useful.

  Connections:

    Arduino digital output D10 to motor driver input B-IA.

    Arduino digital output D11 to motor driver input B-IB.

    Motor driver VCC to operating voltage 5V.

    Motor driver GND to common ground.

    Motor driver MOTOR B screw terminals to a small motor.

*/

// wired connections

#define HG7881_B_IA 10 // D10 —> Motor B Input A —> MOTOR B +

#define HG7881_B_IB 11 // D11 —> Motor B Input B —> MOTOR B —

// functional connections

#define MOTOR_B_PWM HG7881_B_IA // Motor B PWM Speed

#define MOTOR_B_DIR HG7881_B_IB // Motor B Direction

// the actual values for «fast» and «slow» depend on the motor

#define PWM_SLOW 100  // arbitrary slow speed PWM duty cycle

#define PWM_FAST 200 // arbitrary fast speed PWM duty cycle

#define DIR_DELAY 1000 // brief delay for abrupt motor changes

void setup()

{

  Serial.begin( 9600 );

  pinMode( MOTOR_B_DIR, OUTPUT );

  pinMode( MOTOR_B_PWM, OUTPUT );

  digitalWrite( MOTOR_B_DIR, LOW );

  digitalWrite( MOTOR_B_PWM, LOW );

}

void loop()

{

  boolean isValidInput;

  // draw a menu on the serial port

  Serial.println( «——————————» );

  Serial.println( «MENU:» );

  Serial.println( «1) Fast forward» );

  Serial.println( «2) Forward» );

  Serial.println( «3) Soft stop (coast)» );

  Serial.println( «4) Reverse» );

  Serial.println( «5) Fast reverse» );

  Serial.println( «6) Hard stop (brake)» );

  Serial.println( «——————————» );

  do

  {

    byte c;

    // get the next character from the serial port

    Serial.print( «?» );

    while( !Serial.available() )

      ; // LOOP…

    c = Serial.read();

    // execute the menu option based on the character recieved

    switch( c )

    {

      case ‘1’: // 1) Fast forward

        Serial.println( «Fast forward…» );

        // always stop motors briefly before abrupt changes

        digitalWrite( MOTOR_B_DIR, LOW );

        digitalWrite( MOTOR_B_PWM, LOW );

        delay( DIR_DELAY );

        // set the motor speed and direction

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

        analogWrite( MOTOR_B_PWM, 255-PWM_FAST ); // PWM speed = fast

        isValidInput = true;

        break;      

      case ‘2’: // 2) Forward      

        Serial.println( «Forward…» );

        // always stop motors briefly before abrupt changes

        digitalWrite( MOTOR_B_DIR, LOW );

        digitalWrite( MOTOR_B_PWM, LOW );

        delay( DIR_DELAY );

        // set the motor speed and direction

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

        analogWrite( MOTOR_B_PWM, 255-PWM_SLOW ); // PWM speed = slow

        isValidInput = true;

        break;      

      case ‘3’: // 3) Soft stop (preferred)

        Serial.println( «Soft stop (coast)…» );

        digitalWrite( MOTOR_B_DIR, LOW );

        digitalWrite( MOTOR_B_PWM, LOW );

        isValidInput = true;

        break;      

      case ‘4’: // 4) Reverse

        Serial.println( «Fast forward…» );

        // always stop motors briefly before abrupt changes

        digitalWrite( MOTOR_B_DIR, LOW );

        digitalWrite( MOTOR_B_PWM, LOW );

        delay( DIR_DELAY );

        // set the motor speed and direction

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

        analogWrite( MOTOR_B_PWM, PWM_SLOW ); // PWM speed = slow

        isValidInput = true;

        break;      

      case ‘5’: // 5) Fast reverse

        Serial.println( «Fast forward…» );

        // always stop motors briefly before abrupt changes

        digitalWrite( MOTOR_B_DIR, LOW );

        digitalWrite( MOTOR_B_PWM, LOW );

        delay( DIR_DELAY );

        // set the motor speed and direction

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

        analogWrite( MOTOR_B_PWM, PWM_FAST ); // PWM speed = fast

        isValidInput = true;

        break;

      case ‘6’: // 6) Hard stop (use with caution)

        Serial.println( «Hard stop (brake)…» );

        digitalWrite( MOTOR_B_DIR, HIGH );

        digitalWrite( MOTOR_B_PWM, HIGH );

        isValidInput = true;

        break;      

      default:

        // wrong character! display the menu again!

        isValidInput = false;

        break;

    }

  } while( isValidInput == true );

  // repeat the main loop and redraw the menu…

}

Строение робота

Каждый робот состоит из следующих базовых компонентов:

  • Рама или тело робота;
  • Блок управления;
  • Манипуляторы;
  • Ходовая часть.

(Наглядное устройство робота)

Робот может быть любых форм и размеров. Именно рама или тело робота является основой его конструкции и определяет внешний облик. Среднестатистический человек при слове «робот» представляет человекоподобное существо из металла. Этот образ навязан многочисленными фантастическими кинофильмами.

На самом же деле большинство роботов совершенно не похоже на человека. Главное для робота – это его функциональность, а не то, как он выглядит.

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

(На картинке робот Humanoid)

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

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

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

Подключение L298N к плате Arduino

Рисунок №4 – схема подключения двух щёточных двигателей постоянного тока

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

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

#define PIN_ENA 9 // Вывод управления скоростью вращения мотора №1

#define PIN_ENB 3 // Вывод управления скоростью вращения мотора №2

#define PIN_IN1 7 // Вывод управления направлением вращения мотора №1

#define PIN_IN2 6 // Вывод управления направлением вращения мотора №1

#define PIN_IN3 5 // Вывод управления направлением вращения мотора №2

#define PIN_IN4 4 // Вывод управления направлением вращения мотора №2

uint8_t power = 105; // Значение ШИМ (или скорости вращения)

// Установка всех управляющих пинов в режим выхода

// Команда остановки двум моторам

// Вращаем моторы в одну сторону с разной скоростью

analogWrite(PIN_ENA, power); // Устанавливаем скорость 1-го мотора

analogWrite(PIN_ENB, power); // Устанавливаем скорость 2-го мотора

// Задаём направление для 1-го мотора

// Задаём направление для 2-го мотора

delay(3000); // Пауза 3 секунды

power += 30; // Увеличиваем скорость

// Вращаем моторы в другую сторону с разной скоростью

analogWrite(PIN_ENA, power); // Устанавливаем скорость 1-го мотора

analogWrite(PIN_ENB, power); // Устанавливаем скорость 2-го мотора

// Задаём направление для 1-го мотора

// Задаём направление для 2-го мотора

delay(3000); // Пауза 3 секунды

power -= 30; // Уменьшаем скорость

В самом верху программы задаются макроопределения всех выводов, используемых в проекте. В функции Setup() все выводы Arduino Nano, участвующие в управлении, задаются в качестве выхода. На выводах IN1-IN4 выставляются логические нули, чтобы двигатели гарантированно не вращались в момент старта программы. В главном цикле, программа обеспечивает вращение двигателей в одном направлении, увеличивая их скорость каждые 3 секунды. Когда разгон вырастает до максимального, моторы начинают вращаться в обратном направлении, постепенно замедляя скорость. На пике сбавления скорости, алгоритм повторяется заново. Как видим, сложного здесь ничего нет. Теперь разберёмся с шаговым двигателем. На рисунке №5 показана схема его подключения к плате Arduino Nano.

Рисунок №5 – схема подключения шагового двигателя к Arduino Nano

В качестве демонстрационной модели использован популярный шаговый двигатель NEMA17. Он способен вращаться с частотой до 60 оборотов в минуту и имеет разрешающую способность 200 шагов на один оборот

Следует обратить внимание, что выводы ENA и ENB должны быть подтянуты к +5V путём установки перемычек на самом модуле. Таким образом управляющему сигналу будет разрешено проходить на обмотки шагового двигателя

Также, в случае использования двигателя NEMA17, напряжение его питания не должно превышать 12V. Ниже приведён пример кода с комментариями, который заставит двигатель вращаться в разные стороны, меняя своё направление после каждого полного оборота. В программе использована стандартная библиотека Stepper.h, которая значительно упрощает процесс разработки ПО для проектов с шаговыми двигателями.

  Быстровозводимые дома из трехслойных железобетонных панелей

#include // Подключение библиотеки для работы с ШД #define steps 200 // Количество шагов на один оборот // Создание экземпляра класса для работы с ШД. казываем кол-во шагов на один оборот // и пины Arduino, к которым подключены обмотки двигатедя Stepper myStepper(steps, 7, 6, 5, 4); void setup() < myStepper.setSpeed(60); // Устанавливаем скорость вращения об./мин. > void loop() < myStepper.step(steps); // Вращаем двигатель в одну сторону на 200 шагов delay(1000); // Ждём одну секунду myStepper.step(-steps); // Вращаем двигатель в обратную сторону на 200 шагов delay(1000); // Ждём одну секунду >

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

Шарнирный робот (ARTICULATED ROBOT)

Высокая гибкость движений

На фото универсальный робот Kawasaki CX210Lс грузоподъемностью 210 кг 

Сегодня это самый распространенный промышленный робот. Конструкция представляет собой последовательно соединённые звенья. Каждое следующее звено крепится к концу другого. 6-ти осевой шарнирный робот имеет такую же подвижность, как и человеческая рука. Но считается, что программирование таких роботов гораздо сложнее. Однако, благодаря современным контроллерам Kawasaki, процесс создания управляющей программы чрезвычайно прост. Этот тип роботов используется для очень широкого круга задач, таких как палетирование, обслуживание станков, дуговая или точечная сварка и многое другое.

Пример современного 6-ти осевого шарнирного робота Kawasaki RS007L.

Технические характеристики Motor Shield L293D

Motor Shield L293D имеет следующие характеристики :

Разберемся же, из чего состоит этот motor shield. На фотографии ниже вы можете найти цифры, на которые мы будем опираться.

Также на motor shield L293D находится светодиод, который горит только тогда, когда подсоединенные электромоторы запитанны и могут выполнять свое предназначение. А если светодиод не проявляет признаков жизни, то ваши электромоторы работать не будут, так как источника питания не хватает на работу моторов или его совсем нет.

После того, как мы познакомились с технической информацией устройства, перейдем к практической части.

Драйвер моторов двухканальный L298N. Dual DC Motor Driver RKP-MDL298-01A-V2 — Драйверы

Есть в наличииЕсть в наличии

Модуль управления моторами RKP-01A на микросхеме L298N. С его помощью можно контролировать вращение двух независимых коллекторных моторов постоянного тока (DC-моторов) или одного двухобмоточного четырехпроводного шагового двигателя.

Здесь можно посмотреть подробную статью о подключении драйвера моторов на микросхеме L298N к Arduino =>>

Плата контроллера двигателей RKP-01A благодаря микросхеме драйвера моторов L298N позволяет легко управлять двумя электромоторами использующими питание от 5В до 35В. Установленный на основную микросхему L298N радиатор охлаждения позволяет выдерживать ток нагрузки до 2A на канал. Для защиты драйвера моторов от перегрузки используются специальные Диоды Shotki. Модуль контроллера двигателей позволяет использовать его в различных робототехнических проектах, размещая его по своему усмотрению.Посмотреть DataSheet микросхемы драйвера моторов L298N (формат PDF размер 611 КБ)

Ключевыми особенностями драйвера моторов RKP-01A являются наличие радиатора охлаждения L298N, малые габариты и вес (35 грамм), а также светодиодная индикация наличия питания и указания направления вращения двигателей.

Характеристики драйвера моторов RKP-01A на микросхеме L298N:— Микросхема драйвера: L298N (с радиатором охлаждения)— Возможность питания внешней логики (Vss): +5V ~ +7V (внутренний стабилизатор +5В)— Входное напряжение логической части (Vd): от 6V до 12V— Входное напряжение управляемой части (Vs): от +5V до +35V— Рабочий ток внешней логической части (Iss): 0 ~ 36mA— Ток нагрузки каждой управляемой части (Io): 2A— Пиковый ток нагрузки каждой управляемой части (Io): 3А— Максимальная потребляемая мощность: 20Вт (при температуре = 75°C)— Высокий уровень входного управляющего сигнала (High): 2.3В = Vin = Vss— Низкий уровень входного управляющего сигнала (Low): -0.3В = Vin = 1.5В— Рабочая температура окружающей среды: от -25 до +130°C— Размеры модуля со стойками крепления и радиатором L298: 53 x 47 x 27 мм— Вес драйвера моторов RKP-01A: 35 грамм

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

Плата расширения RKP-01A может используется вместе с Arduino и устанавливается отдельно от процессорного модуля Arduino. Применяется, например, для построения движущихся роботов на колесном или гусеничном приводе.

Для подключения моторов постоянного тока (DC-моторов) служат порты:OUT1 и OUT2 — мотор AOUT3 и OUT4 – мотор B(управление электромоторами полностью независимо друг от друга)

Для работы подключите источник питания к контакту тройного клемника «VСС».При подаче питания от +6V до +12V и одетом джампере JP1, питание подается и на стабилизатор, который выдает +5V для питания логики драйвера. Подавать отдельно питание +5V для логики не нужно. При подаче питания выше +12V, джампер JP1 должен быть снят. Питание на логику подается отдельно через клемму «+5V».

Управление DC-моторами осуществляется через специальные входы:ENA (ENB) – надетая перемычка активирует включение канала управления двигателем.ENA (ENB) — соединить с ШИМ-выходом MCU, для контроля скорости вращенияI1 (I3) и I2 (I4) – логические входы (имеют отключаемые подтягивающие резисторы) задания направления вращения (см. таблицу ниже)

ENA       I1  I2    Состояние мотора АPWM>0     0   0     СтопPWM>0     0   1     Вращение по часовойPWM>0     1   0     Вращение против часовойPWM>0     1   1     Стоп
ENB       I3  I4    Состояние мотора BPWM>0     0   0     СтопPWM>0     0   1     Вращение по часовойPWM>0     1   0     Вращение против часовойPWM>0     1   1     Стоп

Управление шаговым двигателем осуществляется аналогично управлению двумя DC-моторами.

Схема драйвера моторов L298N для робота с управлением от микроконтроллера. Нажать и посмотреть схему =>>

Товар был добавлен в наш каталог Среда, 04 Октября 2017

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

Еще одной особенностью платы расширения Arduino Motor Shield является возможность определения величины тока, который потребляется электродвигателем (или любой индуктивной нагрузкой). Измерение тока может быть полезно в приложениях робототехники, таких как контроль тяги и определения того, что робот толкает объект. Для измерения тока используются выводы A0 (канал A) и A1 (канал B). Плата расширения управления двигателями при достижении максимального тока в канале (2 ампера) выдает на вывод измерения тока 3,3 вольта.

После простых вычислений можно определить, что каждая единица будет соответствовать 2,96 мА. Так, например, если функция analogRead(A0) вернет значение 121, то двигатель (или нагрузка) потребляет ток 0,36 ампера. Ниже приведен пример кода.

void setup() { Serial.begin(19200); // Настройка последовательного порта pinMode(12,OUTPUT); // Настройка вывода направления канала A digitalWrite(12, HIGH); // Направление канала A – прямое analogWrite(3, 255); // Скорость канала A – 100% delay(1000); // Задержка 1 секунда } void loop() { float current = 0.00296*analogRead(A0); // Рассчитать ток Serial.print(current); // Напечатать значение тока в терминал Serial.println(» A»); // добавить в терминал единицу измерения «A» delay(500); // Задержка полсекунды между печатью в терминал }

L298n Motor Driver

The L298 module is mostly used to design motor drivers. Here at Seeed, we do offer various L298n Motor Drivers.

L298 Dual H-Bridge Motor Driver

  • Double H driver module uses ST L298N dual full-bridge driver, an integrated monolithic circuit in a 15- lead Multiwatt and PowerSO20 packages.
  • It is a high voltage, high current dual full-bridge driver designed to accept standard TTL logic levels and drive inductive loads such as relays, solenoids, DC and stepping motors.

Motor Driver L298 Module – .NET Gadgeteer Compatible

  • This motor driver module controls the speed and direction on 2 DC motors, up to 40V 3A.
  • The module itself is powered and controlled from a gadgeteer mainboard but the motors are powered from a separate power source.

Grove – I2C Motor Driver

  • It directly controls Stepper Motor or DC Motor. Its heart is a dual channel H-bridge driver chip(L298N)that can handle current up to 2A per channel, controlled by an Atmel ATmega8L which handles the I2C communication with platforms such as Arduino.
  • Both motors can be driven simultaneously while set to a different speed and direction. It can power two brushed DC motors or one 4-wire two-phase stepper motor. 
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Семинар по технике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: