Электротехнический интернет-журнал Electrik.info

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


Схемы подключения | Принципиальные схемы | Электроснабжение
Розетки и выключатели | Автоматы защиты | Кабель и провод | Монтаж электропроводки Ремонт электротехники | Молодому электрику

Электрик Инфо » Электродвигатели и их применение, Схемы на микроконтроллерах » Ардуино и шаговый двигатель: основы, схемы, подключение и управление
Количество просмотров: 64622
Комментарии к статье: 2


Ардуино и шаговый двигатель: основы, схемы, подключение и управление


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

Ардуино и шаговый двигатель

Шаговый двигатель отличия от обычного

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

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

1. Асинхронный двигатель с короткозамкнутым или с фазным ротором.

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

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

4. Универсальный коллекторный двигатель (работает и на постоянном токе и на переменном, ведь обмотки ротора сами подключаются и отключаются от контактов источника питания за счет конструкции ламелей и якоря).

5. Бесщеточные двигатели постоянного тока (BLDC).

6. Сервоприводы.

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

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

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

Определение

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

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

Устройство шагового двигателя

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

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

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

Конструкция

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

Обмотки шагового двигателя

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

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

Ротор двигателя

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

Виды шаговых двигателей ШД по конструкции обмоток делят на три основных группы по схеме подключения обмоток:

1. Биполярные.

2. Униполярные.

3. С четырьмя обмотками.

Виды шаговых двигателей

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

Униполярные напоминают соединение обмоток по схеме звезды. Другими словами, у вас есть 5 выводов – 4 из них это концы обмоток, а 1 – точка соединения всех обмоток.

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

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

Режимы управления

Различают 4 основных режима управления шаговым двигателем:

1. Волновое управление.

2. Полношаговое.

3. Полушаговое.

4. Микрошаговое

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

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

Волновое управление

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

Полношаговое управление

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

Стоит учесть, что момент на валу плавает от 50 до 100% в зависимости от того 1 или 2 две обмотки задействованы в данный момент. 

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

Где взять шаговый двигатель

Полезные статьи:

Как происходит преобразование аналогового сигнала в цифровой

Дистанционное управление микроконтроллером: ИК-пульт, Arduino, ESP8266, 433 мГц

10 интересных проектов для Arduino

Самые популярные датчики для Ардуино

Где взять шаговый двигатель

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

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

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

3. CD и DVD приводы. В них также можно достать и штанги и винтовые валы для самоделок и различных ЧПУ.

Винтовой вал

4. Floppy-дисководы. В дискетниках также есть шаговые двигатели, особо ценятся флопики формата 5.25”.

Floppy-дисковод

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

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

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

1. Платы на базе L293D. Их множество, одна из таких продается под отечественной маркой «Амперка» под название Troyka Stepper, пример его использования в реальном проекте приведен на видео ниже. Преимущество конкретно этой платы в том, что на ней расположены микросхемы логики которые позволяют сократить количество используемых для управления пинов. 

 

Сама по себе микросхема работает под напряжение 4.5-36В и выдает ток до 600мА-1А в зависимости от корпуса ИМС.

2. Драйвер на базе A4988. Питается напряжением до 35В, выдерживает ток до 1А без радиатора, а с радиатором до 2А. Может управлять двигателем, как целыми шагами, так и частями – от 1/16 шага до 1 шага, всего 5 вариантов. Содержит два H-моста. С помощью подстроечного резистора (видно на правом фото) можно задавать выходной ток.

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

Размер шага задается сигналами на входах MS1, MS2, MS3.

Размер шага задается сигналами на входах MS1, MS2, MS3

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

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

3. Драйвер на базе ULN2003 работает с двигателями на 5 и на 12В и выдаёт ток до 500 мА. На большинстве плат расположены 4 светодиода индицирующих работу каждого из каналов.

Драйвер на базе ULN2003

Также на плате вы можете видеть клеммную колодку для подключения двигателей, кстати, многие из них продаются именно с таким разъёмом. Примером такого двигателя является 5В модель – 28BYJ-48.

Модель – 28BYJ-48

И это не все варианты драйверов для шаговых двигателей, на самом деле их еще больше.

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

В большинстве случаев нужно использовать микроконтроллер в паре с драйвером для шагового двигателя. Давайте рассмотрим схему подключения и примеры программного кода. Рассмотрим подключение на базе последнего приведенного драйвера – ULN2003 к плате Arduino. И так у него есть 4 входа, они подписаны, как IN1, IN2 и т.д. Их нужно соединить с цифровыми пинам платы ардуино, а к драйверу подсоединить моторчик как показано на рисунке ниже.

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

Далее в зависимости от способа управления вы должны подавать на входы 1 или 0 с этих пинов включая 1 или 2 обмотки в нужно последовательности. Код программы полношагового управления выглядит примерно так:

int in1 = 2;

int in2 = 3;

int in3 = 4;

int in4 = 5;

const int dl = 5;

void setup() {

    pinMode(in1, OUTPUT);

    pinMode(in2, OUTPUT);

    pinMode(in3, OUTPUT);

    pinMode(in4, OUTPUT);

}

void loop() {

    digitalWrite( in1, HIGH );

    digitalWrite( in2, HIGH );

    digitalWrite( in3, LOW );

    digitalWrite( in4, LOW );

    delay(dl);

    digitalWrite( in1, LOW );

    digitalWrite( in2, HIGH );

    digitalWrite( in3, HIGH );

    digitalWrite( in4, LOW );

    delay(dl);

    digitalWrite( in1, LOW );

    digitalWrite( in2, LOW );

    digitalWrite( in3, HIGH );

    digitalWrite( in4, HIGH );

    delay(dl);

    digitalWrite( in1, HIGH );

    digitalWrite( in2, LOW );

    digitalWrite( in3, LOW );

    digitalWrite( in4, HIGH );

    delay(dl);

}

 

 

Он включает обмотки в такой последовательности:

Последовательность включения обмоток

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

int in1 = 2;

int in2 = 3;

int in3 = 4;

int in4 = 5;

const int dl = 5;

void setup() {

  pinMode(in1, OUTPUT);

  pinMode(in2, OUTPUT);

  pinMode(in3, OUTPUT);

  pinMode(in4, OUTPUT);

}

void loop() {

  digitalWrite( in1, HIGH );

  digitalWrite( in2, LOW );

  digitalWrite( in3, LOW );

  digitalWrite( in4, LOW );

  delay(dl);

  digitalWrite( in1, HIGH );

  digitalWrite( in2, HIGH );

  digitalWrite( in3, LOW );

  digitalWrite( in4, LOW );

  delay(dl);

  digitalWrite( in1, LOW );

  digitalWrite( in2, HIGH );

  digitalWrite( in3, LOW );

  digitalWrite( in4, LOW );

  delay(dl);

  digitalWrite( in1, LOW );

  digitalWrite( in2, HIGH );

  digitalWrite( in3, HIGH );

  digitalWrite( in4, LOW );

  delay(dl);

  digitalWrite( in1, LOW );

  digitalWrite( in2, LOW );

  digitalWrite( in3, HIGH );

  digitalWrite( in4, LOW );

  delay(dl);

  digitalWrite( in1, LOW );

  digitalWrite( in2, LOW );

  digitalWrite( in3, HIGH );

  digitalWrite( in4, HIGH );

  delay(dl);

  digitalWrite( in1, LOW );

  digitalWrite( in2, LOW );

  digitalWrite( in3, LOW );

  digitalWrite( in4, HIGH );

  delay(dl);

  digitalWrite( in1, HIGH );

  digitalWrite( in2, LOW );

  digitalWrite( in3, LOW );

  digitalWrite( in4, HIGH );

  delay(dl);

}

 

Эта программа включает обмотки следующим образом: 

Последовательность включения обмоток

Для закрепления полученной информации, просмотрите полезное видео:

 

Заключение

Шаговые двигатели популярны среди ардуинщиков наряду с сервоприводами, поскольку позволяют создавать роботов и ЧПУ станки. В последнем помогает обилие на вторичном рынке сверхдешевых БУ приводов оптических дисков.

Алексей Бартош

Популярные публикации:

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

Подписывайтесь на наш канал в Telegram: Домашняя электрика 



Поделитесь этой статьей с друзьями:


Другие статьи с сайта Электрик Инфо:

  • Как отличить асинхронный двигатель от двигателя постоянного тока
  • Шаговые электродвигатели
  • Способы чтения и управления портами ввода-вывода Arduino
  • Подключение и программирование Ардуино для начинающих
  • Как определить рабочую и пусковую обмотки у однофазного двигателя
  • Современные синхронные реактивные двигатели
  • Классификация электродвигателей
  • Дистанционное управление микроконтроллером: ИК-пульт, Arduino, ESP8266, 433 ...
  • Управление двигателями и сервоприводами с помощью Ардуино
  • Последовательное, параллельное и смешанное возбуждение в двигателях постоян ...
  • Категория: Электродвигатели и их применение, Схемы на микроконтроллерах

    Робототехника, Шаговый электродвигатель, Микросхемы, Программирование Ардуино, Ардуино, Arduino для начинающих

      Комментарии:

    #1 написал: Сергей Сергеевич |

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

      Комментарии:

    #2 написал: Даниил |

    Для шагового двигателя требуется напряжение в диапазоне от 5 В до 12 В и ток в диапазоне от 100 мА до 400 мА. Контроллер используется для вывода импульсных команд и используется для перемещения двигателя. Он может ускорить или замедлить обороты двигателя или остановить его. Это неотъемлемая часть эффективной работы шагового двигателя. При создании привода с шаговым двигателем контроллер является первым компонентом, который следует выбрать. Он должен содержать последовательный порт, АЦП, таймеры и т. д. Также есть в основном два типа контроллеров шаговых двигателей с разомкнутым контуром и замкнутым контуром. Второй важной частью является драйвер двигателя. Функция ступенчатого регулятора заключается в управлении направлением и величиной тока, протекающего в обмотку двигателя. Он выбирает импульсы от контроллера и рассчитывает, когда и как обмотки двигателя должны быть запитаны для создания движения. В основном существует три типа драйверов шаговых двигателей : цифровые, аналоговые и интегрированные. Сегодня компактные интегральные схемы, т.е. ИС, заменили дискретные компоненты драйверов. Эти ИС очень доступны по цене и просты в реализации. Драйвер следует выбирать в соответствии с током и желаемым напряжением. Одним из самых популярных контроллеров шаговых двигателей является Leadshine Technology, известный производитель в Китае. 

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Электрик Инфо на Яндекс Дзен

     

    Популярные разделы сайта:

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



    Copyright © 2009-2024 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.