Arskama.ru

Автомобильный журнал
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шаговый двигатель 12 вольт схема

H-мост на 2 канала (Troyka-модуль): инструкция, схемы и примеры использования

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

Примеры работы для Arduino и XOD

В качестве мозга для управления моторами рассмотрим платформу из серии Arduino, например Arduino Uno.

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

Выберите один из вариантов коммуникации драйвера с внешним микроконтроллером:

Управление коллекторными моторами

Код для Arduino

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

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

Управление шаговым двигателем

Для лёгкого и быстрого управления шаговым двигателем мы написали библиотеку AmperkaStepper, которая скрывает в себе все тонкости работы с мотором и предоставляет удобные методы.

Код для Arduino

Пример работы для Espruino

В качестве мозга для управления моторами рассмотрим платформу из серии Espruino, например, Iskra JS.

Подключение к Espruino

Выберите один из вариантов коммуникации драйвера с внешним микроконтроллером:

Управление коллекторными двигателями

Код для Espruino IDE

Покрутим каждый мотор в одну, а затем другую сторону. Прошейте платформу Espruino скриптом, приведённым ниже.

Управление шаговым двигателем

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

Код для Espruino

Пример работы для Raspberry Pi

В качестве мозга для управления моторами рассмотрим одноплатные компьютеры Raspberry Pi, например, Raspberry Pi 4.

Подключение к Raspberry Pi

В компьютере Raspberry Pi присутствует только два канала с ШИМ-сигналом, и то которые используются для аналогового звукового выхода. В итоге для регулировки скоростью моторов придется жертвовать звуком. Используйте плату расширения Troyka Cap, которая добавит малине 9 пинов с поддержкой ШИМ.

Подключите драйвер к компьютеру Raspberry Pi через Troyka Cap. Для коммуникации используйте трёхпроводные шлейфы «мама-мама», который идут в комплекте с модулем.

Программная настройка

Управление коллекторными двигателями

Код для Raspberry Pi

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

Подключение силового контура

H-мост может управлять двумя отдельными коллекторными моторами или одним биполярным шаговым двигателем.

Подключение коллекторных моторов

Значение входного силового напряжения зависит от номинального напряжения подключаемых моторов и ограничено диапазоном от 3,3 до 12 вольт.

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

Значение входного силового напряжения зависит от номинального напряжения шагового двигателя и ограничено диапазоном от 3,3 до 12 вольт.

Элементы платы

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

Сердце и мускулы платы — микросхема двухканального H-моста TB6612FNG, которая позволяет управлять двумя коллекторными моторами или одним биполярным шаговым двигателем с помощью внешнего микроконтроллера.

Термин «H-мост» появился благодаря графическому изображению схемы, напоминающему букву «H». Рассмотрим подробнее принцип работы H-моста.

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

S1S2S3S4Результат
11Мотор крутится вправо
11Мотор крутится влево
Свободное вращение мотора
11Мотор тормозит
11Мотор тормозит
11Короткое замыкание источника питания
11Короткое замыкание источника питания

Ключи меняем на MOSFET-транзисторы, а для плавной регулировки скорости вращения вала мотора используем ШИМ-сигнал.

Питание

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

Если отсутствует хотя бы один из контуров питания — драйвер H-мост работать не будет.

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

Нагрузка

Нагрузка разделена на два независимых канала. Первый канал на плате обозначен шёлком M1 , а второй канал — M2 . К каждому каналу можно подключить по одному коллекторному мотору или объединить каналы для подключения биполярного шагового двигателя.

Обозначения «+» и «−» показывают воображаемые начало и конец обмотки. Если подключить два коллекторных двигателя, чтобы их одноимённые контакты щёточного узла соответствовали одному и тому же обозначению на плате, то при подаче на H-Bridge одинаковых управляющих импульсов, моторы будут вращаться в одну и ту же сторону.

Шаговый мотор 28BYJ-48 (5V) + драйвер SBT0811 (на микросхеме ULN2003) + Arduino NANO.

Управление шаговым двигателем с помощью платы Arduino.

В этой и нескольких следующих статьях я планирую продемонстрировать, как управлять различными видами моторов.
Начнём мы своё изучение с шагового двигателя Step motor 28BYJ-48 (5V).


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

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

Получается 4 фазы, поэтому такой электромагнитный прибор называют шаговый 4-х фазный двигатель. Каждый из контактов четырех фаз соединен с красным проводом. Двигатель является к униполярным (однополярным) благодаря схеме соединения фаз. К красному проводу подключается питание. Перемещение вала на шаг происходит под действием импульса тока.
28BYJ-48-5V содержит пластмассовый понижающий редуктор с передаточным числом 64:1.

Основные характеристики мотора:

/*У данного мотора 4 провода (син., розов., жёлт., оранж.), которые мы подключаем к контактам ардуино. Номера контактов
указываем в массиве MotorPins, в порядке, соответствующем перечислению цветов, в нашем случае с D9 по D12*/

/*Целочисленная константа, показывающая количество фаз подачи сигналов для одного шага мотора. Для полушагового режима — 8
Для шагового — 4*/
const int OneTurnPhasesCount = 8;

/*Целочисленная константа, показывающая задержку в миллисекундах между фазами подачи сигналов мотору. Для полушагового режима — 2,
для шагового — 3*/
const int TurnPhasesDelay = 2;

/*Целочисленная константа, показывающая задержку в миллисекундах между переходами к вращению в другую сторону*/
const int Turn360Delay = 100;

/*Целочисленная константа, показывающая количество шагов, которые должен выполнить двигатель за полный оборот на 360 град.
Внутренний вал мотора совершает 64 шага за полный оборот, с учётом передаточного числа редуктора 64:1, то мотор должен совершать 64×64=4096 шагов*/
const int CountStepsOneDirection = 4096;

/*Целочисленная переменная, показывающая количество шагов, которые выполнил двигатель в одном направлении*/
int CurrentStepOneDirection = 0;

/*Целочисленная переменная, показывающая номер текущей фазы*/
int CurrentPhase = 0;

/*Целочисленная переменная, показывающая направление вращения мотора: 1 — по часовой стрелке, -1 — против*/
int TurnDirection = 1;

// Для полушагового режима

/*Массив, в котором указано какие сигналы подавать на контакты мотора в той или иной фазе. [фаза][контакт]. Контакты даются в порядке, перечисленном в массиве MotorPins — оранж., жёлт., розов., син. 0 — нет сигнала, 1 — есть сигнал*/
bool MotorTurnPhases[8][4] = <
< 1, 0, 0, 0>,
< 1, 1, 0, 0>,
< 0, 1, 0, 0>,
< 0, 1, 1, 0>,
< 0, 0, 1, 0>,
< 0, 0, 1, 1>,
< 0, 0, 0, 1>,
< 1, 0, 0, 1>>;

/*Функция CheckLastPhase проверяет не вышел ли номер текущей фазы за пределы размера массива MotorTurnPhases, который определяется переменной OneTurnPhasesCount и не пора ли поменять направление вращения*/
void CheckLastPhase()
<
if (CurrentPhase >= OneTurnPhasesCount)
<
CurrentPhase = 0;
>
if (CurrentPhase //Увеличиваем шаг на 1
CurrentStepOneDirection++;

//проверяем не совершил ли мотор полный оборот
if(CurrentStepOneDirection == CountStepsOneDirection)
<
CurrentStepOneDirection = 0;
TurnDirection *= -1;
delay(Turn360Delay);
>
>

/*Функция, в которой происходит инициализация всех переменных программы*/
void setup()
<
/*перебираем в цикле все контакты массива MotorPins и присваиваем им значение выходных, то есть дающих напряжение в 5В*/
for (int i = 0; i /*Функция-цикл в которой задаётся поведение программы*/
void loop()
<
//проверяем индекс текущей фазы
CheckLastPhase();

/*подаём напряжения на контакты мотора соответственно фазе, заданной в массиве MotorTurnPhases*/
for (int i = 0; i //переходим к другой фазе
CurrentPhase += TurnDirection;

// Пауза между фазами
delay(TurnPhasesDelay);
>

Если мы имеем дело с другими, моторами, требующими напряжение более 5В, то нужен дополнительный драйвер. Обычно, вместе с мотором 28BYJ-48 поставляется модуль SBT0811, содержащий микросхему ULN2003.

Он позволяет управлять мощными нагрузками с током до 500 мА и напряжением до 12 В на канал с помощью слабого тока микроконтроллера, такого как Arduino.
Плата содержит 4 контакта IN1-IN4, которые следует соединить проводами с контактами платы Arduino. От них будут поступать управляющие сигналы с микроконтроллера.
Белый разъём на плате — для подключения мотора.
Два контакта: «- + 5-12V» — это выводы для подключения внешнего источника питания от 5 до 12В. В нашем случае, источником питания будет сама плата Arduino NANO, так как наш мотор питается от 5V. Поэтому эти два контакта драйвера мы подключаем к 5V и GND разъёмам на плате Arduino.
Четыре светодиода на плате — это индикаторы шага, показывают на какой из четырёх проводов мотора подаётся напряжение.

Схема соединения такая.

Для того, чтобы её собрать воспользуемся такими, заблаговременно подготовленными проводочками, у которых на одном конце разъём, на другом штырёк.

Для удобства их присоединения к плате Arduino UNO, воспользуемся пластиковым элементом, напечатанным на 3D принтере, к которому приклеены два ряда контактов попарно спаянные с обратной стороны. В один ряд втыкается плата Arduino, в другой провода.

Вот так выглядит наша схема в сборке.

Подключаем питание к плате Arduino с предыдущей залитой программой. Устройство должно работать точно таким же образом, как и в предыдущем примере, с прямым подключением мотора к Arduino.
Если мы имеем дело с, скажем, 9ти вольтовым мотором, то у нас появляется в схеме блок питания на 9V. Тогда, «+» контакт на драйвере, для внешнего источника питания мы соединяем не с платой Arduino, а с проводом питания от блока, по такой схеме:

Добавляем кнопку и потенциометр (переменный резистор) в схему.

Теперь усложним схему и внесём в неё кнопку, которая будет задавать направление вращения мотора и потенциометр, задающий скорость вращения.

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

Всё подключаем согласно схеме.

Вот что получилось.

Пишем код программы.

/*У данного мотора 4 провода (оранж., жёлт., розов., син.), которые мы подключаем к контактам ардуино. Номера контактов указываем в массиве MotorPins, в порядке, соответствующем перечислению цветов, в нашем случае с D12 по D9*/
int MotorPins[4] = <9, 10, 11, 12>;

/*Контакты от двух положений кнопки — цифровые*/
const int ButtonOn1 = 5;
const int ButtonOn2 = 4;

/*Контакт регистрирующий значение потенциометра — аналоговый*/
const int PotenciomData = 3;

/*Целочисленная константа, показывающая количество фаз подачи сигналов для одного шага мотора. Для полушагового режима — 8
Для шагового — 4*/
const int OneTurnPhasesCount = 8;

/*Целочисленная переменная, показывающая задержку в миллисекундах между фазами подачи сигналов мотору. Для полушагового режима — 2,
для шагового — 3*/
int TurnPhasesDelay = 2;

/*Целочисленная переменная, показывающая номер текущей фазы*/
int CurrentPhase = 0;

//состояние кнопки включено-выключено
int ButtonState = 0;

/*Целочисленная переменная, показывающая направление вращения мотора: 1 — по часовой стрелке, 0 — против*/
int TurnDirection = 1;

/*целочисленная константа, показывающая временную задержку между считыванием состояния кнопки и потенциометра*/
const int CheckButtonDelay = 15;

/*Целочисленная переменная показывающая, сколько прошло времени и не пора ли считывать состояние кнопки*/
int CurrentButtonDelay = 0;

//Для полушагового режима

/*Массив, в котором указано какие сигналы подавать на контакты мотора в той или иной фазе. [фаза][контакт]. Контакты даются в порядке, перечисленном в массиве MotorPins — оранж., жёлт., розов., син. 0 — нет сигнала, 1 — есть сигнал*/
bool MotorTurnPhases[8][4] = <
< 1, 1, 0, 0>,
< 0, 1, 0, 0>,
< 0, 1, 1, 0>,
< 0, 0, 1, 0>,
< 0, 0, 1, 1>,
< 0, 0, 0, 1>,
< 1, 0, 0, 1>,
< 1, 0, 0, 0>>;

/*Функция, в которой происходит инициализация всех переменных программы*/
void setup()
<
/*перебираем в цикле все контакты массива MotorPins и присваиваем им значение выходных, то есть дающих напряжение в 5В*/
for (int i = 0; i /*Функция-цикл в которой задаётся поведение программы*/
void loop()
<
if(CurrentButtonDelay >= CheckButtonDelay)
<
CheckButtonState();
CurrentButtonDelay = 0;
>

if(ButtonState != 0)
<
//проверяем индекс текущей фазы
CheckLastPhase();

/*подаём напряжения на контакты мотора соответственно фазе, заданной в массиве MotorTurnPhases*/
for (int i = 0; i //переходим к другой фазе
CurrentPhase += TurnDirection;

// Пауза между фазами
delay(TurnPhasesDelay);
>

/*Функция CheckLastPhase проверяет не вышел ли номер текущей фазы за пределы размера массива MotorTurnPhases, который определяется переменной OneTurnPhasesCount*/
void CheckLastPhase()
<
if (CurrentPhase >= OneTurnPhasesCount)
<
CurrentPhase = 0;
>
if (CurrentPhase /*функция, в которой проверяется текущее состояние кнопки*/
void CheckButtonState()
<
int CurrentButtonState = 0, CurrentButtonDirection = 0, CurrentTurnPhasesDelay = 0;

//считываем данные с положения кнопки I
bool readbuttonparam = digitalRead(ButtonOn1);

if(readbuttonparam)
<
CurrentButtonState = 1;
CurrentButtonDirection = 1;
>

//считываем данные с положения кнопки II
readbuttonparam = digitalRead(ButtonOn2);

if(readbuttonparam)
<
CurrentButtonState = 1;
CurrentButtonDirection = -1;
>

/*Проверяем, изменилось ли состояние кнопки по сравнению с предыдущим, и если изменилось, то записываем изменения в глобальные переменные*/
if(ButtonState != CurrentButtonState)
<
ButtonState = CurrentButtonState;
>

if(TurnDirection != CurrentButtonDirection)
<
TurnDirection = CurrentButtonDirection;
>

CurrentTurnPhasesDelay = map(analogRead(PotenciomData), 0, 1023, 2, CheckButtonDelay);

if(TurnPhasesDelay != CurrentTurnPhasesDelay)
<
TurnPhasesDelay = CurrentTurnPhasesDelay;
>
>

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

Затем подсоединяем плату Arduino, драйвер мотора, сам мотор, кнопку и потенциометр на свои места. Проверяем так ли работает наш прибор, как и в предыдущем случае и радуемся, смотря на чудеса современной техники.

Шаговый мотор 4-х фазный 28BYJ-48 12В 5.625° 0.32A с редуктором

  • Описание товара

    Шаговый мотор 4-х фазный 28BYJ-48 с редуктором

    • Напряжение питания: 12 вольт (постоянное)
    • Тип мотора: униполярный
    • Угол шага мотора:
      • полушаговый режим — 5.625° (64 шага)
      • полношаговый режим — 11.25° (32 шага)
    • Расположение редуктора: параллельное
    • Соотношение редуктора: 1/64
    • Полный оборот вала редуктора: 4096 шагов (64 полушага двигателя Х передаточное число 64)
    • Удерживающий момент: 0.33 кг/см
    • Частота: 100 кГц
    • Число фаз: 4
    • Ток фазы: 320 мА
    • Сопротивление изоляции: более 10 МОм / 1мин., 500В
    • Выводов: 5
    • Шум: менее 35 дБл
    • Размеры (без вала): 28 х 28 х 19 мм
    • Вес: 36 гр

    Шаговый электромотор 28BYJ-48 представляет из себя бесщёточный (бесколлекторный) синхронный двигатель, на вал которого установлен редуктор. В конструкции мотора имеется несколько индуктивных обмоток, расположенных вокруг магнитного ротора. Управление вращением вала осуществляется поочерёдной последовательной подачей тока на обмотки мотора, как на одну, так и одновременно на несколько. Благодаря этому, ротор способен поворачиваться на определённый угол относительно оси вала и фиксироваться в новом положении. Каждый минимально возможный поворот ротора с последующим его удержанием называется «шагом» двигателя.

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

    Принцип управления шаговым мотором достаточно прост и понятен. Командное устройство (например, микропроцессорная плата Arduino) подаёт логические сигналы на плату-контроллер, часто именуемую в обиходе драйвером шагового двигателя. К соответствующим контактам драйвера подключены выводы фаз шагового мотора. Полученные контроллером сигналы преобразуются в импульсы рабочего тока со значениями от нуля до максимального, и направляются на определённые индуктивные обмотки мотора, заставляя вал вращаться. Для данной модели подойдут драйверы на базе микросхемы ULN2003 (в DIP исполнении или в SOIC исполнении).

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

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

    Полношаговый и полушаговый режимы

    28BYJ-48 мотор шаговый способен работать в режиме полного шага — 32 шага на полный оборот вала мотора вокруг своей оси, каждый шаг составляет 11.25°. И в полушаговом режиме — 64 шага на полный оборот вала, каждый шаг составляет 5.625°.

    В режиме полного шага, ток подаётся на две из четырёх обмоток при каждом шаге.

    Вывод мотора1234
    4 — Оранжевый11
    3 — Жёлтый11
    2 — Розовый11
    1 — Синий11

    В режиме полушага, ток подаётся чередованием — сначала на одну обмотку, затем на две.

    Вывод мотора12345678
    4 — Оранжевый111
    3 — Жёлтый111
    2 — Розовый111
    1 — Синий111

    Редуктор

    Редуктор, установленный на шаговом моторе 28BJY-48, уменьшает угол поворота вала мотора в пропорции 1:64. Так, для режима полного шага, угол поворота вала редуктора составит 11.25°/64 = 0.17578125°. Полный оборот вала редуктора на 360° будет достигнут за 2048 шагов. Для режима полушага расчеты делаются аналогичные: угол поворота вала редуктора составит 5.625°/64 = 0.087890625°. Полный оборот вала редуктора на 360° будет достигнут за 4096 шагов.

    Бытует мнение, что указанное производителем соотношение 1:64 не верно, и более точным соотношением является число 1:63,68395. По вышеуказанному примеру расчётов несложно получить значения углов шага для обоих режимов (полный оборот вала редуктора в режиме полного шага составить 2038 шагов, в режиме полушага — 4076 шагов).

    Удерживающий момент

    Моментом удержания называют момент, который необходимо приложить к валу редуктора для «проворачивания» вала мотора в режиме удержания при подключенном номинальном токе фазы. Простыми словами, если значение удерживающего момента равно 10 кг/см, и к валу редуктора прикреплён рычаг 1 см (1 кг с рычагом 10 см или 0.1 кг с рычагом 100 см), то, при увеличении нагрузки на рычаг, валы редуктора и двигателя провернутся. В случае превышения номинального тока двигатель начнёт греться. При снижении тока от номинала, снизится и сила сопротивления проворачиванию вала, в следствии чего мотор начнёт пропускать шаги.

    L298n Схема Подключения

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


    Могут использоваться в двух режимах: 1.

    Так как транзисторы в схеме моста имеют разный тип проводимости, то при таком входном сигнале транзисторы Т1 и Т4 останутся в закрытом состоянии, в то время, как через транзисторы Т2 и Т3 потечёт ток. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию.
    CCU+L298N

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

    Подача логической единицы на эти контакты разрешает вращение двигателей, а логический ноль — запрещает.

    Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока. В рамках данной теми рассмотрим также подключение драйвера LN к плате Arduino.

    Теперь испробуем простую программу, написанную на Python, которая поможет понять принцип управления электродвигателем постоянного тока.

    В таком случае на разъём подаётся только питание для двигателей Vss , контакт Vs остаётся не подключенным, а на плате устанавливается перемычка питания от стабилизатора, который ограничит питающее моторы напряжение до приемлемых 5V.

    Шаговый двигатель. Micro Step Driver. PLC Omron. Подключение,программирование. (Часть 1)

    Микросхема L298N

    Motor Shield разработан на базе микросхемы LN. Их необходимо устанавливать в обвязку микросхемы дополнительно.

    Разъём для подачи питания и работа стабилизатора.

    LOW Включаем вращение двигателя 1 в одну сторону.

    Направление вращения будет задаваться по-прежнему, а вот для остановки в данном варианте, состояние выводов будет уже играть роль. Однако, связка «Ардуино — шаговый двигатель» требует дополнительный элемент — драйвер.

    Для изменения скорости вращения щёточных моторов на эти контакты подаётся ШИМ-сигнал.

    Для изменения скорости вращения щёточных моторов на эти контакты подаётся ШИМ-сигнал.

    Аналогично первому скрипту, программу можно сохранить в тот же файл или в новый отдельно созданный.
    Шаговый двигатель БЕЗ ДРАЙВЕРА!

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

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

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

    HIGH time. Мы использовали танковую платформу, учитывая что мотор крутит редуктор и гусеницы, то для его запуска требуется приличный ток.

    В приведенном ниже скетче два мотора будут вращаться в обе стороны с плавным нарастанием скорости. Схема соединения Напряжение питания двигателей ниже 12 вольт, значит джампер 3 установлен, джамперы 1 и 2 на контактах ENA и ENB сняты.

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

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


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

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

    HIGH ждем 5 секунд. Типы шаговых двигателей: биполярный, униполярный, с четырьмя обмотками.
    ШАГОВЫЙ ДВИГАТЕЛЬ ПРОСТОЙ ДРАЙВЕР ДЛЯ НЕГО

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

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

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

    При напряжении питания свыше 12V, без опаски подвеем нужное напряжение на данный вывод, но не забываем снять джампер. Иначе, при задании движения, например, по часовой стрелке, один из них будет вращаться в противоположном направлении. Управление может быть реализовано в активном или пассивном режимах.

    Подключение двигателя производится к винтовым клеммным зажимам — по паре для питания каждого моторчика. Активный режим. Потенциометр кОм.

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

    Позволяет управлять двумя моторами постоянного тока, либо одним шаговым двигателем. Ниже приведен более сложный и функциональный пример программы, которая будет взаимодействовать с пользователем и позволит интерактивно управлять двумя электродвигателями. Максимальное напряжение питания постоянным током 35 вольт. Заставим моторчик вращаться «вправо» 4 секунды, остановиться на 0.

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

    Важно чтобы в данном примере кода соблюдались отступы, об этом я уже писал раньше вот тут. Видео-демонстрация работы шагового двигателя: Заключение Надеюсь вы получили ответ на вопрос «что такое H-мост и как он работает», из экспериментов должно быть понятно как применять драйвер на микросхеме L и подключать к нему разные движки. В виду сложности подбора транзисторов и подключения их в схему Н-моста, гораздо проще использовать уже существующие драйвера, имеющие такую функцию. LOW Выходим из редактора и сохраняем файл.
    Шаговый Двигатель Без Драйвера — Stepper Motor Run Without Driver

    голоса
    Рейтинг статьи
    Читать еще:  Двигатель 1jz большой расход топлива
  • Ссылка на основную публикацию
    ВсеИнструменты
    Adblock
    detector