Драйвер бесколлекторного двигателя arduino

Введение

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

В системах радиоэлектроники такие способы управления работой двигателя получили название широтно-импульсной модуляции (ШИМ). Такой процесс характеризуется изменением продолжительности подаваемого напряжения или формы его сигнала.

Как можно изменять скорость вращения при помощи ШИМ?

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

Величина среднего напряжения, подаваемого на двигатель, напрямую зависит от формы сигнала ШИМ . Форма сигнала, в свою очередь, определяется рабочим циклом, который можно представить в виде отношения времени подачи сигнала к общему периоду (сумме времени подачи напряжения и его отключения). В результате получается безразмерная величина, которую выражают в процентном отношении – сколько времени от общего периода напряжение подавалось на двигатель. В слаботочных системах на 5, 12, 24 или 36 В применяется цикл на 25%, 50%, 75% и 100%.


Широтно-импульсная модуляци

Драйвер двигателя на микросхеме 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 – самый дешевый и самый малогабаритный модуль.

Control Pins

For each of the L298N’s channels, there are two types of control pins which allow us to control speed and spinning direction of the DC motors at the same time viz. Direction control pins & Speed control pins.

Direction Control Pins

Using the direction control pins, we can control whether the motor spins forward or backward. These pins actually control the switches of the H-Bridge circuit inside L298N IC.

The module has two direction control pins for each channel. The IN1 and IN2 pins control the spinning direction of the motor A while IN3 and IN4 control motor B.

The spinning direction of a motor can be controlled by applying either a logic HIGH(5 Volts) or logic LOW(Ground) to these inputs. The below chart illustrates how this is done.

Input1 Input2 Spinning Direction
Low(0) Low(0) Motor OFF
High(1) Low(0) Forward
Low(0) High(1) Backward
High(1) High(1) Motor OFF

Speed Control Pins

The speed control pins viz. ENA and ENB are used to turn the motors ON, OFF and control its speed.

Pulling these pins HIGH will make the motors spin, pulling it LOW will make them stop. But, with Pulse Width Modulation (PWM), we can actually control the speed of the motors.

The module usually comes with a jumper on these pins. When this jumper is in place, the motor is enabled and spins at maximum speed. If you want to control the speed of motors programmatically, you need to remove the jumpers and connect them to PWM-enabled pins on Arduino.

Работа схемы

Схема подключения BLDC двигателя и контроллера ESC к плате Arduino представлена на следующем рисунке.

Как видите, схема достаточно проста. Контроллеру ESC необходим источник питания с напряжением 12V и током как минимум 5A. Для питания схемы можно использовать адаптер или Li-Po батарейку

Три фазы (провода) BLDC двигателя необходимо подсоединить к трем выходным проводам контроллера ESC – неважно в каком порядке

Предупреждение : у некоторых контроллеров ESC нет выходных проводов, в этом случае вам необходимо будет припаивать провода от BLDC двигателя к контактам контроллера ESC. Обязательно изолируйте эти оголенные места (пайки) с помощью изоляционной ленты потому что через эти провода возможно протекание достаточно больших токов и любое короткое замыкание может привести к повреждению двигателя и контроллера ESC.

Схема BEC (Battery Eliminator circuit) в контроллере ESC будет самостоятельно обеспечивать (регулировать) постоянное напряжение +5V, поэтому его можно непосредственно использовать для питания платы Arduino. Для управления скоростью вращения двигателя в схеме используется потенциометр, подключенный к контакту A0 платы Arduino.

Внешний вид собранной конструкции показан на следующем рисунке.

Что представляет собой драйвер L298N?

Данная плата содержит микросхему и 15 выходов для генерации управляющих сигналов. Предназначено для передачи сигналов к рабочим элементам индуктивного типа – обмоткам двигателя, катушкам реле и т.д. Конструктивно L298N позволяет подключать в работу до двух таких элементов, к примеру, через нее можно одновременно управлять двумя шаговыми двигателями.

На схеме ниже приведен пример распределения выводов L298N от рабочей микросхемы.


L298N. Выводы

  • Vss – вывод питания для логических цепей в 5В;
  • GND – нулевой вывод (он же корпус);
  • INPUT1, INPUT 2, INPUT 3, INPUT 4 – позволяют плавно наращивать и уменьшать скорость вращения двигателя;
  • OUTPUT1, OUTPUT2 – выводы для питания первой индуктивной нагрузки;
  • OUTPUT3, OUTPUT4 – выводы для питания второй индуктивной нагрузки;
  • Vs – вывод для переключения питания;
  • ENABLE A, B – выводы, при помощи которых осуществляется раздельное управление каналами, могут устанавливать активный и пассивный режим (с регулируемой скоростью вращения и с установленной);
  • CURRENT SENSING A, B – выводы для установки текущего режима.

Функция реверсирования

Основные методы реверсирования

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

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

Рис. №2. Реверсирование двигателя с помощью магнитного пускателя.

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

Используя процесс торможения регулятор выступает в качестве инвертора, производимая энергия обладает отрицательным зарядом.. таким образом регулятор может осуществить две операции одна – реверс, другая – рекуперативное торможение. Регулятор оснащается двумя мостами, которые подключены встречно-параллельно.

Используемые мосты инвертируют напряжение и ток.

Рис.№3. Реверс асинхронного электродвигателя с прямым частотным преобразователем; а) скорость и составляющие вектора статорных токов АД, б) фазные напряжения электрической сети и ток нагрузки.

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

Рис.№4. Функциональная схема регулятора скорости с векторным управлением и датчиком обратной связи.

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

Вариант №1: осуществление действия с помощью противовключения, при стремительном изменении очередности переключения транзисторных ключей .

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

Вариант №2: изменение направления вращения электрического поля с управлением периода скорости замедления и без него.

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

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

L298N Driver

The L298N is a dual H-Bridge motor driver which allows speed and direction control of two DC motors at the same time. The module can drive DC motors that have voltages between 5 and 35V, with a peak current up to 2A.

Let’s take a closer look at the pinout of L298N module and explain how it works. The module has two screw terminal blocks for the motor A and B, and another screw terminal block for the Ground pin, the VCC for motor and a 5V pin which can either be an input or output.

This depends on the voltage used at the motors VCC. The module have an onboard 5V regulator which is either enabled or disabled using a jumper. If the motor supply voltage is up to 12V we can enable the 5V regulator and the 5V pin can be used as output, for example for powering our Arduino board. But if the motor voltage is greater than 12V we must disconnect the jumper because those voltages will cause damage to the onboard 5V regulator. In this case the 5V pin will be used as input as we need connect it to a 5V power supply in order the IC to work properly.

We can note here that this IC makes a voltage drop of about 2V. So for example, if we use a 12V power supply, the voltage at motors terminals will be about 10V, which means that we won’t be able to get the maximum speed out of our 12V DC motor.

Next are the logic control inputs. The Enable A and Enable B pins are used for enabling and controlling the speed of the motor. If a jumper is present on this pin, the motor will be enabled and work at maximum speed, and if we remove the jumper we can connect a PWM input to this pin and in that way control the speed of the motor. If we connect this pin to a Ground the motor will be disabled.

Next, the Input 1 and Input 2 pins are used for controlling the rotation direction of the motor A, and the inputs 3 and 4 for the motor B. Using these pins we actually control the switches of the H-Bridge inside the L298N IC. If input 1 is LOW and input 2 is HIGH the motor will move forward, and vice versa, if input 1 is HIGH and input 2 is LOW the motor will move backward. In case both inputs are same, either LOW or HIGH the motor will stop. The same applies for the inputs 3 and 4 and the motor B.

See AlsoArduino Brushless Motor Control Tutorial | ESC | BLDC

Реверс двигателя постоянного тока схемы.

В статье «Регуляторы оборотов электродвигателей » речь шла о регулировке оборотов коллекторных двигателей электроинструментов. Нередко возникает и другая задача: реверс двигателя постоянного тока, т.е. требуется обеспечить его вращение в одну и другую стороны. Это может понадобиться, например, для привода ворот в гараже или коттедже, в различных моделях и пр. Проще всего такая задача с реверсом решается с помощью мостовой схемы, которая в общем виде представлена на рис.1 . Схема реверса состоит из четырех ключей, двигателя и источника питания. Когда все ключи разомкнуты ( рис.1а ), ток через двигатель не течет. При коммутации первого и четвертого ключа ток через двигатель Iд течет слева направо ( рис.1б ), и двигатель вращается в одном направлении. А при коммутации второго и третьего ключей — течет справа налево ( рис.1в ), и двигатель вращается в обратном направлении. Понятно, что руками коммутировать для реверса четыре переключателя неудобно, поэтому вместо ключей используем транзисторы ( рис.2 ). Транзисторы могут быть разной проводимости, полевыми или биполярными. Работают они в ключевом режиме. Обратно включенные диоды VD1. VD4 защищают транзисторы от выхода из строя, так как в момент выключения электродвигателя возникает достаточно большая ЭДС самоиндукции. Силовая часть устройства реверса на биполярных транзисторах приведена на рис.3 . Она состоит из четырех силовых и двух управляющих транзисторов; резисторов, ограничивающих базовые токи; шунтирующих диодов и гальванической развязки в виде двух оптопар. Питание моста происходит от блока питания, подающего постоянное напряжение +50 В относительно земли. В cостоянии покоя на оба канала (А и Б) подается 0 В. Все транзисторы закрыты, на концах обмоток потенциал 0 В. Вал двигателя не вращается. Для вращения двигателя в одну сторону на канал А подается постоянное напряжение +5 В или ШИМ-сигнал, на канал Б — 0 В. Открывается оптрон VU1, следом управляющий VТ5; при этом VТ6 закрыт. Через резистор R2 протекает ток, открывающий силовые VТ1 и VТ4, а VТ2 и VТЗ закрыты. Таким образом, на конце обмотки Я1 потенциал составляет +50 В, на конце обмотки Я2 — 0 В. Вал двигателя вращается (например, по часовой стрелке). Чтобы включить реверс двигателя, на канал Б подается напряжение +5 В (ШИМ-сигнал), на канал А — 0 В. Управляющий VТ6 открыт, VТ5 — закрыт. Через резистор R4 в цепи коллектора VТ6 протекает ток, открывающий VТ2 и VТ3, а VТ1 и VТ4 закрыты. На конце обмотки Я1 потенциал составляет 0 В, на конце обмотки Я2 — +50 В. Вал двигателя вращается против часовой стрелки. В случае подачи полoжительного напряжения на оба канала (А и Б) произойдет короткое замыкание, поэтому такой режим предотвращается управляющей частью устройства. Реверс двигателя постоянного тока можно выполнить и на МОП-транзисторах ( рис.4 ). На входе схемы реверса последовательно установлены два инвертора так, что выход одного одновременно является входом другого. При этом сигнал управления (высокий или низкий логический уровень) на входе DD1.1 инвертируется и подается на вход DD1.2. Выходы инверторов управляют полевыми транзисторами. При высоком уровне на входе, на выходе DD1.1 — низкий уровень, а на выходе DD1.2. — высокий. Благодаря этому VТ2 и VТЗ открыты и пропускают ток от отрицательного к положительному полюсу источника питания. Двигатель М1 вращается против часовой стрелки. Если на вход схемы реверса подать низкий уровень, на выходе DD1.1 появится высокий уровень и откроются VT1 и VТ4, замыкая другую диагональ моста. Теперь ток потечет в другую сторону, и двигатель изменит направление вращения. Для управления устройством для реверса необходим логический сигнал МОП-уровня (0/+12 В).

Устройство для реверса испытывалось с электродвигателем автомобильного вентилятора. Мощные МОП-транзисторы (для КП74ЗБ напряжение сток-затвор составляет 80 В. максимальный ток стока — 4,9 А) обеспечивают запас по мощности и по напряжению. Сопротивление открытого канала составляет 0,3.. .0,5 Ом. Для повышения эффективности VT1. . .VТ4 устанавливаются на теплоотводы. Напряжение питания зависит от типа применяемого электродвигателя М1. Если его напряжение питания превышает 15 В, следует предусмотреть в схеме дополнительный стабилизатор для питания микросхемы DD1. Вместо К561ЛА7 можно применить другую микросхему серии 561, если ее элементы обеспечивают инвертирование сигнала (К561ЛЕ5, К561ЛН2). Другая схема управления реверсом, построенная на мощных комплементарных полевых транзисторах, показана на рис.5 .

Назначение элементов и контактов на плате драйвера L298N

Посмотрим внимательнее на модуль и разберемся с его контактами.

Логика микросхемы L298N питается напряжением 5 Вольт. Для этого на модуле предусмотрен стабилизатор напряжения 78M05. На вход этого стабилизатора можно подавать напряжение до 35 В, а на выходе всегда получается 5 В. Рабочий ток у 78M05 небольшой — до 500 мА. Однако, при желании, от него можно питать и саму плату Ардуино Уно, к которой мы будем подключать драйвер.

Тройная клемма снизу отвечает за питание модуля. Самый левый контакт — питание моторов. Сюда можно подавать до 35 В. Средний контакт — земля, которая должна быть общей для модуля и контроллера. Правый контакт имеет двоякую функцию. Если на модуле стоит перемычка питания стабилизатора, то на этом контакте будет +5В и к нему можно ничего не подключать, либо питать от него контроллер. Но если перемычку убрать, то к этому контакту нужно будет непременно подключить +5В от контроллера, чтобы питать драйвер. В нашем примере мы будем ориентироваться именно на вариант без перемычки.

Две другие винтовые клеммы (OUT1/2 и OUT 3/4) служат для подключения моторов. Надо отметить, что моторы постоянного тока неполярные, но от того на какой контакт мотора подается плюс, а на какой минус, зависит направление их вращения.

Наконец, осталось разобраться с контактами управления. Их по три штуки на каждый мотор. Контакты ENA и ENB позволяют управлять моторами с помощью ШИМ сигнала. Если ENA и ENB подключить строго к +5 В, то моторы будут всегда вращаться с максимальной возможной скоростью. Именно для этого режима на модуле предусмотрены две перемычки рядом с ENA и ENB.

С помощью контактов IN1,IN2,IN3,IN4 задаётся режим работы моторов. Таблица режимов для двигателя A имеет вид:

Режим IN1 IN2
Вращение в одну сторону 1
Вращение в обратную сторону 1
Блокировка мотора 1 1
Отключение мотора

Тут следует пояснить последние два режима. Если нам необходимо резко остановить мотор, то выбираем режим блокировки. Для плавной остановки — выбираем «отключение мотора»

L298N, Arduino и двигатель постоянного тока

Данный модуль дает возможность управлять одним или двумя двигателями постоянного тока. Для начала, подключите двигатели к пинам A и B на контроллере L298N.

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

После этого подключите источник питания. Плюс — к четвертому пину на L298N, минус (GND) — к 5 пину. Если ваш источник питания до 12 вольт, коннектор, отмеченный 3 на рисунке выше, можно оставить. При этом будет возможность использовать 5 вольтовый пин 6 с модуля.

Данный пин можно использовать для питания Arduino. При этом не забудьте подключить пин GND с микроконтроллера к 5 пину на L298N для замыкания цепи. Теперь вам понадобится 6 цифровых пинов на Arduino. Причем некоторые пины должны поддерживать ШИМ-модуляцию.

ШИМ-пины обозначены знаком “~” рядом с порядковым номером.

Теперь подключите цифровые пины Arduino к драйверу. В нашем примере два двигателя постоянного тока, так что цифровые пины D9, D8, D7 и D6 будут подключены к пинам IN1, IN2, IN3 и IN4 соответственно. После этого подключите пин D10 к пину 7 на L298N (предварительно убрав коннектор) и D5 к пину 12 (опять таки, убрав коннектор).

Направление вращения ротора двигателя управляется сигналами HIGH или LOW на каждый привод (или канал). Например, для первого мотора, HIGH на IN1 и LOW на IN2 обеспечит вращение в одном направлении, а LOW и HIGH заставит вращаться в противоположную сторону.

При этом двигатели не будут вращаться, пока не будет сигнала HIGH на пине 7 для первого двигателя или на 12 пине для второго. Остановить их вращение можно подачей сигнала LOW на те же указанные выше пины. Для управления скоростью вращения используется ШИМ-сигнал.

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

// подключите пины контроллера к цифровым пинам Arduino

// первый двигатель

int enA = 10;

int in1 = 9;

int in2 = 8;

// второй двигатель

int enB = 5;

int in3 = 7;

int in4 = 6;

void setup()

{

// инициализируем все пины для управления двигателями как outputs

pinMode(enA, OUTPUT);

pinMode(enB, OUTPUT);

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

}

void demoOne()

{

// эта функция обеспечит вращение двигателей в двух направлениях на установленной скорости

// запуск двигателя A

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

// устанавливаем скорость 200 из доступного диапазона 0~255

analogWrite(enA, 200);

// запуск двигателя B

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

// устанавливаем скорость 200 из доступного диапазона 0~255

analogWrite(enB, 200);

delay(2000);

// меняем направление вращения двигателей

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

delay(2000);

// выключаем двигатели

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

}

void demoTwo()

{

// эта функция обеспечивает работу двигателей во всем диапазоне возможных скоростей

// обратите внимание, что максимальная скорость определяется самим двигателем и напряжением питания

// ШИМ-значения генерируются функцией analogWrite()

// и зависят от вашей платы управления

// запускают двигатели

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

// ускорение от нуля до максимального значения

for (int i = 0; i < 256; i++)

{

analogWrite(enA, i);

analogWrite(enB, i);

delay(20);

}

// торможение от максимального значения к минимальному

for (int i = 255; i >= 0; —i)

{

analogWrite(enA, i);

analogWrite(enB, i);

delay(20);

}

// теперь отключаем моторы

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

}

void loop()

{

demoOne();

delay(1000);

demoTwo();

delay(1000);

}

Arduino Code

Here’s the Arduino code:

Description: So first we need to define the pins and some variables needed for the program. In the setup section we need to set the pin modes and the initial rotation direction of the motor. In the loop section we start by reading the potentiometer value and then map the value that we get from it which is from 0 to 1023, to a value from 0 to 255 for the PWM signal, or that’s 0 to 100% duty cycle of the PWM signal. Then using the analogWrite() function we send the PWM signal to the Enable pin of the L298N board, which actually drives the motor.

Next, we check whether we have pressed the button, and if that’s true, we will change the rotation direction of the motor by setting the Input 1 and Input 2 states inversely. The push button will work as toggle button and each time we press it, it will change the rotation direction of the motor.

See AlsoHow Servo Motor Works & How To Control Servos using Arduino

Микросхема L298N

Motor Shield разработан на базе микросхемы LN. Их необходимо устанавливать в обвязку микросхемы дополнительно.
Разъём для подачи питания и работа стабилизатора.
LOW Включаем вращение двигателя 1 в одну сторону.
Направление вращения будет задаваться по-прежнему, а вот для остановки в данном варианте, состояние выводов будет уже играть роль. Однако, связка «Ардуино — шаговый двигатель» требует дополнительный элемент — драйвер.
Для изменения скорости вращения щёточных моторов на эти контакты подаётся ШИМ-сигнал.
Для изменения скорости вращения щёточных моторов на эти контакты подаётся ШИМ-сигнал.
Аналогично первому скрипту, программу можно сохранить в тот же файл или в новый отдельно созданный.
Шаговый двигатель БЕЗ ДРАЙВЕРА!

L298N Methods

Method Params Description
setSpeed unsigned short pwmVal Set the PWM value used to determine the motor speed. Value from 0 to 255.
getSpeed none Get the speed previously set.
forward none Run motor in forward direction (depends on wiring).
forwardFor unsigned long delay Run motor in forward direction for a time specified by delay.
forwardFor unsigned long delay, CallBackFunction callback Run motor in forward direction for a time specified by delay, after moving execute a callback function.
backward none Run motor in backward direction (depends on wiring).
backwardFor unsigned long delay Run motor in backward direction for a time specified by delay.
backwardFor unsigned long delay, CallBackFunction callback Run motor in backward direction for a time specified by delay, after moving execute a callback function.
run uint8_t direction Move motor. To specify the direction use one of L298N::FORWARD, L298N::BACKWARD or L298N::STOP.
runFor unsigned long delay, L298N::Direction direction Like forwardFor or backwardFor but more flexible. To specify the direction use one of L298N::FORWARD, L298N::BACKWARD or L298N::STOP.
runFor unsigned long delay, L298N::Direction direction, CallBackFunction callback Like previous with the ability to execute a callback function.
stop none Stop the motor.
reset none Used to re-enable motor movements after the use of runFor, forwardFor or backwardFor methods.
isMoving none Returns a boolean indicating if motor is running or not.
getDirection none Returns the current L298N::Direction.
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

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

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

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

Adblock
detector