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

Ардуино — Мотор | Arduino Tutorial

Мы изучим:

  • Какие типы двигателей можно использовать с Arduino

  • Чем отличаются типы двигателей

  • Как управлять каждым типом двигателей

В Arduino широко используются три типа двигателей:

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

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

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

Серводвигатель включает два основных типа: серводвигатель с углом поворота 180° и серводвигатель с углом поворота 360°. На самом деле, большинство людей неявно понимают «серводвигатель» как «серводвигатель на 180°».

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

  • Поворот ограничен от 0° до 180°

  • Направление вращения: по часовой стрелке, против часовой стрелки

  • Положение вращения: можно управлять поворотом на определенный угол от 0° до 180°

  • Скорость вращения: можно регулировать, но не плавно

  • Дополнительный аппаратный драйвер: НЕ требуется. Просто управляйте напрямую с контакта Arduino

  • .
  • Дополнительный источник питания: требуется

  • Как управлять: легко, просто используйте ШИМ-сигнал

Arduino — руководство по серводвигателю

  • Вращение не ограничено

  • Направление вращения: по часовой стрелке, против часовой стрелки

  • Положение вращения: можно контролировать точное вращение в любом угловом положении.

  • Скорость вращения: точно регулируется. Более того, ускорение и торможение можно точно контролировать

  • Дополнительный драйвер оборудования: требуется

  • Дополнительный источник питания: требуется

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

  • Автоматика и робототехника

  • Принтеры, 3D-принтер, ЧПУ, X-Y плоттер,

  • Автомат для коктейлей

Arduino — руководство по шаговому двигателю

Arduino — руководство по шаговому двигателю с драйвером L298N

Arduino — руководство по шаговому двигателю 28BYJ-48

  • Вращение не ограничено

  • Направление вращения: по часовой стрелке, против часовой стрелки

  • Положение вращения: очень трудно точно повернуть на определенный угол

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

  • Дополнительный драйвер оборудования: требуется.

  • Дополнительный источник питания: требуется

  • Как управлять: легко, просто используйте высоковольтный ШИМ-сигнал

※ ПРИМЕЧАНИЕ:

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

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

  • Некоторые двигатели постоянного тока на рынке имеют встроенный энкодер

  • Используется для управления чем-то, что должно вращаться непрерывно, но скорость указывать не нужно.

    Например, вентилятор, насос, радиоуправляемая машинка, дрель…

※ ПРИМЕЧАНИЕ:

Существует два основных типа двигателей постоянного тока: коллекторные двигатели постоянного тока и бесщеточные двигатели постоянного тока. Коллекторный двигатель постоянного тока широко используется в проектах «сделай сам»

Arduino — руководство по двигателю постоянного тока

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

  • Если ваш проект необходимо повернуть в угловое положение между 0° и 180°, найти подходящий серводвигатель на 180°

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

  • Если в вашем проекте требуется точное непрерывное вращение без какой-либо позиции, найдите подходящий двигатель постоянного тока или серводвигатель с поворотом на 360°

180° Servo motor SG90 Buy on Amazon
180° Servo motor MG996R Buy on Amazon
360° Servo motor FS90R Buy on Amazon
Stepper motor Buy on Amazon
DC motor Buy on Amazon
DC motor with encoder Buy on Amazon
Аппаратный драйвер шагового двигателя и двигателя постоянного тока Купить на Amazon

Обратите внимание: это партнерские ссылки. Если вы покупаете компоненты по этим ссылкам, мы можем получить комиссию без каких-либо дополнительных затрат для вас. Мы ценим это.

  • Посмотрите лучший комплект Arduino для начинающих

※ НАШИ СООБЩЕНИЯ

  • МОЖНО АРЕНДА. Узнайте, как нанять нас для создания вашего проекта

  • Если этот урок полезен для вас, пожалуйста, мотивируйте нас сделать больше уроков.

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

Подписывайтесь на нас

Поделись с друзьями!

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

Mark Li

19.11.19 ·

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

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

Компоненты

  • Линейный привод 12 В
  • Блок питания 12 В
  • Ардуино
  • Моторный драйвер
  • Потенциометр (дополнительно)
  • Электрические провода для соединения и обжимной инструмент или паяльник

Проводка

Обзор аппаратного и программного обеспечения

Для двигателей постоянного тока в линейных приводах требуется большой ток (до 5 А). контакты, так как они рассчитаны только на 40 мА каждый. Поэтому мы используем драйвер двигателя, который может принимать слаботочный ШИМ-сигнал (широтно-импульсная модуляция) с платы Arduino и выводить сильноточный ШИМ-сигнал на линейный привод.

Драйвер двигателя подключен к двум цифровым контактам ШИМ (контакты 10 и 11 на Arduino Uno). Установив один из этих контактов в LOW, а другой в HIGH (см. строки 18 и 19 в коде ниже), мы можем выдвигать привод на максимальной скорости. Чтобы остановить привод, мы устанавливаем оба контакта в положение LOW (см. строки 21 и 22 в коде ниже), а чтобы изменить направление движения, мы можем изменить порядок контактов HIGH и LOW (см. строки 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 в приведенном ниже коде.

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

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