Совет 1: Как подключить коллекторный двигатель к Arduino

Как известно, электродвигатели бывают трёх основных типов: коллекторные, шаговые и сервоприводы. В данной статье мы рассмотрим подключение коллекторного электродвигателя к Arduino с помощью драйвера двигателей на основе микросхемы L9110S или аналогичном.
Вам понадобится
  • - Arduino;
  • - персональный компьютер со средой разработки Arduino IDE;
  • - драйвер двигателей L9110S или аналогичный;
  • - коллекторный электромотор;
  • - соединительные провода.
Инструкция
1
Напрямую подключить электродвигатель к выводам Arduino нельзя: есть риск сжечь вывод, к которому подключён двигатель. Для безопасного подключения электродвигателей разных типов к Arduino необходим самодельный или промышленно изготовленный драйвер двигателей. Драйверы двигателей бывают самые разные. Наиболее распространены типа HG788, L9110S, L293D, L298N и другие. Драйверы двигателей имеют выводы питания, выводы для подключения электродвигателей, а также управляющие выводы. В данной статье мы будем использовать драйвер для управления двигателями, сделанный на основе микросхемы L9110S. Обычно выпускаются платы, которые поддерживают подключение нескольких двигателей. Но для демонстрации мы обойдёмся одним.
Различные драйверы двигателей
2
Самые простые двигатели - коллекторные двигатели. У таких моторов всего два управляющих контакта. В зависимости от полярности приложенного к ним напряжения меняется направление вращения вала двигателя, а величина приложенного напряжения изменяет скорость вращения.
Давайте подключим двигатель по приложенной схеме. Питание драйвера двигателя - 5 В от Arduino, для управления скоростью вращения ротора мотора управляющие контакты подключаем к выводам Ардуино, поддерживающим ШИМ (широтно-импульсную модуляцию).
Схема подключения двигателя к Arduino
3
Напишем скетч для управления коллекторным двигателем. Объявим две константы для ножек, управляющих двигателем, и одну переменную для хранения значения скорости. Будем передавать в последовательный порт значения переменной Speed и менять таким образом скорость и направление вращения двигателя.
Максимальная скорость вращения - при наибольшем значении напряжения, которое может выдать драйвер двигателя. Мы можем управлять скоростью вращения, подавая напряжения в диапазоне от 0 до 5 Вольт. Так как мы используем цифровые ножки с ШИМ, напряжение на них регулируется командой analogWtirte(pin, value), где pin - номер вывода, на котором мы хотим задать напряжение, а аргумент value - коэффициент, пропорциональный значению напряжения, принимающий значения в диапазоне от 0 (напряжение на выводе равно нулю) до 255 (напряжение на выводе равно 5 В).
Скетч управления коллекторным двигателем
4
Загрузим скетч в память Arduino. Запустим его. Двигатель не вращается. Чтобы задать скорость вращения, нужно передать в последовательный порт значение от 0 до 255. Направление вращения определяется знаком числа.
Подключимся с помощью любой терминалки к порту, передадим число "100" - двигатель начнёт вращаться со средней скоростью. Если подадим "минус 100", то он начнёт вращаться с той же скоростью в противоположном направлении.
Управление коллекторным двигателем с помощью Arduino

Совет 2: Как запустить шаговый двигатель

Шаговый электродвигатель невозможно запустить, просто подав на него постоянное или переменное напряжение. Для приведения в движение ему необходима многофазная последовательность импульсов.
Инструкция
1
Узнайте из документации, сколько обмоток имеет двигатель: четыре или шесть. Там же найдите и цоколевку двигателя. Если документация отсутствует, сфотографируйте двигатель и поместите снимок в тематический форум. Там его опознают и сообщат вам цоколевку.
2
Наиболее простой способ приведения шагового двигателя во вращения заключается в следующем:- подайте напряжение на первую обмотку;
- снимите напряжение с первой обмотки и подайте на вторую;
- продолжайте поступать так, пока не достигнете последней обмотки (четвертой либо шестой);
- снимите напряжение с последней обмотки и подайте его на первую.
3
Чтобы реверсировать двигатель, смените последовательность подачи напряжения на обмотки на обратную.
4
Частоту вращения двигателя рассчитайте, поделив частоту импульсов в герцах на число его полюсов. Она получится в оборотах в секунду, для перевода ее в обороты в минуту умножьте ее на 60. Для того же, чтобы по необходимой частоте вращения вычислить частоту подачи импульсов, поделите частоту вращения на 60 и умножьте на количество полюсов двигателя. Частота получится в герцах.
5
Более сложный и точный способ управления шаговым двигателем состоит в следующем:- подайте напряжение на первую и вторую обмотки;
- снимите напряжение с первой обмотки, продолжая подавать его на вторую;
- продолжая и дальше подавать напряжение на вторую обмотку, подайте его и на третью;
- снимите напряжение со второй обмотки, продолжая подавать ее на третью;
- и так далее по кольцу.Вращающий момент увеличится в два раза, шаг уменьшится во столько же раз. При расчете способом, указанным в шаге 4, придется в обоих случаях умножить количество полюсов двигателя на два. Способ реверсирования двигателя используйте такой же, как описан в шаге 2.
6
Не забудьте зашунтировать обмотки двигателя диодами, включенными в обратной полярности. Это предохранит транзисторные ключи в схеме управления от напряжения самоиндукции. Несмотря на это, не касайтесь руками цепей схемы управления, поскольку диоды могут в любой момент выйти из строя.
Видео по теме

Совет 3: Как сделать шаговый двигатель

Шаговый двигатель становится все более популярным исполнительным устройством, применяемым в самых различных областях техники, включая электронные приборы и схемы управления. Обладая способностью к точной установке вала в определенном положении, такой двигатель может быть использован, например, для управления дополнительным вентилятором, размещенным в салоне автомобиля.
Вам понадобится
  • - двигатель привода головки от флоппи-дисковода;
  • - микросхема ULN2003A;
  • - процессор PIC16F84;
  • - соединительные провода.
Инструкция
1
Используйте для изготовления шагового двигателя устройство привода головки записи-чтения от флоппи-дисковода 5,25 дюйма, например, марки TEAC. Оно представляет собой униполярный двигатель с пятью выводами. Четыре вывода подсоединены к обмоткам, а пятый является общим и служит для подачи питания 12В. Указанный двигатель обеспечит шаг в 1,8 градуса, поэтому для полного оборота вала понадобится подать 200 импульсов.
2
При отсутствии указанного устройства возьмите двигатель от более современного дисковода, рассчитанного на 3,5 дюйма. Учитывайте при этом, что такой двигатель является биполярным, поэтому потребует установки специального драйвера для управления системой.
3
Приготовьте микросхему ULN2003A, представляющую собой набор транзисторов с открытым коллектором и защитным диодом в цепи нагрузки. Подключите первые четыре вывода двигателя соответственно к выводам микросхемы, имеющим маркировку 14, 13, 12, 11. Для подсоединения используйте специальный клеммный зажимной блок либо произведите соединение посредством пайки.
4
Выводы микросхемы с третьего по шестой подсоедините соответственно к выводам процессора PIC16F84, имеющим нумерацию с шестого по девятый. Включение и выключение шагового двигателя будет осуществляться посредством кнопки, подключенной к выводам MCLR и VSS, имеющимся на процессоре.
5
По окончании монтажа схемы подайте питание 12В, используя соответствующий общий провод, идущий от двигателя. Программа подаст на обмотки 200 импульсов, что обеспечит половинный или полный оборот вала в импульсном режиме. После этого следует пауза, по окончании которой вал в том же шаговом режиме проворачивается на 180 градусов в обратном направлении либо делает полный оборот (это определяется заданным режимом).
Видео по теме
Источники:
  • Журнал «Современная электроника», «Первый шаг «шагового» двигателя», Олег Пушкарев, октябрь 2004.

Совет 4: Как подключить цифровой компас HMC5883 к Arduino

Рассмотрим подключение модуля GY-273 с трёхосевым цифровым компасом HMC5883L фирмы Honeywell. Эта микросхема может использоваться для магнитометрических измерений, в навигации, если не требуется большая точность измерений (с погрешностью 1…2 градуса и возможностью калибровки). Устройство подключается по интерфейсу I2C.
Вам понадобится
  • - Цифровой компас HMC5883;
  • - Arduino;
  • - макетная плата и соединительные провода;
  • - компьютер.
Инструкция
1
Вот основные характеристики магнитного компаса:
- 3-осевой магниточувствительный датчик;
- 12-разрядный АЦП с разрешением 2 мГс (миллигаусс);
- встроенная самопроверка;
- низкое рабочее напряжение и малое потребление;
- цифровой интерфейс I2C;
- высокая скорость опроса – до 160 раз в секунду (время одного измерения примерно 6 мс);
- точность определения направления 1°…2°;
- может применяться в сильных магнитных полях (до ±8 Гаусс).
Схема подключения магнитного датчика HMC5883L к Arduino приведена на рисунке. Она очень компактная и простая, т.к. двухпроводной интерфейс I2C тем и хорош, что требует малого количества соединений. Можно воспользоваться макетной платой.
Подключение цифрового компаса HMC5883 к Arduino
2
Должно получиться примерно так, как на фотографии. Я ещё подключу к шинам SCL и SDA логический анализатор, чтобы контролировать информационный обмен между Arduino и модулем HMC5883. Это не обязательно.
Цифровой компас HMC5883 подключён к Arduino на макетной плате
3
Давайте в качестве первого знакомства попробуем прочитать идентификационный регистры 10 (0xA), 11 (0xB) и 12 (0xC) цифрового компаса HMC5883 и напишем вот такой скетч, как на рисунке. Он снабжён подробными комментариями.
Скетч, считывающий идентификационные регистры HMC5883
4
Сигнал, полученный с помощью логического анализатора, будет таким, как на иллюстрации.
Что это значит? Первый байт – I2C адрес, с которым мы (ведущее устройство, Arduino) устанавливаем связь (старшие 7 бит 0x1E), и режим записи (младший бит – 0x0); получается число 0x3C. Второй байт – число 0xA, которое мы записали по адресу 0x1E и бит подтверждения от датчика HMC5883L, которое является ведомым. Это номер регистра, с которого мы начнём считывать данные. На этом первая транзакция закончилась. Начинается следующая. Третий байт – это запрос чтения у ведомого (старшие 7 бит – адрес 0x1E, 8-ой бит – операция чтения 0x1; получается число 0x3D). Последние 3 три байта – это ответ ведомого устройства HMC5883L из регистров 0xA, 0xB и 0xC, соответственно.
Цифровой компас HMC5883L при непрерывном считывании перемещается по регистрам самостоятельно. Т.е. каждый раз указывать регистр не обязательно (но и не запрещено). Например, если мы вместо 0xA записали бы 0x3 и 10 раз считали, то получили бы значения в 10-ти регистрах, начиная с 3-го по 12-ый.
А что это за три числа – 0x48, 0x34, 0x33? Снова воспользовавшись паспортом на цифровой компас HMC5883L, мы увидим, что это значения по умолчанию для трёх идентификационных регистров.
Временная диаграмма обмена по I2C с цифровым компасом HMC5883
5
Чтобы получить данные цифрового компаса по магнитному полю, нужно прочитать регистры с 3-го по 8-ой подобно тому, как мы прочитали идентификационные регистры. С той лишь разницей, что данные по каждой из трёх осей X, Y и Z представлены в виде двухбайтовых чисел. Переведя их в десятичные числа, мы получим направления по каждой из трёх осей.
Регистры данных цифрового компаса HMC5883
Поиск
Совет полезен?
Добавить комментарий к статье
Осталось символов: 500
к
Honor 6X Premium
новая премиальная версия
узнать больше