Новости — Как подключить электродвигатель к Arduino
Существует множество способов, чтобы подключить малые электродвигатели к Arduino. И самым популярным, а также самым простым из них является подключение двигателя через мост типа H либо через транзисторы. Подключая электродвигатель к платформе Arduino, следует помнить о том, что подключение не должно осуществляться непосредственным способом, поскольку это может привести к повреждению программной платформы.
Зачем электродвигатели подключают к Arduino
Внедрение электродвигателей в создаваемые контуры и управление при помощи Arduino открывает много разнообразных возможностей. Основной целью подключения двигателей является возможность запуска в движение элементов создаваемых систем, создание транспортных средств и даже роботов. Благодаря Arduino, возможно управление как направлением вращения вала двигателя, так и скоростью вращения.
Подключение двигателя к Arduino должно осуществляться опосредствованно
Непосредственное подключение программной платформы не только грозит перегоранием выходного порта Arduino, но также ограничивает возможность управления, созданной таким образом системой, до минимума.
Arduino через каждый выходной порт может подавать ток силой около 20 мA, а каждый, даже самый маленький электродвигатель, доступный на рынке, для правильного функционирования требует от десятикратно до тысячекратно большего потребления. Поэтому необходимо подключение электродвигателя к Arduino опосредствованным способом, через соответствующий контроллер, который урегулирует силу подаваемого тока.
Какие двигатели можно подключить к Arduino и на что следует обращать внимание в процессе их выбора
Программная платформа Arduino обеспечивает включение всех низкоамперных электродвигателей, представленных на рынке. К Arduino можно подключить:
- бесщёточные двигатели BLDC с коммутатором,
- щёточные двигатели DC, которые являются самыми простыми электродвигателями с питанием током DC,
- вибрационные двигатели, которые посредством движения вала генерируют вибрацию,
- шаговые двигатели, обеспечивающие высокую точность управления посредством импульсного движения вала,
- туннельные приводы EDF, состоящие из ротора и двигателя с корпусом,
- линейные серводвигатели, обеспечивающие линейное движение,
- сервомеханизмы.
Параметры, на которые следует обратить внимание при выборе электродвигателя для Arduino, зависят от типа двигателя.
Несмотря на это, среди наиболее существенных из них следует указать:
- сила потребляемого тока [A]: параметр характеризует силу тока, который требуется для правильного запуска двигателя;
- номинальное напряжение [В]: это значение напряжения, на котором будет функционировать система; стандартно системы с Arduino работают на напряжении 12В;
- крутящий момент [Нм]: ключевой параметр электродвигателя (и не только), определяющий его мощность; чем больший крутящий момент генерирует двигатель, тем он мощнее;
- скорость вращения [об./мин]: параметр, определяющий скорость вращения вала двигателя,
- масса и габариты [г и мм]: эти параметры являются существенными особенно при создании лёгких систем, в которых принимаются во внимание размеры двигателя,
- разрешающая способность [количество шагов]: этот параметр касается исключительно шаговых двигателей и определяет точность, с которой может двигаться вал шагового двигателя,
- линейная скорость [мм/с]: этот параметр касается исключительно линейных двигателей и характеризует скорость, с которой двигатель может выдвигать вал в линейном направлении.
Как подключить электродвигатель к Arduino
Зная виды двигателей, которые можно подключить к Arduino, и параметры, на которые следует обратить внимание во время их подбора, мы можем приступить к работам по подключению. Легче всего подключить стандартные щёточные двигатели DC, вибрационные двигатели и сервомеханизмы. Несколько сложнее подключаются линейные серводвигатели, шаговые двигатели и насосы.
Щёточные двигатели DC и вибрационные двигатели являются наиболее простыми, они чаще всего бывают представлены в системах и одновременно являются самыми лёгкими в подключении электродвигателями. Стандартно к программной платформе подключаются двигатели с силой тока 1-5A, работающие на напряжении 5-9В. Для более мощных двигателей с большими параметрами применяются специальные контроллеры.
Щёточные двигатели DC и вибрационные двигатели можно подключить при помощи системы с транзистором либо через мост типа H. Первый метод позволяет осуществлять управление только скоростью вращения вала двигателя, а метод подключения через мост обеспечивает управление как скоростью, так и направлением вращения вала. Поэтому также следует подобрать соответствующий метод подключения согласно собственным потребностям и целям.
Подключение щёточного двигателя DC и вибрационного двигателя через транзистор
Подключение щёточного двигателя DC и вибрационного двигателя при помощи транзистора является очень простым и требует только трёх компонентов: ограничивающего резистора, выпрямительного диода и транзистора. В системе можно использовать, например: выпрямительный диод 1N4148 или 1N4007, транзистор 2N2222 и ограничивающий резистор с сопротивлением 10 кОм. Работы по подключению следует начать с выбора контакта Arduino с соответствующим выходным напряжением.
Контакт Arduino подсоединяем на контактной плате к резистору и в самом конце — к базе транзистора. Эмиттер транзистора мы заземляем, а его коллектор подключаем к двигателю через параллельно подключённый выпрямительный диод. С другой стороны двигатель следует подключить к питанию. Резистор в схеме ограничивает силу тока, который поступает к транзистору, а выпрямительный диод ограничивает риск возникновения обратных токов и выбросов (скачков напряжения), которые имеют место при включении системы. Обратные токи и пики могли бы привести к повреждению программной платформы.
Подключение через мост типа H
Этот способ подключения гарантирует возможность управления не только скоростью, но и направлением вращения вала двигателя. Насколько в случае вибрационных двигателей управление направлением вращения их вала обычно является необоснованным (поскольку они будут генерировать вибрацию вне зависимости от направления вращения вала), настолько управление валом щёточного двигателя DC обычно является ключевой функциональностью системы.
Более того, через мост типа H можно также подключить линейный серводвигатель, если его конструкция основывается на двигателе DC. Мосты типа H можно самостоятельно построить из нескольких транзисторов либо приобрести готовые системы. Их основным заданием является приём сигнала, который посылается Arduino, и трансформация его параметров на выходе моста. Если мы хотим подключить щёточные двигатели DC, вибрационные либо линейные двигатели, необходимо оснастить его ограничивающим резистором (например, с сопротивлением 10 кОм), переключателем и готовой системой моста типа H (например, SN754410, L29NE или L293D).
Мост типа H следует подобрать к системе в плане интенсивности потребляемого двигателем тока во время его максимальной нагрузки – этот параметр носит название токовой эффективности моста. Каждый мост типа H может характеризоваться несколько отличным строением и выводом контактов, поэтому перед тем, как приступить к работам по подключению, следует верифицировать схему вывода контактов в техническом описании моста. Чтобы выяснить способ подключения электродвигателя к Arduino, мы используем мост L293D. Мост L293D оснащен следующими контактами:
- контакт 1: отвечает за управление скоростью двигателя,
- контакты 2 и 7: отвечают за направление вращения вала двигателя,
- контакт 8: питание VC до 36 В,
- контакт 9: может управлять скоростью второго подключённого двигателя,
- контакты 10 и 15: могут управлять направлением вращения вала второго подключённого двигателя,
- контакт 16: питание VCC до 5 В,
- контакты: 4, 5, 12 и 13: заземляемые (подключаемые к земле (GND)).
Первым шагом подключения является размещение моста типа H на контактной плате. После этого следует подключить массу моста к питанию, а затем подключить питание двигателя (или двигателей). Предпоследним этапом работ по подключению является электропитание логической системы управления мостом, последним этапом — подключение контактов, отвечающих за управление работой двигателя (либо двигателей).
Перед началом подключения следует помнить о том, что система моста типа H с электрическим двигателем может быть запитана от одного либо двух напряжений. Если мы запитаем её от одного напряжения, необходимо будет использование источника питания, имеющего соответствующую хорошую фильтрацию, которая ограничит риск возникновения помех.
Лучшим, более популярным и безопасным решением является питание системы от двух источников. Тогда работа двигателя будет запитана от моста, а логическая часть моста (управляющая рабой двигателя) будет запитана от другого независимого источника. Поэтому 5-вольтный контакт Arduino стоит подключить к логичной части моста, а остальное питание к контактам моста, которые отвечают за управление двигателем.
Подключение сервомеханизмов
Подключение сервомеханизмов является чрезвычайно простым, поскольку их выходы всегда одинаковы. Подключение сервомеханизма к Arduino следует начать с подключения массы питания двигателя и питания системы (обычно это два 5-вольтных источника питания).
Следующим шагом является подключение выхода PWM Arduino (обозначенного знаком «~») к контакту, который управляет сервомеханизмом. После проведения работ по подключению, следует только записать соответствующую библиотеку. Подключение шаговых двигателей через выделенный контроллер Шаговые двигатели подключаются к Arduino опосредствованно через специальные контроллеры. Эти элементы следует подобрать друг к другу с учётом максимальной интенсивности тока и номинального напряжения, а сам контроллер должен соответствовать как напряжению питания двигателя, так и напряжению питания системы.
Токовая эффективность контроллера должна быть выше, чем максимальная интенсивность тока, потребляемого двигателем. Для потребностей текста следует исходить из того, что необходимо подключить к Arduino шаговый двигатель с напряжением 12В. К нему подходит, например, контроллер A4988.
Сначала мы устанавливаем контроллер на контактной плате, после чего контакты GND и VDD подключаем к питанию контроллера (3-5,5В). Контакты GMD и VMOT подключаются к питанию двигателя, а контакт SLP — к RST. Контакты 1A, 2A, 1B и 2B подключаются к двигателю.
От вида шагового двигателя (того, является ли он биполярным или униполярным) зависит способ подключения контактов 1A, 2A, 1B и 2B. В биполярных двигателях контакт 1A подключается к чёрному кабелю двигателя, контакт 2A — к красному кабелю, контакт 1B — к зелёному кабелю, а контакт 2B — к голубому кабелю. Униполярные двигатели имеют шесть проводов, но жёлтый и белый кабель можно не подключать.
Правильное подключение шагового двигателя к Arduino приводит к тому, что для высокого положения вал двигателя вращается вправо, а для низкого положения — влево. Для нарастающего фронта вал двигателя делает один шаг, а его направление зависит от подключения контакта DIR.
Управление скоростью, направлением и остановкой двигателя с использованием NRF24L01 – совместимость с Arduino
в Ардуино 0 1,890 Просмотров
Это совместимое с Arduino устройство может управлять скоростью, направлением и остановкой одного двигателя постоянного тока с помощью радиочастотного пульта дистанционного управления.
Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…
Подробнее
Проект основан на микроконтроллере Atmega328, микросхеме драйвера двигателя постоянного тока (H-мост) LM18201, радиочастотном модуле NRF24L01, стабилизаторе напряжения 5 В и других компонентах.
Эта плата может приводить в действие двигатель с напряжением до 24 В постоянного тока с током нагрузки до 3 А. Подробная информация о конфигурации выводов Arduino представлена ниже, пользователь может написать свой собственный код и использовать это оборудование. Данный проект совместим с дистанционным управлением с одним джойстиком.
Микроконтроллер Atmega328 является сердцем проекта, чип LMD18201 управляет двигателем, стабилизатор LM317-ADJ обеспечивает микроконтроллер напряжением 5 В, стабилизатор LM1117 выдает 3,3 В для радиомодуля NRF24L01.
Примечание. Контроллер управляет двигателем постоянного тока с напряжением от 12 до 24 вольт. Однако чип LMD18201 может управлять двигателем с более высоким напряжением (до 48В). Поэтому при питания 48 В снимите перемычку VCC J2, подайте 48 В на разъем CN3 для двигателя и отдельно подайте 5 В на разъем CN1 для питания микроконтроллера. Для эффективного охлаждения LMD18201 рекомендуется использовать радиатор большого размера.
Блок питания 0…30 В / 3A
Набор для сборки регулируемого блока питания…
Подробнее
Контакты Arduino
- LMD18201 : Arduino
- PWM-Pin5 : Pin D5
- Direction-Pin3 : Pin D6
- Brake-Pin4 : Pin 7
- NRF24L01 : Arduino
- CE : Pin D9
- CSN : Pin D10
- MOSI : Pin D11
- MISO : Pin D12
- CSK : Pin D13
Скетч
Скетч для Arduino доступен для скачивания в конце статьи. Код «TESTED CODE RX» предназначен для Atmega328, а код «TESTED CODE TX» предназначен для передатчика.
Тестирование устройства
Подключите двигатель постоянного тока от 12 В до 24 В к MG1 (разъем двигателя), подключите источник питания от 12 В до 24 В к CN3. Установите перемычку J2 и перемычку J1. Включите питание, включите передатчик NRF24L01 с джойстиком, двигатель должен работать с джойстиком.
Скачать файлы проекта (75,8 KiB, скачано: 167)
Портативный паяльник TS80P
TS80P- это обновленная версия паяльника TS80 Smart, работающий от USB…
Подробнее
Двигатель 2021-09-09
С тегами: Двигатель
Arduino Motor Shield Rev3 — Официальный магазин Arduino
Код: A000079 / Штрих-код: 7630049200371
24,00 €
| /
Плата Arduino Motor Shield позволяет Arduino управлять двигателями постоянного тока и шаговыми двигателями, реле и соленоидами.
##цена##
Расширьте свои возможности, добавьте в корзину: €0,00
Обзор
Arduino Motor Shield основан на L298 (техническое описание), который представляет собой сдвоенный мостовой драйвер, предназначенный для управления индуктивными нагрузками, такими как реле, соленоиды, двигатели постоянного тока и шаговые двигатели. Он позволяет управлять двумя двигателями постоянного тока с помощью платы Arduino, независимо контролируя скорость и направление каждого из них. Помимо прочего, вы также можете измерить потребляемый ток каждого двигателя. Экран совместим с TinkerKit, что означает, что вы можете быстро создавать проекты, подключая модули TinkerKit к плате.
Начало работы
В разделе «Начало работы» вы можете найти всю информацию, необходимую для настройки платы, использования программного обеспечения Arduino (IDE) и начала работы с программированием и электроникой.
Нужна помощь?
- О программном обеспечении на форуме Arduino
- О проектах на форуме Arduino
- На самом продукте через нашу службу поддержки клиентов
Технические характеристики
Рабочее напряжение | от 5 В до 12 В |
Контроллер двигателя | L298P, Приводы 2 двигателя постоянного тока или 1 шаговый двигатель |
Максимальный ток | 2 А на канал или 4 А макс. (с внешним источником питания) |
Измерение тока | 1,65 В/А |
Останов свободного хода и функция торможения |
Соответствие
Для этой плиты были предоставлены следующие Декларации о соответствии:
CE
UKCA
REACH
Для получения дополнительной информации о наших сертификатах, пожалуйста, посетите docs.arduino.cc/certifications Вы можете собрать свою собственную плату, используя следующие файлы:
ФАЙЛЫ EAGLE В .ZIP СХЕМЫ В .PDF
Питание
Плата Arduino Motor Shield должна питаться только от внешнего источника питания. Потому что L298 ИС, установленная на экране, имеет два отдельных разъема питания, один для логики и один для драйвера питания двигателя. Требуемый ток двигателя часто превышает максимальный номинальный ток USB.
Внешнее (не USB) питание может поступать либо от адаптера переменного тока в постоянный (настенный), либо от аккумулятора. Адаптер можно подключить, вставив штекер 2,1 мм с центральным положительным контактом в гнездо питания платы Arduino, на котором установлен моторный щит, или подключив провода, идущие к источнику питания, к винтовым клеммам Vin и GND, соблюдая при этом полярности.
Во избежание возможного повреждения платы Arduino, на которой установлен шилд, рекомендуется использовать внешний источник питания с напряжением от 7 до 12 В. Если вашему двигателю требуется более 9 В, мы рекомендуем вам разделить линии питания платы Arduino, на которой установлен экран. Это возможно, если перерезать перемычку
Контакты питания следующие:
- Vin на винтовой клеммной колодке — это входное напряжение двигателя, подключенного к экрану. Внешний источник питания, подключенный к этому контакту, также обеспечивает питание платы Arduino, на которой он установлен. Сняв перемычку “Vin Connect” , вы сделаете это выделенной линией питания для двигателя.
- GND Заземление на клеммной колодке с винтовыми зажимами.
Экран может подавать 2 ампера на канал, всего максимум 4 ампера.
Вход и выход
Этот экран имеет два отдельных канала, называемых A и B, каждый из которых использует 4 контакта Arduino для управления двигателем или его обнаружения. Всего на этом шилде используется 8 контактов. Вы можете использовать каждый канал отдельно для управления двумя двигателями постоянного тока или объединить их для управления одним биполярным шаговым двигателем. Выводы экрана, разделенные по каналам, показаны в таблице ниже:
Функция | контакта на кан. А | контакта на кан. Б |
Направление | Д12 | Д13 |
ШИМ | Д3 | Д11 |
Тормоз | Д9 | Д8 |
Измерение тока | А0 | А1 |
Если вам не нужны тормоз и измерение тока, а также вам нужно больше контактов для вашего приложения, вы можете отключить эту функцию, сняв соответствующие перемычки на задней стороне экрана.
Дополнительные разъемы на щите описаны следующим образом:
- Винтовые клеммы для подключения двигателей и их питания.
- 2 разъема TinkerKit для двух аналоговых входов (белого цвета), подключенных к A2 и A3.
- 2 разъема TinkerKit для двух аналоговых выходов (выделены оранжевым цветом посередине), подключенных к ШИМ-выходам на контактах D5 и D6.
- 2 разъема TinkerKit для интерфейса TWI (белого цвета с 4 контактами), один для входа, а другой для выхода.
Соединение двигателей
Коллекторный двигатель постоянного тока. Вы можете управлять двумя коллекторными двигателями постоянного тока, подключив два провода каждого из них к винтовым клеммам (+) и (-) для каждого канала A и B. Таким образом, вы можете контролировать его направление, устанавливая ВЫСОКИЙ или НИЗКИЙ DIR A и DIR B, вы можете управлять скоростью, изменяя значения рабочего цикла PWM A и PWM B. Штыри Тормоз А и Тормоз В, если они установлены в ВЫСОКОЕ, будут эффективно тормозить двигатели постоянного тока, а не позволять им замедляться из-за отключения питания. Вы можете измерить ток, проходящий через двигатель постоянного тока, считав выводы SNS0 и SNS1. На каждом канале будет напряжение, пропорциональное измеренному току, которое может быть считано как обычный аналоговый вход через функцию AnalogRead() на аналоговом входе A0 и A1. Для вашего удобства оно откалибровано на 3,3 В, когда канал выдает максимально возможный ток, то есть 2 А.
Физические характеристики
Максимальная длина и ширина платы Motor Shield составляют 2,7 и 2,1 дюйма соответственно. Четыре отверстия для винтов позволяют прикрепить плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми контактами 7 и 8 составляет 160 мил (0,16 дюйма), а не кратно 100 мил расстояния между другими контактами. и многое другое, посетите Arduino Docs
Получите вдохновение
##заголовок## ##субтитры##
##текст##
читать далее Управление скоростью драйвера двигателяс помощью Arduino
В этом примере мы будем управлять скоростью линейного привода с Arduino и драйвером двигателя.
Примечание. В этом учебном пособии предполагается предварительное знание основных электронных принципов, аппаратного и программного обеспечения Arduino. Если вы впервые используете Arduino, мы предлагаем изучить основы в одном из множества замечательных руководств для начинающих, доступных через поиск Google и YouTube. Имейте в виду, что у нас нет ресурсов для предоставления технической поддержки для пользовательских приложений, и мы не будем отлаживать, редактировать, предоставлять код или схемы соединений за пределами этих общедоступных учебных пособий.
Компоненты
- Линейный привод 12 В
- Блок питания 12 В
- Ардуино
- Драйвер двигателя
- Потенциометр (дополнительно)
- Электрические провода для соединения и обжимной инструмент или паяльник
Электропроводка
Обзор аппаратного и программного обеспечения
Для двигателей постоянного тока в линейных приводах требуется большой ток (до 5 А). контакты, так как они рассчитаны только на 40 мА каждый. Поэтому мы используем драйвер двигателя, который может принимать слаботочный ШИМ-сигнал (широтно-импульсная модуляция) с платы Arduino и выводить сильноточный ШИМ-сигнал на линейный привод.
Драйвер двигателя подключен к двум цифровым контактам ШИМ (контакты 10 и 11 на Arduino Uno). Установив один из этих контактов в LOW, а другой в HIGH (см. строки 18 и 19 в коде ниже), мы можем выдвигать привод на максимальной скорости. Чтобы остановить привод, мы устанавливаем оба штифта на НИЗКИЙ (см. строки 21 и 22 в коде ниже), а чтобы изменить направление движения, мы можем изменить порядок контактов ВЫСОКИЙ и НИЗКИЙ (см. строки 24 и 25 в коде ниже). Мы также можем настроить скорость, изменив переменную «Скорость» на любое значение в диапазоне [0, 255]; см. строку 17 кода ниже.
Код
https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a
Регулировка скорости с помощью потенциометра
В приведенном выше примере мы вручную устанавливаем скорость в строке 17 кода. Однако могут возникнуть ситуации, когда мы хотим изменить скорость привода во времени. Самый простой способ добиться этого — использовать потенциометр. Потенциометр представляет собой переменный резистор с тремя выводами, который может действовать как делитель напряжения. При вращении ручки потенциометра выходное напряжение будет меняться, и мы можем подключить его к аналоговому выводу на Arduino, чтобы установить переменную скорость.
Электропроводка
Обзор аппаратного и программного обеспечения
Как упоминалось выше, потенциометр представляет собой вращающееся устройство, сопротивление которого изменяется при вращении ручки. Подключив два внешних контакта потенциометра к 5V и GND, а средний контакт к аналоговому выводу Arduino A0, создается делитель напряжения. При вращении ручки Arduino будет считывать аналоговые показания в диапазоне [0, 1023].
Для значений в диапазоне [512, 1023] мы хотим, чтобы привод выдвигался, а для значений [0, 511] мы хотим, чтобы привод втягивался, это может быть достигнуто с помощью простого оператора if()/else в строках 22 и 28 в приведенном ниже коде.