Мотор arduino: Двигатель постоянного тока (DC Motor)

Содержание

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

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

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

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

 

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

ШИМ – это Широтно-Импульсная Модуляция, или по другому PWM – Pulse-Width Modulation — процесс управления мощности методом пульсирующего включения и выключения прибора.

 

ШИМ выходов на платах Ардуино несколько. 

На платах Arduino UNO такие выходы отмечены знаком тильда.
Выходы которые можно использовать как ШИМ — это 3, 5, 6, 9, 10, 11 
 
У Arduino Mega  они обозначаются  как PWM со 2 по 13 пин и 44-46.

У Arduino NANO никаких обозначений на плате нет. Надо просто запомнить это 3, 5, 6, 9, 10, 11.
Точно так же как и у Ардуино УНО.

Подробнее про технологию ШИМ можно прочитать на моём сайте.
http://arduino-kid.ru/arduino_nano_pwm
Там описан принцип работы, а также некоторые ограничения которые надо знать.  Например, при совместной работе с функцией tone().

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

Описание скетчей.

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

Во втором мы объединим то что делали в двух последних уроках.
Это используем датчик ХОЛЛА и  индикатор TM1637 для подсчёта оборотов вращения.
Короче сделаем тахометр на Ардуино. А для любителей велоспорта это прям почти готовый проект для определения скорости по количеству оборотов.
На мотор я приклеил магнит, а напротив установил датчик ХОЛЛА. И каждый раз когда магнит находится рядом с датчиком, датчик посылает сигнал на Ардуино и выводит значения на индикатор TM1637.

Как подключить мотор к Ардуино я показал на видео.

 

Плата расширения Arduino Motor Shield

Плата расширения Arduino Motor изготовлена на основе микросхемы L298 (описание), являющейся двойным полномостовым драйвером, разработанным для управления индуктивными нагрузками, такими как реле, соленоиды, двигатели постоянного тока и шаговые двигатели. Она позволит вам управлять двумя двигателями постоянного тока с помощью вашей платы Arduino, независимо регулируя скорость и направление каждого из них. Кроме всего прочего, вы также можете измерять ток, потребляемый каждым двигателем. Плата совместима с модулями TinkerKit.

Характеристики
Рабочее напряжениеот 5 to 12 В
Контроллер двигателяL298P, управляет 2 двигателями постоянного тока или 1 шаговым двигателем
Максимальный ток2 A на канал или 4 A максимум (с внешним источником питания)
Токовое считывание1.65 В/А

Функция торможения и блокировки свободного вращения.

Схема и исходные данные

EAGLE файлы: arduino_MotorShield_Rev3-reference-design.zip
Схемы: arduino_MotorShield_Rev3-schematic.

pdf

Питание

Плата расширения Arduino Motor обязательно должна питаться от внешнего источника питания, поскольку микросхема L298, расположенная на плате, имеет два раздельных блока питания: один для логики, второй для управления потреблением двигателя. Ток потребления двигателя гораздо больше, чем может дать USB.
Внешнее питание (не USB) может подаваться либо с AC/DC преобразователя, либо с батареи. Соединение с адаптером выполняется подключением штекера 2,1 мм с центральным положительным контактом к разъему питания платы Arduino, на которой установлена плата расширения, либо подключением проводов, по которым подается питание, к зажимным контактам Vin и GND (обратите внимание на соблюдение полярности).

Чтобы избежать повреждения платы Arduino, на которой установлена плата расширения, мы рекомендуем использовать внешний источник питания напряжением от 7 до 12 В. Если вашему двигателю требуется напряжение более 9 В, мы рекомендуем вам разделить шины питания платы расширения и платы Arduino, на которой плата расширения установлена. Это возможно, если удалить перемычку «Vin Connect»на обратной стороне платы. Абсолютный предел напряжения Vin на зажимных контактах составляет 18 В.

Выводы питания перечислены ниже:

  • Vin в блоке зажимных контактов – входное питание для двигателя, соединенного с платой расширения. Внешний источник питания, подключенный к этому выводу, также обеспечивает питанием плату Arduino, на которой установлена плата расширения. Удалив перемычку «Vin Connect», вы превращаете эту линию в выделенную шину питания двигателя.
  • GND Земля (Ground) в блоке зажимных контактов.

Плата расширения может потреблять по 2 А на канал, всего максимально до 4 А.

Входы и выходы

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

Выводы платы расширения, разделенные по каналам, показаны в таблице ниже:

Функциявыводы на канал Aвыводы на канал B
НаправлениеD12D13
ШИМD3D11
ТорможениеD9D8
Токовое считываниеA0A1

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

Дополнительные разъемы на плате расширения описаны ниже:

  • Зажимные контакты для подключения двигателей и источника питания для них.
  • 2 соединителя TinkerKit для двух аналоговых входов (белые), подключенные к A2 и A3.
  • 2 соединителя TinkerKit для двух аналоговых выходов (оранжевые в середине), соединенные с выходами ШИМ на выводах D5 и D6.
  • 2 соединителя TinkerKit для TWI-интерфейса (белые с 4 выводами), один для выхода и остальные для выхода.
Подключение двигателей

Коллекторный двигатель постоянного тока. Вы можете управлять двумя двигателями постоянного тока, подключив два провода от каждого из них к (+) и (-) зажимных контактов каждого канала А и В. Таким образом управление их направлением осуществляется установкой высокого или низкого уровня на выводах DIR A and DIR B, управление скоростью – изменением значений коэффициента заполнения PWM A (ШИМ А) и PWM B

(ШИМ В). Есть также выводы Brake A (тормоз А) и Brake B (тормоз В), при подаче на которые высокого уровня они тормозят двигатель постоянного тока быстрее, чем при выключении питания двигателя. Узнать величину тока, потребляемую двигателем можно, считав напряжение на выводах SNS0 and SNS1. На каждом канале будет напряжение, пропорциональное измеренному току, которое можно считать как обычный аналоговый вход с помощью функции analogRead() на аналоговых входах A0 и A1. Для удобства он откалиброван так, что составляет 3,3 В, когда ток в канале достигает максимально возможного значения 2 А.

Физические характеристики

Максимальная длина и ширина печатной платы Arduino Motor составляют 2,7 и 2,1 дюйма соответственно (68,58 х 53,34 мм). Четыре резьбовых отверстия позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 mil (0,16”), в отличие от расстояний между другими выводами, кратных 100 mil.

УРОК 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. КРУТИСЬ МОТОР.

Основы электроники 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 должны быть установлены на низкий уровень.

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

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

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

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

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

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

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

Руководство по двигателю

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

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

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

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

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

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

Сервомоторы

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

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

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

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

.

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

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

Плюсы

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

Минусы

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

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

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

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

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

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

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

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

Плюсы

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

Минусы

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

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

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

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

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

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

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

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

Плюсы

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

Минусы

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

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

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

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

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

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

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

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

Плюсы

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

Минусы

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

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

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

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

Torque

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры проектов Arduino Motor

У нас всегда есть несколько интересных проектов, которые собираются здесь, на сайте 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 Quad DC Motor Driver Shield -DFRobot

Название продукта 2x1A Экран двигателя постоянного тока для Arduino
Micro: bit плата расширения драйвера
Gravity: двойной биполярный экран шагового двигателя для Arduino (DRV8825)
Quad DC Motor Driver Shield для Arduino
Артикул DRI0001
DFR0548
DRI0023
DRI0039
Чип
L293B
HR8833
ДРВ8825
TB6612FNG
Рабочее напряжение
5 В постоянного тока / 3.3 В / 5 В 2,7 ~ 5,5 В
Напряжение привода двигателя 7-12 В постоянного тока
3,5 ~ 5,5 В постоянного тока
8,2-45 В постоянного тока 2,5-13,5 В
Максимальный ток привода
1А в каждую сторону 1.5A 1.6A

1,2 А постоянный ток (на канал)

2 А (непрерывный импульс)

3,2 А (одиночный импульс)

Моторный привод с помощью штифтов
PIN4 / 5/6/7 (контроллер Arduino)
/

D4 , D5 , D6

D7 , D8 , D12

Д3,4,5,6,7,8,11,12
Размер
56×57 мм
63 x 58 мм
83 * 55 * 25 мм
52 мм * 53 мм
Вес (г)
60 64 48 24
Часто используется С

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0278 / FIT0503

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

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

8-ходовой интерфейс сервопривода

Двигатель постоянного тока x4 / шаговый двигатель x2 (мультиплексированный с интерфейсом двигателя)

Полный шаг, 1/2, 1/4, 1/8, 1/16, 1/32 ступенчатый режим
Возможность высокоскоростного привода, может приводить в движение обычный двухфазный шаговый двигатель до 5000 об / мин и одновременно управлять четырехъядерным постоянным током
Название продукта Гравитация: расширение ввода-вывода и защита привода двигателя
Gravity: 2x2A Motor Shield для Arduino Twin
Экран водителя шагового двигателя TMC260
2x2A Экран двигателя постоянного тока для Arduino
Артикул DFR0502
DRI0017
DRI0035
DRI0009
Чип
TB6612FNG
L298
TMC260
L298P
Рабочее напряжение
2.7 ~ 5,5 В

5 В
Напряжение привода двигателя 12 В (пиковое значение)
4,8 ~ 35 В
40 В макс.
6,5 ~ 12 В (блок питания VIN), 4,8 ~ 35 В (внешний источник питания)
Максимальный ток привода

1,2 А постоянный ток (на канал)

2 А (непрерывный импульс)

3,2 А (одиночный импульс)

до 2А / канал
до 2 А на катушку двигателя
Моторный привод с помощью штифтов

D4 D5 D6 D7

D10,11,12,13
/ Pin 4,5,6,7 используются для управления двумя двигателями постоянного тока
Размер
68.5 мм × 53,3 мм
56×57 мм

55×55 мм
Вес (г)
36 35 35 60
Часто используется С

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0278 / FIT0503

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

Основные характеристики
Встроенный слот XBee, XBee, WiFi Bee, Bluetooth Bee, I2C.

Зеркальная версия DRI0009.

Выводы привода: 10, 11, 12, 13

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

Подходит для привода биполярных шаговых двигателей.

Управление последовательной шиной SPI или управление сигналом STEP / DIR.

Контроллеры, такие как Mega, с полным расширением портов.

Микрошаговое деление в 256 раз.

Используйте двигатель зеркала для привода DRI0017, чтобы избежать конфликтов. Поддержка управления скоростью PWM. Поддержка управления скоростью опережения PLL

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

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

Предположим, мы используем двигатель постоянного тока вентилятора ПК: для работы ему требуется источник питания 12 В с током около 50 мА, то есть в сумме 0.6 Вт мощности.

Если мы пытались управлять двигателем с помощью Arduino, мы должны учитывать, что выходная мощность составляет 5 В при токе 40 мА (максимальный выходной ток ввода / вывода), всего 0,2 Вт на выходе. Итак, вы видите, что энергии не хватает!

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

Но если у нас нет H-моста, можем ли мы управлять двигателем постоянного тока с помощью Arduino?

Конечно, да! Используя NPN-транзистор, соединения которого задаются парами (сток, двигатель 2), (затвор, контакт 3), (исток GND), энергия, подаваемая на двигатель, может быть увеличена (путем подключения другого контакта двигателя к внешнему источнику питания, например, к батарее 9 В).

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

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

А что, если бы мы хотели контролировать скорость вращения? Как ты это делаешь?

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

Предположим, что с digitalWrite (3, HIGH) мы собираемся генерировать сигнал со 100% скважностью при напряжении 5В. Этот сигнал математически представлен постоянной функцией f (x) = 5V.

Если мы уменьшим рабочий цикл вдвое, например, до 50%, мы сгенерируем сигнал, который в период колебаний будет на 50% выше при 5 В, а остальные 50% на низком уровне при 0 В.

Давайте возьмем практический пример, мы думаем, что генерируем сигнал с частотой f = 1 Гц, и в этом случае, поскольку f = 1 / T [Гц], мы получаем, что T = 1 / f [s], то есть период нашего сигнала составляет 1 секунду.Если мы теперь смодулируем его с коэффициентом заполнения 50%, у нас будет 5 В в течение 0,5 секунды и 0 В в течение остальных 0,5 секунды. Поскольку сигнал периодический, эта процедура будет повторяться «бесконечно».

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

Наконец, давайте посчитаем фактическое потребление энергии двигателем с обычным рабочим циклом.

Как вы знаете, каждый двигатель имеет внутреннее сопротивление, определяемое обмотками, назовем его R. Если мы постоянно питаем двигатель напряжением V, мы знаем из закона Ом, что потребляемый ток будет I = V / Р.

Однако, поскольку мы собираемся генерировать сигнал с рабочим циклом D, это больше не будет действительным. В этом случае выходное напряжение будет представлено функцией f (D) = V * D, предполагая постоянное значение V и значение рабочего цикла D, включенное в интервал [0, 1].

Следовательно, ток будет выражен как I (D) = V * D / R

Спасибо за интерес к этому проекту, вы можете найти меня на YouTube по следующей ссылке:

https: / /YouTube.com / c / ProjectoOfficial? sub_confirmation = 1

Контроллер двигателя Конфигурации 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 от аккумуляторной батареи 5 В, 2 А.

Adafruit TB6612 с Raspberry Pi

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

TB6612 AIN1 к GPIO18
TB6612 PWMA к GPIO4
TB6612 AIN2 к GPIO17
TB6612 STBY к GPIO27
TB6612 PWMB к GPIO22
TB6612 BIN2 к 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 Включить 1 — D2
L293D IN1 — D1
L293D IN2 — D3
L293D IN3 — D4
L293D IN4 — D6
L293D Включить 2 — D5

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

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

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

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

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

Support Content Like This

TB6612 Motor Shield для Arduino в elecrow

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

Сначала мы используем драйверы MOSFET TB6612 с 1.Допустимый ток 2А на канал (вы можете потреблять пиковое значение до 3А в течение примерно 20 мс за раз), его напряжение двигателя низкое, поэтому вы получаете больше вакуума из ваших батарей, а также есть встроенные обратноходовые диоды.

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

Стекируемая конструкция и 5 контактов для выбора адреса позволяют объединять до 32 экранов, чтобы вы могли управлять 128 двигателями постоянного тока и 64 шаговыми двигателями, которые можно использовать для завершения любого проекта Arduino , который вы хотите.

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

  • 2 соединения для 5-вольтовых сервоприводов, подключенных к выделенному таймеру высокого разрешения Arduino
  • , 4 H-моста: набор микросхем TB6612 обеспечивает 1,2 А на мост (3 А для кратковременных пиков 20 мс) с защитой от теплового отключения, внутренними диодами защиты от отдачи.Может работать с двигателями от 4,5 до 13,5 В постоянного тока.
  • До 4-х двунаправленных двигателей постоянного тока с индивидуальным 8-битным выбором скорости (так что разрешение около 0,5%)
  • Двигатели автоматически отключаются при включении питания
  • До 2 шаговых двигателей (униполярных или биполярных) с одной катушкой, двойной катушкой, чередующимися или микрошаговыми. Crowtail интерфейс
  • Разъемы большой клеммной колодки для удобного подключения проводов (18-26AWG) и питания
  • Кнопка питания Arduino

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

  • Рабочее напряжение микросхемы: 5 В
  • Рабочее напряжение двигателя: 12 В
  • Размер: 70 мм (Д) * 53 мм (Ш) * 23 мм (В)
  • Вес : 27 г

Комплектация

  • 4-канальный экран двигателя I2C x1

Wiki и внешние ссылки

урок Arduino — L293D с двигателем постоянного тока «осою.com

Содержимое
  1. Введение
  2. Препараты
  3. О двигателе постоянного тока
  4. О микросхеме драйвера L293D
  5. Подключение

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

Оборудование

  • Плата Osoyoo UNO (полностью совместима с Arduino UNO rev.3) х 1
  • Макетная плата x 1
  • Двигатель постоянного тока x 1
  • L293D Микросхема драйвера x 1
  • Потенциометр 10 кОм x 1
  • Кнопка переключения x 1
  • Модуль питания Arduino x 1
  • Головка с пуговицами x 1
  • Джемперы M / M
  • Кабель USB x 1
  • шт x 1

Программное обеспечение

Arduino IDE (версия 1.6.4+)

Обзор

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

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

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

Поскольку двигатели постоянного тока обычно используются в малых и средних приложениях, где система в основном состоит из микроконтроллера в качестве главного процессора, управление двигателем постоянного тока и его приведение в действие очень важны.Это связано с тем, что управление двигателем напрямую с помощью микроконтроллера не рекомендуется (иногда невозможно), поскольку ток от микроконтроллера очень мал (обычно менее 30 мА). Перед тем, как подключить схему, проверьте эту ссылку, чтобы узнать, как правильно запитать двигатель постоянного тока. , спасибо за www.sharetechnote.com!

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

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

  • Рабочая температура: -10 ° C ~ + 60 ° C
  • Номинальное напряжение: 6,0 В постоянного тока
  • Номинальная нагрузка: 10 г * см
  • Ток холостого хода: не более 70 мА
  • Скорость холостого хода: 9100 ± 1800 об / мин
  • Ток нагрузки: макс. 250 мА
  • Скорость нагруженного груза: 4500 ± 1500 об / мин
  • Пусковой крутящий момент: 20 г * см
  • Пусковое напряжение: 2,0
  • Ток останова: макс. 500 мА
  • Размер корпуса: 27.5 мм x 20 мм x 15 мм
  • Размер вала: диаметр 8 мм x 2 мм
  • Вес: 17,5 грамма

Микроконтроллеры и одноплатные компьютеры не могут напрямую управлять двигателями или индуктивными нагрузками. Можно использовать транзистор или полевой МОП-транзистор, но что, если вы хотите иметь возможность реверсировать двигатель? Вот тут-то и пригодится H-мост!

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

Обзор

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

Технические характеристики
  • Диапазон напряжения питания от 4,5 В до 36 В
  • Выходной ток 600 мА на драйвер
  • Отдельное питание логики входа
  • Может приводить в движение небольшие мотор-редукторы постоянного тока, биполярный шаговый двигатель.
  • Импульсный ток 1,2 А на драйвер
  • Отключение при перегреве
  • Внутренняя защита от электростатического разряда
  • Входы с высокой помехоустойчивостью

Схема выводов L293D

1,2EN: Для активации каналов 1 и 2 мы подаем на этот вывод +5 В.
3,4EN: Чтобы активировать каналы 3 и 4, мы подаем на этот вывод +5 В.
Vcc1: Входное напряжение для вывода внутренней цепи (массив Дарлигтона) = от 4,5 до 36 В
Vcc2: Подача / выход для вывода на output = 4.От 5 до 36 В
1A: Входной контакт канала 1
2A: Входной контакт канала 2
3A: Входной контакт канала 3
4A: Входной контакт канала 4
1Y: Канал -1 Выходной контакт
2Y: Выходной контакт канала 2
3Y: Выходной контакт канала 3
4Y: Выходной контакт канала 4

Более подробную информацию о микросхеме L293D можно найти по этой ссылке. спасибо за www.microcontroller-project.com!

Привод двигателя постоянного тока с помощью микросхемы L293D

Соединение

Создайте схему, как показано ниже:

Здесь можно было заменить аккумуляторный ящик на блок питания

Кодовая программа

После завершения вышеуказанных операций подключите плату Arduino к компьютеру с помощью кабеля USB.Зеленый светодиодный индикатор питания (с надписью PWR ) должен загореться. Откройте Arduino IDE и выберите соответствующий тип платы и тип порта для вашего проекта. Затем загрузите следующий скетч на свой Arduino.

 int motorpin1 = 3; // определяем номер вывода цифрового выхода. int motorpin2 = 4; // определяем номер вывода цифрового выхода. void setup () {pinMode (motorpin1, ВЫХОД); // установить вывод 3 как выходной pinMode (motorpin2, OUTPUT); // устанавливаем вывод 4 как выход} void loop () {digitalWrite (motorpin1, LOW); digitalWrite (моторпин2, ВЫСОКИЙ); } 

Текущий результат

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

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

В этом примере мы покажем, как управлять направлением и скоростью малогабаритного двигателя постоянного тока (DC) с помощью микросхемы драйвера L293D и платы Arduino.

Соединение

Постройте схему как последний пример.

Кодовая программа

После завершения вышеуказанных операций подключите плату Arduino к компьютеру с помощью кабеля USB.Зеленый светодиодный индикатор питания (с надписью PWR ) должен загореться. Откройте Arduino IDE и выберите соответствующий тип платы и тип порта для вашего проекта. Затем загрузите следующий скетч на свой Arduino.

 const int motorIn1 = 3; // один вывод двигателя подключается к выводу 3 const int motorIn2 = 4; // другой вывод двигателя присоединяется к выводу 4 void setup () {pinMode (motorIn1, OUTPUT); // инициализируем вывод motorIn1 как выходной pinMode (motorIn2, OUTPUT); // инициализируем вывод motorIn2 как выход} void loop () {clockwise (200); // вращаем по часовой стрелке delay (1000); // ждем секунду против часовой стрелки (200); // повернуть против часовой стрелки delay (1000); // ждать секунду} // Функция для вращения двигателя по часовой стрелке void по часовой стрелке (int Speed) {analogWrite (motorIn1, Speed); // устанавливаем скорость двигателя analogWrite (motorIn2,0); // остановка вывода двигателя motorIn2} // Функция для вращения двигателя против часовой стрелки void против часовой стрелки (int Speed) {analogWrite (motorIn1,0); // останавливаем вывод motorIn1 двигателя analogWrite (motorIn2, Speed); // устанавливаем скорость двигателя} 

Текущий результат

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

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

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

Соединение

Создайте схему, как показано ниже:

Этот H-мост способен управлять двумя отдельными двигателями постоянного тока, поэтому мы будем использовать только половину микросхемы.Контакты 1-7 можно оставить отключенными. Контакт 8 — это вход питания двигателя, поэтому мы собираемся подключить его напрямую к модулю питания.

Оба контакта 9 и 16 должны быть подключены к 5 В постоянного тока от Arduino. Контакт 9 является нашим контактом «Enable» для выходов 3 и 4 — он включает сторону контроллера мотора, которую мы используем; для этого урока просто подключите его напрямую к источнику питания 5 В постоянного тока от Arduino, чтобы он был постоянно включен. Контакт 16 — это внутреннее питание H-моста.

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

Кодовая программа

После завершения вышеуказанных операций подключите плату Arduino к компьютеру с помощью кабеля USB. Зеленый светодиодный индикатор питания (с надписью PWR ) должен загореться. Откройте Arduino IDE и выберите соответствующий тип платы и тип порта для вашего проекта. Затем загрузите следующий скетч на свой Arduino.

 int switchPinFwd = 7; // Вход от переключателя в положении «Вперед» int потенциометрIn; // переменная для хранения потенциометра input int fwdPin = 3; // Вывод логического уровня на H-мост (вперед) int revPin = 4; // Выход другого логического уровня на H-мост (обратный) void setup () {// поместите сюда свой установочный код для однократного запуска: pinMode (switchPinFwd, INPUT_PULLUP); pinMode (fwdPin, ВЫХОД); // Устанавливаем прямой вывод на выходной pinMode (revPin, OUTPUT); // Устанавливаем передний вывод на выход} void loop () {// помещаем сюда ваш основной код, чтобы запускать его повторно: PotentiometerIn = analogRead (A0); int output = потенциометрIn / 4; // делим вход потенциометра на 4, чтобы его можно было использовать в функции AnalogWrite if (digitalRead (switchPinFwd) == HIGH) // Проверяем, высокий или низкий уровень на выводе {// Если на выводе высокий уровень, он должен быть настроен на пересылку analogWrite (fwdPin, output); // Выводим значение нашего потенциометра на передний вывод.} else {// В противном случае переключатель должен быть установлен на Reverse analogWrite (revPin, output); // Выводим значение нашего потенциометра на передний вывод. } задержка (25); } 

Текущий результат

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

.

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

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