Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Arduino и двигатели||Arduino-diy.com

Одно из самых интересных в хобби-электронике – это использование двигателей для «оживления» ваших проектов.

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

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

Принцип работы двигателей

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

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

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

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

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

Основные узлы электродвигателя:

– Постоянный магнит (магниты), в случае, когда он установлен неподвижно, называется статором;

– внутри статора есть катушка, которая установлена на оси и вращается, называется ротором.

Двигатели постоянного тока

Двигатели постоянного тока (DC motor) во многом являются самыми простыми электродвигателями. Большинство «щеточных» двигателей работают одинаково. Есть ротор и статор. Есть магниты на статоре и катушка на роторе с магнитным полем, которое генерируется с помощью подачи на нее силы тока. Есть щетки внутри мотора, которые заставляют двигаться ротор.

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

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

Шаговые двигатели

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

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

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

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

Серводвигатели

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

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

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

Сигнал управления является цифровым ШИМ сигналом с частотой 50 Гц. Каждые 20 миллисекунд подается цифровой импульс управления. Продолжительность (ширина) импульса находится в диапазоне от 1.0 миллисекунды до 2.0 миллисекунд. 1.5 – середина диапазона. Большая ширина импульса может использоваться для дополнительного хода, который выходит за нормальный рабочий диапазон. ШИМ (широтно-импульсная модуляция) сигнал иногда называют ШПМ (широтно-позиционная модуляция), хотя это не корректно.

Импульс шириной 1.5 миллисекунды обычно устанавливает серводвигатель в «нейтральное» положение или 90 градусов. Импульс шириной 1.25 миллисекунд может установить его в 0 градусов, а импульс 1.75 миллисекунды в 180 градусов. Физические ограничения и время для различных серводвигателей могут отличаться, но его нейтральное положение всегда соответствует 1.5 миллисекундам.

Вибрационные двигатели

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

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

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

Как выбрать двигатель для проекта

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

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

Дальше в статье приведена информация о том, как можно быстро «оживить» выбранный вами предварительно двигатель с использованием платы Arduino.

Использование шагового двигателя с Arduino

Стоит отметить, что «оживлять» свои проекты с помощью плат Arduino и оболочки Arduino IDE для их программирования очень легко из-за наличия большого количества уже готовых библиотек. Подключение шагового двигателя к плате Arduino отличается от подключения двигателя постоянного тока. Существует специальная библиотека и функция, встроенные в Arduino IDE. Более детально об этом вы можете почитать здесь.

После открытия Arduino IDE, перейдите в меню во вкладку

File -> Examples -> Stepper -> stepper_oneRevolution

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

Данный пример – отличное начало. Естественно, вы можете вносить свои коррективы в программу, подстраивая ее под свои задачи. Задержка указывается в миллисекундах, так что если вы не хотите выдерживать паузу между оборотами, можете выставить задержку delay(10). Или, для того, чтобы замедлить вращение можете изменить stepsPerRevolution и присвоить ему значение, например, (1000000).

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

Использование двигателя постоянного тока / вибрационного двигателя с Arduino

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

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

Использование серводвигателя с Arduino

Так же как и шаговые двигатели, для работы серводвигателей в оболочке Arduino IDE есть встроенная библиотека.

После открытия Arduino IDE, перейдите в меню во вкладку

File -> Examples -> Servo -> Knob

Данная программа обеспечивает управление серводвигателем, который подключен к 9-му ШИМ пину платы Arduino. Потенциометр, в свою очередь, подключен к аналоговому пину 0 и обеспечивает управление положением серводвигателя, посылая напряжение, пропорциональное сопротивлению на пин А0 платы Arduino. Скетч, который «залит» в плату Arduino, интерпретирует сигнал в импульсы, которые посылаются на серводвигатель. Двигатель обеспечивает поворот вала в соответствии с положением «крутилки» потенциометра.

Драйверы двигателя L298N, L293D и Arduino Motor Shield

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

Драйвер двигателя в проектах ардуино

Для чего нужен драйвер двигателя?

Как известно, плата ардуино имеет существенные ограничения по силе тока присоединенной к ней нагрузки. Для платы это 800 mA, а для каждого отдельного вывода – и того меньше, 40mA. Мы не можем подключить напрямую к Arduino Uno, Mega или Nano даже самый маленький двигатель постоянного тока. Любой из этих двигателей в момент запуска или остановки создаст пиковые броски тока,  превышающие этот предел.

Как же тогда подключить двигатель к ардуино? Есть несколько вариантов действий:

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

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

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

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

Микросхема или плата расширения Motor Shield

Motor Shield – плата расширения для Ардуино, которая обеспечивает работу двигателей постоянного тока и шаговых двигателей. Самыми популярными платами Motor Shield являются схемы на базе чипов L298N и L293D, которые могут управлять несколькими двигателями. На плате установлен комплект сквозных колодок Ардуино Rev3, позволяющие устанавливать другие платы расширения. Также на плате имеется возможность выбора источника напряжения – Motor Shield может питаться как от Ардуино, так и от внешнего источника. На плате имеется светодиод, который показывает, работает ли устройство. Все это делает использование драйвера очень простым и надежным – не нужно самим изобретать велосипеды и решать уже кем-то решенные проблемы. В этой статье мы будем говорить именно о шилдах.

Принцип действия H-моста

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

Схема моста изображена на рисунке. Q1…Q4 0 полевые, биполярные или  IGBT транзисторы. Последние используются в высоковольтных сетях. Биполярные транзисторы практически не используются, они могут присутствовать в маломощных схемах. Для больших токов берут полевые транзисторы с изолированным затвором. Ключи не должны быть замкнуты вместе одновременно, чтобы не произошло короткого замыкания источника. Диоды D1…D4 ограничительные, обычно используются диоды Шоттки.

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

Q1Q2Q3Q4Состояние
1001Поворот мотора вправо
0110Поворот мотора влево
0000Свободное вращение
0101Торможение
1010Торможение
1100Короткое замыкание
0011Короткое замыкание

 

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

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

Плата выглядит следующим образом:

Распиновка микросхемы L298N:

  • Vcc – используется для подключения внешнего питания;
  • 5В;
  • Земля GND;
  • IN1, IN2, IN3, IN4 – используется для плавного управления скоростью вращения мотора;
  • OUT1, OUT2 – используется для выхода с первого двигателя;
  • OUT3, OUT4 – используется для выхода со второго двигателя;
  • S1 – переключает питание схемы: от внешнего источника или от внутреннего преобразователя;
  • ENABLE A, B – требуются для раздельного управления каналами. Используются в двух режимах – активный, при котором каналами управляет микроконтроллер и имеется возможность изменения скорости вращения, и пассивный, в котором невозможно управлять скоростью двигателей (установлено максимальное значение).

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

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

L293D – является самой простой микросхемой для работы с двигателями. L293D обладает двумя H-моста, которые позволяют управлять двумя двигателями. Рабочее напряжение микросхемы – 36 В, рабочий ток достигает 600 мА. На двигатель L293D может подавать максимальный ток в 1,2 А.

В схеме имеется 16 выходов. Распиновка:

  • +V – питание на 5 В;
  • +Vmotor – напряжение питания для мотором до 36 В;
  • 0V – земля;
  • En1, En2 –включают и выключают H-мосты;
  • In1, In2 – управляют первым H-мостом;
  • Out1, Out2 – подключение первого H-моста;
  • In3, In4 – управляют вторым H-мостом;
  • Out3, Out4 – подключение второго H-моста.

Для подключения к микроконтроллеру Arduino Uno нужно соединить выходы In1 на L293D и 7 пин на Ардуино, In2 – 8, In3 – 2, In4 – 3, En1 – 6, En2 – 5, V – 5V, Vmotor – 5 V, 0V – GND. Пример подключения одного двигателя к Ардуино показан на рисунке.

Драйвер двигателя на микросхеме 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 будет разное состояние для двигателей. Возможные варианты для одного из моторов приведены в таблице.

IAIBСостояние мотора
00Остановка
10Двигается вперед
01Двигается назад
11Отключение

 

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

Сравнение модулей

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

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

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

Нужно присоединить источник питания. + подключается к пину 4 на плате L298N, минус (GND) – к 5 пину. Затем нужно соединить выходы с L298N и пины на Ардуино, причем некоторые из них должны поддерживать ШИМ-модуляцию. На плате Ардуино они обозначены ~. Выходы с L298N IN1, IN2, IN3 и IN4 подключить к D7, D6, D5 и D4 на Ардуино соответственно. Подключение всех остальных контактов представлено на схеме.

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

Для управления шаговым двигателем в Arduino IDE существует стандартная библиотека Stepper library. Чтобы проверить работоспособность собранной схемы, можно загрузить тестовый пример stepper_oneRevolution. При правильной сборке вал двигателя начнет вращаться.

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

GEEGROW.RU / Главная

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

Использование драйверов двигателей в проектах

Как известно, контроллер Arduino имеет существенные ограничения по силе тока присоединенной к ней нагрузки. Для платы это 800 mA, а для каждого отдельного вывода — и того меньше, 40mA. Мы не можем подключить напрямую к контроллеру даже самый маленький двигатель постоянного тока. Любой из этих двигателей в момент запуска или остановки создаст пиковые броски тока, превышающие этот предел.
Как же тогда подключить двигатель к Arduino, да так, чтобы можно было управлять направлением и скоростью вращения двигателя?
В этом нам поможет специальная схема подключения, называемая H-мостом, с помощью которой мы можем изменять направление и скорость вращения двигателя. Но собирать ее не нужно, так как уже существуют модули с использованием Н-моста, которые могут управлять сразу двумя двигателями постоянного тока.

Принцип действия H-моста

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

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

Какие бывают драйверы двигателя?

На данный момент распространены три разновидности драйверов:

1. На микросхемах 9110S.
Двухканальный драйвер, к которому можно подключить 2 двигателя или четырехпроводной двухфазный шаговый двигатель. Устройство часто используется из-за своей невысокой стоимости. Драйвер используется только для изменения направления вращения, менять скорость он не может. Питание для двигателей от 2,5В до 12В.

2. На микросхеме L293D.
Этот модуль на микросхеме L293D является самым популярным драйвером для работы с двигателями. L293D более мощный, чем его предшественник, и может не только изменять направление вращения, но скорость. Рабочее напряжение двигателей от 5В до 36 В, рабочий ток достигает 600 мА. На двигатель L293D может подавать максимальный ток в 1,2А.

3. На микросхеме L298D.
Это самый мощный модуль для управления направления и скорости вращения двигателей. При помощи одной платы L298N можно управлять сразу двумя двигателями. Наибольшая нагрузка, которую обеспечивает микросхема, достигает 2А на каждый двигатель. Если подключить двигатели параллельно, это значение можно увеличить до 4А. Рабочее напряжение двигателей от 5В до 36В.

УРОК 12. ARDUINO И ЭЛЕКТРОМОТОР

Вращаем двигатель — Крутись Мотор.

Помните, ранее мы с вами изучили серводвигатель которым управляла ардуина? Теперь мы познакомимся с двигателем вращения. Для это потребуется транзистор, который может коммутировать (переключать) больший ток, чем может себе позволить Arduino. При использовании транзистора, нужно убедиться, что его параметры, подходят для работы определенного оборудования. Транзистор который мы используем для этой схемы — 2N222A, может справится с напряжением до 40 Вольт и до 200 миллиампер, — идеально подходит для нашего микро двигателя!

Когда вы будете собирать эту схему, будьте осторожны, не перепутайте транзистор с датчиком температуры, они очень похожи!

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

 

Принципиальная схема. Урок 12. Мотор и Arduino

Для этого опыта вам понадобится:

1. Arduino UNO — 1 шт.

2. Электромотор — 1 шт.

3. Транзистор 2N222A — 1 шт.

4. Диод 1N4148 — 1 шт.

5. Резистор 330 Ом — 1 шт..

6. Соединительные провода.

7. Макетная плата.

Далее идет схема электрических соединений для этого опыта.

 

Cхема электрических соединений макетной платы, мотора и Arduino. Уроку 12. Arduino и Электромотор

Скачать код к опыту 12. Скетч и подробное описание (Обязательно прочтите весь скетч! Он подробно описан здесь):

Набор для экспериментов ArduinoKit.
Код программы, на руском языке для опыта №12 можно скачать здесь: sketch 12

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

 

Arduino — Крутись мотор. Урок 12

В результате проделанного опыта Вы должны увидеть…

Если схема собрана правильно и все электронные компоненты исправны двигатель постоянного тока должен вращаться.

Возможные трудности:

Мотор не вращается
Это может быть из за того что вы используете свой транзистор, т.е. отличающийся номиналом. Найдите распиновку (в интернет или справочнике) имеющегося у вас транзистора и его совместимость с P2N2222A. Проверьте работу двигателя от источника 5 вольт. Возможно двигатель расчитан на больший ток, в таком случае вы можете использовать реле из уроака 13. Иногда плата ардуино может отключиться от компьютера, попробуйте отключить от нее USB разъем, а затем снова подключить к порту USB. Проверьте надежность и правильность всех электрических соединений.

Всем удачи! Ждём от вас комментарии и фотоотчеты о ваших опытах. ARDUINO УРОК 12. КРУТИСЬ МОТОР.

Драйвер коллекторного двигателя VNh3SP30 | arduinoLab

VNh3SP30 это мостовой (H-bridge) драйвер для мощных коллекторных двигателей.

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


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

Модуль собран на микросхеме-драйвере VNh3SP30 от STMicroelectronics, в драйвере использованы современные MOSFET транзисторы с сопротивлением перехода 19 MΩ, драйвер имеет защиту по температуре, перенапряжению и короткому замыканию.


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

Назначение выходов:

Обозначение на обратной стороне платы,

  • +5V — Питание 5 вольт, не понятно зачем, по всей видимости нужно для подтягивающих резисторов.
  • GND — Пояснений не требует, масса.
  • EN — Включение драйвера, чтобы включить драйвер нужно подать логическую единицу.
  • CS — Выход датчика тока.
  • INA — Вход драйвера A.
  • INB — Вход драйвера B.
  • PWM — Вход для управления скоростью вращения двигателя.

Модуль можно подключать на любые свободные выходы arduino, кроме ноги PWM, для него выход должен уметь генерировать ШИМ, такие выходы обозначены ~ (тильдой).


Софт:

#define INA 3     // выходы arduino
#define INB 4 
#define EN 2
#define PWM 6

int motorSpeed = 255; //  скорость мотора

void setup(){
  pinMode(INA, OUTPUT);   
  pinMode(INB, OUTPUT);  
  pinMode(EN, OUTPUT);   

  digitalWrite(EN, HIGH);
}

void loop()
{
     digitalWrite(INA, LOW);      // крутим мотор в одну сторону
     digitalWrite(INB, HIGH);    
     analogWrite(PWM,motorSpeed);  
     delay(1000);
     
     digitalWrite(INA, HIGH);    // крутим мотор в противоположную сторону
     digitalWrite(INB, LOW);
     analogWrite(PWM, motorSpeed);  
     delay(1000);
     
     digitalWrite(EN, LOW);     // выключаем
     delay(1000);
     digitalWrite(EN, HIGH);
      
} 


Использование для управления нагрузкой:

потом


Видео:

 


Купить:

тут. или тут.


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

Блог | Академия робототехники

9 сентября 2018

        Ардуино управление двигателем, как это осуществить, зачем нам нужен контроллер двигателей? Не можем ли мы просто подключить двигатели непосредственно к Arduino или ESP8266, как светодиод или любой другой…

– Далее – 10 июля 2017

  Исходные данные:  мотор-редуктор рабочее напряжение у которого 5 Вольт при токе 1 А и микроконтроллер ESP-8266 с чувствительным на изменение рабочим напряжением питания 3,3 Вольт и с пиковым током до 600 миллиампер. Все…

– Далее – 22 мая 2017

            ESP8266EX — (Espressif Systems’ Smart Connectivity Platform — ESCP), микроконтроллер китайского производителя Espressif с интерфейсом Wi-Fi.          Помимо Wi-Fi интерфейса, микроконтроллер отличается возможностью исполнять программы…

– Далее – 4 февраля 2017

Wemos модуль  для управления  двумя моторами  на микросхеме TB6612FNG             Компания WeMos Electronics в 2014 году предложила простую идею, на основе микроконтроллера ESP8266 от компании Espressif Systems, спроектировала единого размера…

– Далее – 17 января 2017

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

– Далее – 17 января 2017

Для проверки ультразвукового датчика HC-SR04, Эмиль написал быструю тестовую программу на языке C для Arduino ATmega128, который отображает расстояние в сантиметрах до препятствия. Результаты были довольно точны для 3-4 м…

– Далее – 17 января 2017

Что бы робот мог объезжать препятствия, ему нужно их видеть. Для того что бы робот стал зрячим обычно используют  ультразвуковой датчик измерения расстояния. Дальность действия датчика — 180 см. Эйдзи Накано —…

– Далее – 15 января 2017

Подключаем модуль к своему компьютеру через USB порт, если на нем есть светодиод LED, то он загорится.  Нажимаем правой клавишей мыши на ярлык Мой компьютер, левой клавишей мыши выбираем Диспетчер устройств, и смотрим: В…

– Далее – 14 января 2017

  Описание 1. Размеры: 45*20*1.6 мм 2. Напряжение питания постоянного тока: 2,4 Вольт -5,5 Вольт 3. Потребляемый ток в режиме приема: менее 2 ма 4. Угол обзора: менее 15 градусов 5. Дальность обнаружения: 2 см-450 см 6. Точность…

– Далее – 14 января 2017

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

– Далее –

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

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

Краткий обзор Motor Shield v2.

Драйверы двигателей бывают как оригинальными, так и ихними дешёвыми аналогами.

Вот так выглядит Motor Shield v2 компании Adafruit, который на момент написания статьи, на официальном сайте стоил $19.50.


Вот так выглядит его китайский аналог, который обошёлся мне в $2.28


Из отличий:

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

Во всём остальном эти две платы работают одинаково.

Я думаю Вы уже определились какой Motor Shield будите использовать, если Вас устроит аналог, то купить его можно здесь.

Теперь рассмотрим конструкцию данного Motor Shield v2.


На борту имеется две микросхемы L293D (1), которые позволяют управлять электродвигателя с потребляемым током до 600 мА, с напряжением питания 4.5В – 36В.
Клеммные колодки (2) содержат по два разъёма для подключения электродвигателей (М1, М2, М3 и М4). Центральные контакты этих 2-х колодок соединены с землёй, это сделано для удобства подключения шаговых двигателей на пять проводов.
На данные разъёмы возможно подключить к Arduino один из вариантов:
– 4 электродвигателя постоянного тока;
– 2 шаговых электродвигателя;
– 2 электродвигателя постоянного тока и один шаговый.

Для подключения сервоприводов (с питанием 5В) на плате имеется два соответствующих разъёма (3).

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

Сопряжение Arduino Uno с Motor Shield v2.

Motor Shield имеет практически такие же размеры как и Arduino Uno и сконструирован таким образом что бы легко можно было соединить их без дополнительных проводов.

Установите «бутербродом» Motor Shield и Arduino как показано на картинке. Приложите небольшое усилие в направлении стрелок, что бы контакты устройств надёжно соединились.

 

Тестовые примеры подключения двигателей.


Давайте теперь попробуем подключить к Arduino через Motor Shield двигатели, в первом примере будет подключено два электродвигателя постоянного тока, во втором будет подключен шаговый двигатель. Питание для двигателей буду брать от цепи питания Arduino, поэтому  контакты (5) оставляем замкнутые.

Для первого примера буду использовать электродвигатели, которые можно найти в китайских игрушках (преимущественно в машинках). По паспортным данным эти двигатели могут работать в диапазоне напряжений 3-6в. Купить эти двигатели можно здесь.


Подключите двигатели к 2-м из 4-х разъёмов, я подключил на М3 и М4.


Перед тем как будем заливать в Arduino тестовый скетч, необходимо подключить к среде разработки библиотеку для работы с Motor Shield – AFMotor. Как это сделать, описано в этой статье.

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


Перейдите по пунктам меню «Файл» – «Образцы» – «AFMotor» и выберите для программирования подключенных двигателей скетч «Test_2_DC_Motors».  После загрузки скетча в Arduino, двигатели начнут крутится то в одну, то в другую сторону.

Результат тестирования 2-х двигателей постоянного тока.


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

В моём примере используется шаговый двигатель от компьютерного DVD-Rom привода, который перемещал лазерную головку.


Я специально использовал подключение разноцветными проводами, что бы показать какие контакты куда следует подключать к Motor Shield.

Подключение проводов к двигателю.

Подключение проводов к клеммам М1 и М2.

Вот так выглядит всё в сборе.

Подключаем Arduino к компьютеру, запускаем среду разработки и воспользовавшись пунктом меню «Файл» – «Образцы» – «AFMotor» выбираем тестовый скетч «Test_1_Stepper_Motor». После загрузки скетча в Arduino, двигатель начнёт вращаться переменно в разные стороны, двигая за собой механизм.

Результат тестирования шагового двигателя.

Скачать библиотеку AFMotor

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


В этом руководстве вы сможете получить некоторую информацию о двигателях постоянного тока Arduino. Двигатель постоянного тока – самый простой из электродвигателей, который используется во всех типах хобби-электроники. В этом руководстве представлена ​​основная информация о двигателях постоянного тока, а также о том, как их подключить. его к вашему Arduino, и как вы можете использовать его с Ozeki 10. Документ также включает диаграммы и видео, которые помогут вам понять концепцию двигателей постоянного тока.Итак, приступим.

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

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

Как использовать двигатель постоянного тока Arduino?

Для работы с двигателями постоянного тока необходимо подключить три контакта, как показано на схеме подключения. показывает это (Рисунок 1).Один должен быть подключен к земле (Gnd), другой – к мотор к выводу 5В. Третий контакт должен быть подключен к выводу PWM на вашем Ардуино. С подключенным двигателем постоянного тока теперь вы сможете им управлять. Вы можете настроить скорость вращения двигателя в диапазоне от 0 до 255.

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

Arduino

Рисунок 1 – Схема подключения двигателей постоянного тока Arduino

Как использовать двигатели постоянного тока Arduino в Ozeki

Контроллер двигателя постоянного тока соединяет ваши двигатели постоянного тока с программным обеспечением Ozeki.Вы можете подключить до двух двигателей постоянного тока через любую микросхему драйвера двигателя L298N. Этот чип интегрирован в плату контроллера двигателя постоянного тока LM298, а также в драйвер двигателя постоянного тока Ozeki. Вы можете изменить направление и скорость движения двигателя для обоих двигателей с помощью Ozeki. Электродвигатели должны питаться от внешнего источника питания с максимальным напряжением 36 В. Чтобы использовать двигатель постоянного тока в Ozeki, вам сначала нужно загрузить Ozeki Robot Developer. Озэки Robot Developer установит библиотеки Arduino, необходимые для эффективного использования этого датчика.

Скачать Ozeki Robot Developer

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

Загрузите код двигателя постоянного тока в Arduino Uno
Загрузите код двигателя постоянного тока в Arduino Mega 2560
Загрузите код двигателя постоянного тока в Arduino Nano
Загрузите код двигателя постоянного тока в Ozeki Matrix
Загрузите код двигателя постоянного тока в Raspberry Pi

Моторы arduino и Ozeki будут обмениваться данными через порт USB, используя протокол двигателя постоянного тока Ozeki.Этот Протокол позволяет вам использовать мотор прямо на вашем ПК. Вы сможете управлять этим двигателем через Интернет. пользовательский интерфейс или вы сможете общаться с ним с помощью Ozeki Chat. Вы можете узнать больше об управлении чатом на следующей странице.

Как общаться с двигателем постоянного тока с помощью чата

Важно понимать управление чатом, потому что когда вы создаете робота, Вы хотите управлять этим двигателем, отправляя и получая сообщения.если ты откройте приложение Ozeki Robot Developer, вы увидите, кому вы можете написать C # .Net программа для работы с этим мотором.

Шаги подключения

  1. Подключите двигатель постоянного тока к Arduino
  2. Подключите плату Arduino к компьютеру
  3. Проверьте COM-порты, чтобы узнать, подключен ли ваш Arduino
  4. Загрузите пример кода в Arduino
  5. Откройте https: // localhost: 9515 в своем браузере
  6. Выберите подключение вашего двигателя постоянного тока
  7. Настроить атрибуты двигателя постоянного тока
  8. Нажмите «Обновить», чтобы проверить двигатель постоянного тока.

Обзор системы

Предлагаемая нами система состоит из двигателя постоянного тока, подключенного к аналоговому порту. вашего Arduino.Arduino будет отвечать за чтение данных с этого устройства. в реальном времени. Мозг системы будет работать на ПК (рисунок 2). На ПК Озэки 10 смогут управлять общением. Вы можете легко запустить Ozeki 10 с помощью веб-браузера.

Рисунок 2 – Конфигурация системы двигателя постоянного тока, подключенного к ПК с помощью Arduino

Предварительные требования

  • 1 или 2 малых двигателя постоянного тока
  • Ozeki 10 установлен на вашем компьютере
  • Программируемая плата (Arduino Mega / Nano / Uno, драйвер двигателя постоянного тока Ozeki или Raspberry Pi)
  • Если вы не используете драйвер двигателя постоянного тока Ozeki, то потребуется плата контроллера двигателя постоянного тока LM298.
  • USB-кабель необходим между Arduino Mega / Nano / Uno, драйвером двигателя постоянного тока Ozeki и вашим компьютером

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

.

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

Ваш браузер не поддерживает видео тег.

После подключения подключите плату к компьютеру!

Шаг 2 – Загрузите код в микроконтроллер

(Вот код для загрузки)

Ваш браузер не поддерживает видео тег.

Шаг 3 – Запустите Ozeki 10, чтобы попробовать двигатели постоянного тока

Ваш браузер не поддерживает видео тег.

Шаг 4. Настройте двигатели постоянного тока в Ozeki 10

Чтобы иметь возможность настраивать двигатели постоянного тока (подключенные к Arduino) в Ozeki 10, который установлен на вашем компьютере вам нужно открыть графический интерфейс пользователя (GUI) Ozeki 10.Вы можете открыть графический интерфейс, введя URL-адрес компьютера в свой веб-браузер. Например, если у нашего ПК IP-адрес 192.168.1.5, мы бы введите http://192.168.1.5:9513 в наш веб-браузер.

Шаг 5 – Изучите протокол двигателей постоянного тока

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

Ссылки:
https://www.dummies.com
https://www.tutorialspoint.com

Дополнительная информация


Основы электроники Arduino: управление двигателем

Эта статья была переведена на английский язык и изначально была опубликована для deviceplus.jp.

На Device Plus было представлено большое количество приложений для Arduino и примеров компонентов, но знание основ особенно важно, когда вы что-то создаете. Поэтому в сегодняшней статье мы рассмотрим ключевые основы Arduino. Этому нас научит сегодня эксперт и автор книги «Введение в основы электронного искусства Arduino!» Казухиро Фукуда.

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

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

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

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

[Содержание]

・ Для работы двигателя требуется драйвер

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

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

・ Изменение скорости вращения двигателя

Для работы двигателя требуется драйвер

На цифровом выходе Arduino вы можете переключаться между High и Low для управления световыми вспышками светодиода. Используя эту функцию, вы сможете подавать электроэнергию на двигатель.Однако даже если вы действительно подключите двигатель напрямую к Arduino, он не будет работать.

Для приведения в движение двигателя необходим большой ток. Например, для сегодняшнего RE-280RA вам потребуется более 1 А электрического тока для его движения. Однако цифровой выходной разъем Arduino может протекать только до 20 мА. Пропуск любого электрического тока через это может потенциально повредить Arduino. Для этого нам нужно подключить двигатель к выходному разъему Arduino и управлять им.

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

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

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

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

Двигатель постоянного тока

Это корпус мотора. Эти типы двигателей, в которых используются сухие батареи, называются «двигателями постоянного тока». В этой статье мы будем использовать «RE-280RA». Аккумулятор RE-280RA может поддерживать электрическое напряжение до 4,5 В.

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

Мы будем использовать это для управления двигателем. Следуя сигналам от Arduino, вы можете контролировать подачу электричества на двигатель и направление вращения. Мы будем использовать BA6956AN 」производства ROHM.Начиная с разъема с вырезами (слева на рисунке), они считаются разъемом 1 и разъемом 2.

Конденсатор 0,1 мкФ

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

Резистор 10кОм (1/4 Вт)

Чтобы предотвратить поломку электронных компонентов из-за внезапного протекания большого электрического тока, ток можно подавить с помощью резистора.На этот раз, чтобы указать напряжение, подаваемое на двигатель, разъем Arduino 3.3V подключен к драйверу двигателя. Обычно ток почти не протекает, но в некоторых случаях может протекать большой ток, поэтому подключите резистор 10 кОм, чтобы предотвратить протекание больших токов. На резисторе 10 кОм нанесена маркировка «Коричневый, черный, оранжевый, золотой» и цветовой код.

Аккумулятор

Защелка аккумулятора

Батареи используются в качестве источника энергии для вращения двигателя.Здесь будет использоваться 006P, который может подавать напряжение до 9 В. Он также использует защелки для батарей для подключения батарей к макетной плате.

Электрические зажимы Перемычки

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

После того, как вы подготовите каждый из компонентов, подключите его, как показано ниже.

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

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

Кроме того, используемый на этот раз двигатель имеет диапазон питания до 4,5 В. По этой причине напряжение батареи 9 В может быть слишком высоким, поэтому существует вероятность повреждения двигателя. Поэтому укажите максимальное напряжение выхода, идущего в двигатель, на разъеме 1 драйвера двигателя. На этот раз мы сможем поставить до 3 штук.3В к мотору. Подключите блок питания Arduino 3.3V к разъему 1 и укажите максимальное напряжение. Вращением двигателя можно управлять с помощью седьмого и девятого разъемов привода двигателя. Это означает, что подключение к разъемам 5 и 6 Arduino позволяет управлять двигателем через выход Arduino.

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

После подключения давайте попробуем управлять двигателем с помощью программного кода. Вращением двигателя можно управлять с помощью выходов разъемов Arduino 5 и 6.Вращением, остановкой и направлением вращения можно управлять, изменяя значение High или Low на этих двух разъемах. В случае с BA6956AN им можно управлять следующим образом.

Для нормального вращения выход разъема 5 установлен на высокий уровень, а выход разъема 6 – на низкий. Запись приведенного ниже программного кода в Arduino должна запустить нормальное вращение двигателей.

В десятой строке выход должен быть установлен на высокий уровень, а на разъеме 6 на шестой строке выход должен быть установлен на низкий.

Если вы хотите, чтобы двигатель вращался в противоположном направлении, выход разъема 5 должен быть установлен на низкий уровень, а выход разъема 6 должен быть установлен на высокий уровень.

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

На десятой строке выход разъема 5 должен быть установлен на низкий уровень, а на одиннадцатой строке разъем 6 должен быть установлен на высокий уровень. Когда вы хотите остановить двигатель, оба выхода для разъемов 5 и 6 должны быть установлены на низкий уровень.

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

Кроме того, установка высокого уровня для обоих выходов приведет к включению автоматического выключателя.Установка любого из них на Низкое приведет к остановке через короткое время.

Изменение скорости вращения двигателя

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

Для двигателя выведите управляющий разъем в том направлении, в котором вы хотите вращать ШИМ, и всегда держите другой разъем на низком уровне. Для нормального вращения выведите на коннектор 5 ШИМ и держите коннектор 6 на низком уровне. Для обратного вращения выведите разъем 6 на ШИМ и держите разъем 5 на низком уровне. Программный код для управления скоростью нормального вращения приведен ниже.

Для программного кода установите выходной коннектор 5 в строке 10 на половину коэффициента ШИМ (самый большой на 255) и оставьте коннектор 6 в строке 11 на низком уровне.Если вы измените число в строке 10, скорость также изменится. Однако двигатель не будет вращаться, если High меньше определенного процента. Если двигатель не вращается с малым значением, попробуйте указать большее значение. Вы можете постепенно изменять скорость, постепенно увеличивая или уменьшая значение, выводимое из разъема 5. В следующей программе скорость вращения будет постепенно увеличиваться из состояния остановки, и как только она достигнет максимума, скорость будет постепенно уменьшаться и останавливаться.

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

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

Конфигурации Raspberry Pi и Arduino

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

Подключить контроллер мотора несложно, но может быть сложно подключить его к мобильным приложениям.В этих примерах показаны схемы подключения пары двигателей постоянного тока 3-6 В, питаемых от аккумуляторной батареи 7,4 В (2 батареи 18650). Выберите контроллеры из списка и используйте схемы подключения для завершения проекта. Для удобства вы также можете добавить эту страницу в закладки и посетить ее в следующий раз, когда будете строить мобильного робота.

В этой статье я собрал самые популярные или распространенные конфигурации для подключения контроллеров двигателей L298N (Datasheet) и L293D (Datasheet) к Raspberry Pi и Arduino (Uno, Nano, NodeMCU).Я собрал это руководство, чтобы хранить все ресурсы и электрические схемы в одном месте.

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

Схема контроллера мотора

Raspberry Pi

Напоминаем, что Raspberry Pi использует номера контактов Broadcom и физических контактов для контактов GPIO. Контакты Broadcom являются эталоном GPIOXX, а физические контакты – номерами, соответствующими физическому расположению каждого контакта в заголовке. Мы будем ссылаться на контакты Broadcom GPIOXX на схемах подключения ниже.Итак, с учетом сказанного, вот коллекция схем подключения популярного контроллера двигателя Raspberry Pi.

Нажмите, чтобы увидеть распиновку Raspberry Pi Zero W

Схема подключения Raspberry Pi

L298N

Для этого приложения вы подключите сигнальные контакты L298N следующим образом:

L298N ENA к GPIO18
L298N IN1 к GPIO4
L298N IN2 к GPIO17
L298N IN3 к GPIO27
L298N IN4 к GPIO22
L298N ENB к GPIO12

Для питания Raspberry Pi используется аккумуляторная батарея 5 В 2 А.

Схема подключения Raspberry Pi

L293D

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

L293D Включить 1 в GPIO18
L293D IN1 в GPIO4
L293D IN2 в GPIO17
L293D IN3 в GPIO27
L293D IN4 в GPIO22
L293D Включить 2 в GPIO12

Вы можете запитать Raspberry Pi от аккумуляторной батареи 5V 2A.

Adafruit TB6612 с Raspberry Pi

Наконец, вы можете использовать TB6612 с Raspberry Pi, если хотите использовать внешний источник питания двигателя постоянного тока.Вот как это устроено:

TB6612 AIN1 – GPIO18
TB6612 PWMA to GPIO4
TB6612 AIN2 to GPIO17
TB6612 STBY to GPIO27
TB6612 PWMB to GPIO22
TB6612 BIN2 to GPIO23

Если вы не используете Raspberry Pi, вы можете ознакомиться со схемами контроллера двигателя Arduino для своего проекта. Я собрал чертежи для Arduino Uno, Nano и NodeMCU.

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

Arduino

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

Схема подключения Arduino Uno L298N

L298N – довольно распространенный контроллер, используемый с Arduino Uno. Подключите сигнальные контакты следующим образом:

L298N ENA в цифровой 5
L298N IN1 в цифровой 2
L298N IN2 в цифровой 3
L298N IN3 в цифровой 4
L298N IN4 в цифровой 7
L298N ENB в цифровой 6

Затем включите L298N с 7.Аккумулятор на 4 В. Убедитесь, что у Arduino, L298N и аккумуляторной батареи есть общая земля. Вывод 12 В на L298N подключается к шине Vcc на макетной плате. Наконец, подключите 5 В от Arduino к шине Vcc на макете и к контакту 5 В на L298N. После подключения блока питания вам не нужно включать Arduino через USB-кабель.

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

Схема подключения Arduino Uno L293D

Вот электрическая схема L293D для Arduino Uno. Сигнальные контакты подключаются следующим образом:

L293D Enable 1 to Digital 5
L293D IN1 to Digital 2
L293D IN2 to Digital 3
L293D IN3 to Digital 4
L293D IN4 to Digital 7
L293D Enable 2 to Digital 6

Затем подключите провода двигателя к L293D, а затем подключите питание между Arduino, контроллером двигателя и аккумулятором.

Схема подключения Arduino Nano L298N

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

L298N ENA в цифровой 3
L298N IN1 в цифровой 2
L298N IN2 в цифровой 4
L298N IN3 в цифровой 6
L298N IN4 в цифровой 7
L298N ENB в цифровой 5

Затем прикрепите выводы двигателя к боковым контактам на L298N. Затем подключите провода питания и заземления к макетной плате. Обязательно подключите питание и заземление для nano, контроллера мотора и аккумуляторной батареи.

Схема подключения Arduino Nano L293D

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

L293D Включить от 1 до 3
L293D IN1 до 2
L293D IN2 до 4
L293D IN3 до 6
L293D IN4 до 7
L293D Включить от 2 до 5

Схема подключения NodeMCU L298N

Для NodeMCU требуется дополнительный регулятор напряжения (L7805 – 5 В, 1,5 А), электролитический конденсатор (1 мкФ / 50 В) и керамический конденсатор (100 нФ – 0603). Сигнальные контакты между NodeMCU и L298N имеют следующий вид:

L298N ENA – D2
L298N IN1 – D1
L298N IN2 – D3
L298N IN3 – D4
L298N IN4 – D6
L298N ENB – D5

Схема подключения NodeMCU L293D

Вы также можете использовать L293D с вашим NodeMCU.Вот как подключить сигнальные контакты:

L293D Enable 1 to D2
L293D IN1 to D1
L293D IN2 to D3
L293D IN3 to D4
L293D IN4 to D6
L293D Enable 2 to D5

Наконец, вам нужно проверить проводку и выключить контроллер во время загрузки кода. Хорошей практикой является добавление выключателя питания к аккумуляторной батарее, чтобы упростить электромонтаж. Самое замечательное в этих конфигурациях то, что как только вы попробуете несколько из них, вы сможете сделать мобильного робота практически из чего угодно! Некоторые проекты включают Tiny Robot Cars, Robotic Tanks, Robot Cars и другие.

Вы построили какую-либо из этих конфигураций?

Надеюсь, эта статья окажется для вас полезной для вашего следующего проекта мобильного робота! Отметьте нас в своих проектах робототехники в Facebook и Instagram!

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

Понравились эти статьи? Поддержите нашу работу, записавшись на онлайн-курс или подписавшись на ежемесячное членство.Наш сайт на 100% основан на нашем растущем сообществе, поэтому спасибо за вашу постоянную поддержку!

Support Content Like This

Управление двигателем постоянного тока с использованием сигналов ШИМ – Arduino – Robo India || Учебники || Изучите Arduino |

В этом руководстве Robo India объясняется, как управлять скоростью двигателя постоянного тока с помощью сигналов ШИМ.

1. Введение

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

. Сигнал

PWM – это, по сути, высокочастотный прямоугольный сигнал (обычно более 1 кГц). Рабочий цикл этой прямоугольной волны варьируется, чтобы изменять мощность, подаваемую на нагрузку.

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

В этих волнах частота одинакова, но время включения и выключения разное.

1.2 Требуемое оборудование
1.3 Вывод IC драйвера двигателя L293D

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

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. Модуль EN12 – Arduino D5.

8. Модуль EN34 – Arduino D6.

9. Модуль двигателя Винтовые клеммы – двигатели постоянного тока.

10. Модуль VSS power Винтовой зажим – Внешний источник питания 9В.

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

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
int EN1 = 5; // Вывод 1 микросхемы L293D
int EN2 = 6; // Вывод 9 микросхемы L293D
установка void ()

{
 
 pinMode (EN1, ВЫХОД); // где двигатель подключен к
 pinMode (EN2, ВЫХОД); // где двигатель подключен к
 pinMode (inputPin1, ВЫХОД);
 pinMode (inputPin2, ВЫХОД);
 pinMode (inputPin3, ВЫХОД);
 pinMode (inputPin4, ВЫХОД);
  Серийный номер .begin (9600);
  Serial  .println («Введите значения от 0 до 255»);
}

пустой цикл ()

{
 if ( Серийный номер  .available ())
 {
 int speed =  Serial  .parseInt (); // Получение значения от последовательного монитора
  Серийный  .println (скорость)
 analogWrite (EN1, скорость); // устанавливает скорость двигателей
 analogWrite (EN2, скорость); // устанавливает скорость двигателей
 digitalWrite (inputPin1, HIGH);
 digitalWrite (inputPin2, LOW);
 digitalWrite (inputPin3, HIGH);
 digitalWrite (inputPin4, LOW);
 }
}

 
4.Выход

После подключения вы скопируете и вставите этот код в Arduino IDE, а затем загрузите код. Откройте Serial Monitor и отправьте входные значения в Arduino. Вы можете контролировать скорость двигателя постоянного тока, отправляя различные значения в диапазоне от 0 до 255.

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

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

Использование MATLAB и Arduino для управления двигателем – Видео

В этой демонстрации мы увидим, как управлять двигателями с помощью пакета поддержки MATLAB для Arduino. Что касается программного обеспечения, у меня на моем компьютере предустановлены MATLAB и пакет поддержки MATLAB для Arduino. Если у вас не установлен пакет поддержки, вы можете перейти на вкладку надстроек и щелкнуть «Получить пакеты поддержки оборудования», чтобы загрузить и установить пакет поддержки. Что касается оборудования, у меня есть Arduino Due, Motor Party Pack для Arduino, аккумулятор постоянного тока и кабель USB Micro-b.

Чтобы следовать этой демонстрации и выполнить имеющиеся у меня соединения, подключите вывод Servo 1 на щите двигателя к сервомотору. И один вывод к двигателю постоянного тока, и выводы M3 и M4 к шаговому двигателю. Важно отметить, что аккумуляторный блок постоянного тока необходим для управления двигателем постоянного тока и шаговым двигателем. Подключите аккумуляторный блок постоянного тока к контакту питания. Конец кабеля Micro-b должен быть подключен к порту программирования на Due, а конец USB – к ПК, на котором установлен MATLAB.Для получения более подробных инструкций по подключению перейдите по этой ссылке.

Теперь, когда мы сделали все необходимые подключения, давайте перейдем в MATLAB и посмотрим, как мы можем управлять двигателями. Для этого я написал сценарий, который собираюсь показать. Функция Arduino в этом скрипте устанавливает соединение с Due, отключенным на com-порту, упомянутом в первом вводе. Эта функция также предоставляет инструкции для MATLAB по библиотекам, которые необходимо включить в код сервера Arduino.Когда я выполняю это в командном окне MATLAB, MATLAB создает объект, который представляет физический объект, к которому он подключен.

Дополнительная функция может затем работать с объектом, который был создан для подключения к Motor Shield. Выполнение команды в Командном окне и выполнение сценария MATLAB имеет тот же эффект. Итак, в оставшейся части этого видео я собираюсь использовать кнопку, чтобы перейти к следующему разделу кода после выполнения текущего раздела.

MATLAB создает новый объект в рабочем пространстве каждый раз, когда он подключается к новому физическому объекту.В данном случае Motor Shield. Здесь, в этом разделе кода, нам нужно обратить внимание на функции сервопривода и правого положения. Сервофункция позволяет вам общаться от MATLAB к сервомотору, который подключен в номере порта, упомянутом во втором входе. Функция правильного положения позволяет вам дать сервомотору команду переместиться в указанное положение. Здесь я использую 4 петли, чтобы двигать двигатель от 0 до 180 градусов пять раз, назад и вперед. Я прикрепил изображение колеса к сервомотору, чтобы показать его в действии.

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

Для связи с последним типом двигателя, который поставляется вместе с Motor Party Pack от MATLAB, можно использовать функцию двигателя постоянного тока.Комментарий остановки и начала делает именно то, что следует из названия. Помните, что эти функции можно использовать только после указания скорости двигателя. Скорость двигателя должна быть указана в процентах от максимальной скорости двигателя. Гипнотизирующий диск здесь показывает работу двигателя постоянного тока.

Итак, мы увидели, как управлять двигателями с помощью MATLAB и пакета поддержки для Arduino.

Руководство по мотору

Arduino | 6 проектов Arduino со спином

Выбор правильного двигателя Arduino

В этом руководстве по двигателям Arduino мы рассмотрим основную информацию, которую вам нужно знать, прежде чем выбирать двигатель для своего проекта.Если вы уже какое-то время работаете над электроникой своими руками и чувствуете себя достаточно уверенно в своих силах, возможно, вы хотите принять вызов и вознаградить себя, работая над более крупными, лучшими и более сложными изобретениями. Когда дело доходит до продвинутых сборок, творения с двигателем, такие как роботы на базе Arduino, часто оказываются одними из самых популярных; и не без оснований они довольно классные!

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

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

Типы двигателей Arduino

Сервомоторы

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

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

Как это работает

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

.

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

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

Плюсы

  • Сервоприводы чрезвычайно универсальны
  • Простота управления и программирования через цифровой выход
  • Высокая точность – не все
  • не требуют вычислений контура управления управление вращением

Минусы

  • Высокая потребляемая мощность
  • Как правило, дороже, чем простые двигатели
  • Из-за популярности и высокой стоимости многие сервоприводы с пластиковыми зубчатыми передачами доступны по гораздо более низким ценам, однако это не так. подходит для тяжелых нагрузок или длительного использования и склонен к истиранию (со временем беззубость)

Двигатели постоянного тока

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

Как это работает

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

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

Как и следовало ожидать, простыми двигателями легко управлять. Что касается мощности, увеличение напряжения или силы тока может регулировать скорость вращения двигателя (об / мин) или крутящий момент соответственно. Чтобы изменить направление вращения двигателя, достаточно просто поменять полярность контактов двигателя.

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

Плюсы

  • Высокий крутящий момент
  • Простая сборка и легкость управления
  • Чрезвычайно дешево в производстве

Минусы

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

Запуск цепи двигателя постоянного тока

Шаговый двигатель

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

Как работает этот двигатель

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

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

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

Плюсы

  • Чрезвычайно точный контроль над работой
  • Простота конструкции и надежность
  • Высокий крутящий момент – не все
  • Управление разомкнутым контуром

Минусы

  • Узкоспециализированное применение
  • Требуется продвинутое система управления для правильной работы

Запуск цепи шагового двигателя

Бесщеточный двигатель

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

Как это работает

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

Управление бесщеточным двигателем

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

Плюсы

  • Длительный срок службы
  • Одиночная подвижная часть обеспечивает высокую надежность
  • Конструкция с низким коэффициентом трения, удобная для длительной работы на высокой скорости
  • Энергоэффективность

Минусы

  • Требуются специализированные системы управления
  • Для Оптимальное использование двигателя, требует использования редуктора. Регулировка подачи мощности.

Запуск цепи бесщеточного двигателя

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

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

Torque

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

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

Крутящий момент = Расстояние от оси вращения X Сила

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

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

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

Напряжение – скорость / об / мин

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

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

Для опытных строителей коробка передач, аналогичная той, которая используется в обычных автомобилях, позволяет двигателям работать с обеими мощностями по мере необходимости.Те из вас, кто водит машину, уже знают, что низкие передачи дают вам достаточный крутящий момент, чтобы начать движение, но вам нужно быстро переключиться на 2-ю и 3-ю передачу, чтобы поддерживать ускорение. И если вы когда-либо пробовали начать движение с места на высокой передаче, скажем, 4-й или 5-й на механической коробке передач, вы будете знать, как высокие обороты без достаточного крутящего момента или инерционного импульса быстро никуда не приведут.

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

Ток / сила тока

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

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

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

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

Примеры проектов двигателей Arduino

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

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

Arduino Motor Project # 1: IoT Pet Feeder

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

Arduino Motor Project # 2: Line Follower

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

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

Arduino Motor Project # 3: Роботизированная рука

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

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

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

Arduino Motor Project # 4: Мини-лифт, управляемый Arduino через Bluetooth

Здесь мы демонстрируем шаговый двигатель, который поднимает или опускает небольшой контейнер, который служит «кабиной» лифта. Двигатель был настроен так, что он мог выдвигать автомобиль вниз, вращаясь в одном направлении, и возвращать его, вращая в противоположном направлении, пока «автомобиль» не вернется в исходное положение.Предварительно запрограммировав количество шагов поворота, необходимых для безопасного перехода «кабины» лифта в опущенное положение, система смогла управлять лифтом без заминки. Эта установка будет работать хорошо при условии, что вес груза в лифте не слишком велик, чтобы привести к потере тяги шагового двигателя, в результате чего он пропустит шаги и не выровняется. Одним из способов преодоления этого недостатка и увеличения грузоподъемности было бы добавить к двигателю коробку передач для улучшения крутящего момента. В качестве альтернативы мы могли бы заменить шаговый двигатель на стандартный щеточный двигатель постоянного тока с зубчатой ​​передачей; сочетая свой естественно более высокий номинальный крутящий момент с дополнительным концевым выключателем, чтобы предоставить блоку управления Arduino информацию о положении, чтобы он мог измерять обороты и обеспечивать такой же контроль над лифтом, как и при использовании шагового двигателя.

Начните свой собственный проект

Arduino Motor Project # 5:

Поворотный стол для фотографий

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

Arduino Motor Project # 6:

Animatronic Tail

Последний, но не менее важный в нашем списке – аниматронный хвост, одна из наших наиболее сложных сборок и наше самое первое автономное моторизованное носимое устройство. Сборка состоит из 3-х серводвигателей, расположенных вокруг основания хвоста.

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

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

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

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

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

Управление двигателем постоянного тока с помощью Arduino • AranaCorp

Теги: Arduino, C / C ++, Управление, Двигатели постоянного тока, Программирование

Одна из основных задач робототехники – заставить вещи двигаться самостоятельно.Чтобы придать движение роботу, часто используются электродвигатели, такие как двигатели постоянного тока (DC), особенно для мобильных роботов. В этом уроке мы увидим, как управлять таким двигателем с помощью Arduino и H-моста.

предварительное условие: программирование с помощью Arduino

Материал

  • Компьютер
  • Arduino UNO
  • USB-кабель для подключения Arduino к компьютеру
  • SN754410
  • Макетная плата
  • Двигатель постоянного тока
  • соединительные кабели

Двигатель постоянного тока

Двигатели постоянного тока

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

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

Н-образный мост

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

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

Маленькое напоминание по распиновке:

  • GND подключены между ними и должны быть подключены к земле проекта.
  • + 5V получают питание для логической схемы, обычно обеспечиваемое выходом 5V от Arduino.
  • M1 Enable и M2 Enable используются для активации мостов. Они получили ВЫСОКОЕ / НИЗКОЕ напряжение от Arduino.
  • M1 / ​​M2 Вперед, M1 / ​​M2 Назад принимают сигналы ШИМ и соответствуют направлениям двигателя.
  • + Motor Power IN получает питание двигателя (5,6, 7 В, а иногда и 24 В или больше).
  • Двигатель 1 и двигатель 2 подключены к проводам двигателя.

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

Схема

Arduino может питаться от компьютера.

Программирование

Базовый код

Для приведения в движение двигателя, Hbridge должен быть включен, и сигнал PWM должен быть отправлен в прямом или обратном направлении в зависимости от направления вращения.

 // Константы
const int enableBridge1 = 2;
const int MotorForward1 = 3;
const int MotorReverse1 = 5;

// Переменные
int Power = 80; // Скорость двигателя от 0 до 255

void setup () {
 pinMode (MotorForward1, ВЫХОД);
 pinMode (MotorReverse1, ВЫХОД);
 pinMode (enableBridge1, ВЫХОД);
}

void loop () {
 digitalWrite (enableBridge1, HIGH); // Включаем Hbridge 1

 // Повернуть вперед на 2 секунды
 analogWrite (MotorForward1, Power);
 analogWrite (MotorReverse1, 0);
 задержка (2000);

 // Поворачиваем назад на 3 секунды
 analogWrite (MotorForward1, 0);
 analogWrite (MotorReverse1, Power);
 задержка (3000);

 // Остановка двигателя на 1 секунду
 analogWrite (MotorForward1, 0);
 analogWrite (MotorReverse1, 0);
 digitalWrite (enableBridge1, LOW);
 задержка (1000);
}

 

Функции

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

 / Константы
const int enableBridge = 2;
const int MotorForward = 3;
const int MotorReverse = 5;

// Переменные
int Power = 80; // Скорость двигателя от 0 до 255

void setup () {
 dcBegin ();
}

void loop () {
 dcForward (Мощность);
 задержка (2000);

 dcReverse (мощность);
 задержка (3000);

 dcStop ();
 задержка (1000);
}

void dcBegin () {
 // Инициализируем контакты, используемые для двигателя
 pinMode (MotorForward, ВЫХОД);
 pinMode (MotorReverse, ВЫХОД);
 pinMode (enableBridge, ВЫХОД);
}

void dcForward (int P) {
 digitalWrite (enableBridge, HIGH); // Активируем Hbridge
 // Бежать вперед со скоростью, указанной в P
 analogWrite (MotorForward, P);
 analogWrite (MotorReverse, 0);
}

void dcReverse (int P) {
 digitalWrite (enableBridge, HIGH); // Активируем Hbridge
 // Бегаем назад со скоростью, указанной в P
 analogWrite (MotorForward, 0);
 analogWrite (MotorReverse, P);
}

void dcStop () {
 // Остановка двигателя и отключение Hbridge
 analogWrite (MotorForward, 0);
 analogWrite (MotorReverse, 0);
 digitalWrite (enableBridge, LOW);
}

 

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

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

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