Как сделать шаговый двигатель своими руками?

Содержание

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

Как сделать шаговый двигатель своими руками?

Шаговый двигатель Arduino ► предназначен для перемещения объекта на заданное количество шагов вала. Рассмотрим устройство и схему подключения шагового двигателя.

Шаговый двигатель (stepper motor) предназначен для точного позиционирования или перемещения объекта на заданное количество шагов вала. Плата Arduino может управлять шаговым двигателем с помощью драйвера и библиотеки stepper.h или accelstepper.h. Рассмотрим принцип работы и схему подключения шагового двигателя к Arduino Uno / Nano, а также разберем скетч для управления шаговым мотором.

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

В зависимости от конструкции, сегодня применяются три вида шаговых двигателей: с постоянным магнитом, с переменным магнитным сопротивлением и гибридные двигатели. У двигателей с постоянным магнитом число шагов на один оборот вала доходит до 48, то есть один шаг соответствует повороту вала на 7,5°. Гибридные двигатели обеспечивают не меньше 400 шагов на один оборот (угол шага 0,9°).

Фото. Устройство шагового мотора в разрезе

Подсчитав количество сделанных шагов, можно определить точный угол поворота ротора. Таким образом, шаговый двигатель является сегодня идеальным приводом в 3D принтерах, станках с ЧПУ и в другом промышленном оборудовании. Это лишь краткий обзор устройства и принципа работы stepper motor, нас больше интересует, как осуществляется управление шаговым двигателем с помощью Ардуино.

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

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

Фото. Виды драйверов для управления шаговым двигателем

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

Схема подключения шагового двигателя 28BYJ-48 к Arduino Uno через драйвер ULN2003 изображена на рисунке ниже. Основные характеристики мотора 28BYJ-48: питание от 5 или 12 Вольт, 4-х фазный двигатель, угол шага 5,625°. Порты драйвера IN1 — IN4 подключаются к любым цифровым выводам платы Arduino Mega или Nano. Светодиоды на модуле служат для индикации включения катушек двигателя.

Как подключить шаговый двигатель к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • драйвер шагового двигателя ULN2003;
  • шаговый двигатель 28BYJ-48;
  • провода «папа-мама».

Схема подключения шагового двигателя к Arduino UNO

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

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

// порты для подключения модуля ULN2003 к Arduino #define in1 8 #define in2 9 #define in3 10 #define in4 11 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, HIGH); delay(dl); 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); }

Пояснения к коду:

  1. вместо портов 8,9,10,11 можно использовать любые цифровые порты;
  2. время задержки в миллисекундах int dl = 5; можно изменять, чем меньше задержка в программе, тем быстрее будет вращаться вал мотора;
  3. алгоритм работы программы, представлен на следующей картинке.

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

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

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

Скетч для шагового двигателя на Ардуино (Stepper.h)

#include // библиотека для шагового двигателя // количество шагов на 1 оборот, измените значение для вашего мотора const int stepsPerRevolution = 200; // устанавливаем порты для подключения драйвера Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { myStepper.setSpeed(60); // устанавливаем скорость 60 об/мин } void loop() { // поворачиваем ротор по часовой стрелке myStepper.step(stepsPerRevolution); delay(500); // поворачиваем ротор против часовой стрелки myStepper.step(-stepsPerRevolution); delay(500); }

Скетч для шагового мотора с библиотекой AccelStepper.h

#include // библиотека для шагового двигателя

Описание команд библиотеки AccelStepper.h

AccelStepper mystepper(DRIVER, step, direction);// Шаговый двигатель, управляемый платой
AccelStepper mystepper(FULL2WIRE, pinA, pinB);// Шаговый двигатель, управляемый Н-мостом
AccelStepper mystepper(FULL4WIRE, pinA1, pinA2, pinB1, pinB2);// Униполярный двигатель

mystepper.setMaxSpeed(stepsPerSecond);// Установка скорости оборотов в минуту
mystepper.setSpeed(stepsPerSecond);// Установка скорости в шагах за секунду
mystepper.setAcceleration(stepsPerSecondSquared);// Установка ускорения

mystepper.currentPosition(); // Возвращает текущее положение в шагах
mystepper.setCurrentPosition (long position); Обнуляет текущую позицию до нуля
mystepper.targetPosition(); // Конечное положение в шагах
mystepper.distanceToGo(); // Вернуть расстояние до указанного положения
mystepper.moveTo(long absolute); // Переместиться в абсолютно указанное положение
mystepper.move(long relative); // Переместиться в относительно указанное положение

mystepper.run(); // Начать движение с ускорением, функцию следует вызывать повторно
mystepper.runToPosition(); // Начать движение до указанной точки
mystepper.runToNewPosition(); // Начать движение с ускорением до заданной позиции
mystepper.stop(); // Максимально быстрая остановка (без замедления)
mystepper.runSpeed(); // Начать движение с заданной скоростью без плавного ускорения
mystepper.runSpeedToPosition(); // Начать движение без плавного ускорения, до позиции

mystepper.disableOutputs(); // Деактивирует зарезервированные пины и устанавивает их в режим LOW. Снимает напряжение с обмоток двигателя, экономя энергию
mystepper.enableOutputs(); // Активирует зарезервированные пины и устанавивает их в режим OUTPUT. Вызывается автоматически при запуске двигателя

(8 votes, average: 5,00 5)

Источник: https://xn--18-6kcdusowgbt1a4b.xn--p1ai/%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9-%D0%B4%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE/

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

Как сделать шаговый двигатель своими руками?

Дмитрий Левкин

Предшественником шагового двигателя является серводвигатель.

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

Очевиден и недостаток привода с шаговым двигателем: при сбое импульса дальнейшее слежение происходит с ошибкой в угле, пропорциональной числу пропущенных импульсов [2].

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

Конструкция шагового электродвигателя

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

Гибридный шаговый электродвигатель

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

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

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

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

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

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

Одним из определяющих параметров шагового двигателя является шаг ротора, то есть угол поворота ротора, соответствующий одному импульсу. Шаговый двигатель делает один шаг в единицу времени в момент изменения импульсов управления. Величина шага зависит от конструкции двигателя: количества обмоток, полюсов и зубьев. В зависимости от конструкции двигателя величина шага может меняться в диапазоне от 90 до 0,75 градусов. С помощью системы управления можно еще добиться уменьшения шага пополам используя соответствующий метод управления.

Реактивный шаговый двигатель

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

Ниже представлены осциллограммы управления для трехфазного шагового двигателя.

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

,

  • где NR — количество полюсов ротора;
  • NS – количество полюсов статора.

Чтобы изменить направление вращения ротора (реверс) реактивного шагового двигателя, необходимо поменять схему коммутации обмоток статора, так как изменение полярности импульса не изменяет направления сил, действующих на невозбужденный ротор [2].

Реактивные шаговые двигатели применяются только тогда, когда требуется не очень большой момент и достаточно большого шага угла поворота. Такие двигатели сейчас редко применяются.

    Отличительные черты:

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

Шаговый двигатель с постоянными магнитами

Шаговый двигатель с постоянными магнитами имеет ротор на постоянных магнитах. Статор обычно имеет две фазы.

По сравнению с реактивными, шаговые двигатели с активным ротором создают большие вращающие моменты, обеспечивают фиксацию ротора при снятии управляющего сигнала. Недостаток двигателей с активным ротором — большой угловой шаг (7,5—90°). Это объясняется технологическими трудностями изготовления ротора с постоянными магнитами при большом числе полюсов. Если угол фиксации находится в диапазоне от 7,5 до 90 градусов скорее всего это шаговый двигатель с постоянными магнитами нежели гибридный шаговый двигатель.

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

Униполярный (однополярный) шаговый двигатель

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

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

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

Биполярный шаговый двигатель

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

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

Для управления шаговым двигателем на постоянных магнитах к его обмоткам прикладывается сфазированный переменный ток. На практике это почти всегда прямоугольный сигнал сгенерированный от источника постоянного тока. Биполярная система управления генерирует прямоугольный сигнал изменяющийся от плюса к минусу, например от +2,5 В до -2,5 В. Униполярная система управления меняет направление магнитного потока катушки посредством двух сигналов, которые поочереди подаются на противоположные выводы катушки относительно ее центрального ответвления.

Читайте также  Как обжать сетевой кабель lan своими руками?

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

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

Положение ротора шагового двигателя при волновом управлении

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

Волновое управление биполярным шаговым двигателем

На рисунке выше представлены схема биполярного шагового двигателя и двухполюсные осциллограммы управления. При таком управлении обе полярности («+» и «-«) подаются на двигатель. Магнитное поле катушки поворачивается за счет того, что полярность токов управления меняется.

Волновое управление униполярным шаговым двигателем

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

Необходимое для работы шагового двигателя переменное магнитное поле может быть создано как униполярным так и биполярным способом. Однако для униполярного управления катушки двигателя должны иметь центральное ответвление.

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

Шаговый двигатель с 4 выводами может управляться только биполярным способом. 6-выводной двигатель предназначен для управления униполярным способом, несмотря на то, что он также может управляться биполярным способом если игнорировать центральные выводы.

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

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

    8-выводные двигатели могут быть соединены в нескольких конфигурациях:

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

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

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

Положение ротора шагового двигателя при полношаговом управлении

Полношаговое биполярное управление шаговым двигателем

Полношаговое биполярное управление показанное на рисунке выше имеет такой же шаг как и при волновом управлении. Униполярное управление (не показано) потребует два однополярных управляющих сигнала для каждого биполярного сигнала. Однополярное управление требует менее сложной и дорогой схемы управления. Дополнительная стоимость биполярного управления оправдана когда требуется более высокий момент.

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

Шаг для данной геометрии шагового двигателя делится пополам. Полушаговое управление обеспечивает большее разрешение при позиционировании вала двигателя.

Положение ротора шагового двигателя при полушаговом управлении

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

Полушаговое биполярное управление шаговым двигателем

Гибридный шаговый двигатель

Гибридный шаговый двигатель был создан с целью объединить лучшие свойства обоих шаговых двигателей: реактивного и с постоянными магнитами, что позволило добиться меньшего угла шага. Ротор гибридного шагового двигателя представляет из себя цилиндрический постоянный магнит, намагниченный вдоль продольной оси с радиальными зубьями из магнитомягкого материала.

Конструкция гибридного шагового двигателя (осевой разрез)

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

Гибридный шаговый двигатель (радиальный разрез)

Заметьте что 48 зубьев на одной секции ротора смещены на половину зубцового деления λ относительно другой секции (рисунок ниже). Из-за этого смещения ротор фактически имеет 96 перемежающихся полюсов противоположной полярности.

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

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

Соседние фазы статора гибридного шагового двигателя смещены друг относительно друга на одну четверть зубцового деления λ. В результате ротор перемещается с шагом в четверть зубцового деления во время переменного возбуждения фаз. Другими словами для такого двигателя на один оборот приходится 2×96=192 шага.

    Шаговый гибридный двигатель имеет:

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

Источник: https://engineering-solutions.ru/motorcontrol/stepper/

Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003

Как сделать шаговый двигатель своими руками?

В этой статье мы поговорим о шаговых двигателях в проектах Ардуино на примере очень популярной модели 28BYJ-48. Так же как и сервоприводы, шаговые моторы являются крайне важным элементом автоматизированных систем и робототехники. Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора. В этой статье вы найдете описание схемы работы шаговых двигателей, пример подключения к Arduino с помощью драйверов на базе  ULN2003 и примеры скетчей с использованием стандартной библиотеки Stepper.

Шаговый двигатель – принцип работы

Схема шагового двигателя

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

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

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

Основные виды шаговых моторов:

  • Двигатели с переменными магнитами (применяются довольно редко);
  • Двигатели с постоянными магнитами;
  • Гибридные двигатели (более сложные в изготовлении, стоят дороже, но являются самым распространенным видом шаговых двигателей).

Где купить шаговый двигатель

Самые простые двигатели Варианты на сайте AliExpress:

Драйвер для управления шаговым двигателем

Драйвер – это устройство, которое связывает контроллер и шаговый двигатель. Для управления биполярным шаговым двигателем чаще всего используется драйверы L298N и ULN2003.

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

  • Увеличение крутящего момента на 40% по сравнению с униполярными двигателями;
  • Возможность применения двигателей с любой конфигурацией фазной обмотки.

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

Драйвер шагового двигателя на базе L298N

Этот мостовой драйвер управляет двигателем с током до 2 А и питанием до 46В. Модуль на основе драйвера L298N состоит из микросхемы L298N, системы охлаждения, клеммных колодок, разъемов для подключения сигналов, стабилизатора напряжения и защитных диодов.

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

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

Описание драйвера шаговых двигателей UNL2003

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

Другие драйвера

Существует другой вид драйверов –  STEP/DIR драйверы. Это аппаратные модули, которые работают по протоколу STEP/DIR для связи с микроконтроллером. STEP/DIR драйверы расширяют возможности:

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

В STEP/DIR драйверах используется 3 сигнала:

  • STEP – импульс, который инициирует поворот на шаг/часть шага в зависимости от режима. От частоты следования импульсов будет определяться скорость вращения двигателя.
  • DIR – сигнал, который задает направление вращения. Обычно при подаче высокого сигнала производится вращение по часовой стрелке. Этот тип сигнала формируется перед импульсом STEP.
  • ENABLE – разрешение/запрет работы драйвера. С помощью этого сигнала можно остановить работу двигателя в режиме без тока удержания.

Одним из самых недорогих STEP/DIR драйверов является модуль TB6560-V2. Этот драйвер обеспечивает все необходимые функции и режимы.

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

Подключение будет рассмотрено на примере униполярного двигателя 28BYj-48 и драйверов L298 и ULN2003. В качестве платы будет использоваться Arduino Uno.

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

Еще один вариант схемы с использованием L298:

Подключение шагового двигателя к Ардуино на базе L298

Схема подключения на базе ULN2003 изображена на рисунке ниже. Управляющие выходы с драйвера IN1-IN4 подключаются к любым цифровым контактам на Ардуино. В данном случае используются цифровые контакты 8-11. Питание подключается к 5В. Также для двигателя желательно использовать отдельный источник питания, чтобы не перегрелась плата Ардуино.

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

Принципиальная схема подключения.

Принципиальная схема подключения шагового двигателя

Еще одна схема подключения биполярного шагового двигателя Nema17  через драйвер L298 выглядит следующим образом.

Обзор основных моделей шаговых двигателей для ардуино

Nema 17 – биполярный шаговый двигатель, который чаще всего используется в 3D принтерах и ЧПУ станках. Серия 170хHSхххА мотора является универсальной.

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

  • Угловой шаг 1,8°, то есть на 1 оборот приходится 200 шагов;
  • Двигатель – двухфазный;
  • Рабочие температуры от -20С до 85С;
  • Номинальный ток 1,7А;
  • Момент удержания 2,8 кг х см;
  • Оснащен фланцем 42 мм для легкого и качественного монтажа;
  • Высокий крутящий момент – 5,5 кг х см.

28BYJ-48 – униполярный шаговый двигатель. Используется в небольших проектах роботов, сервоприводных устройствах, радиоуправляемых приборах.

Характеристики двигателя:

  • Номинальное питание – 5В;
  • 4-х фазный двигатель, 5 проводов;
  • Число шагов: 64;
  • Угол шага 5,625°;
  • Скорость вращения: 15 оборотов в секунду
  • Крутящий момент 450 г/сантиметр;
  • Сопротивление постоянного тока 50Ω ± 7% (25 ℃).

Описание библиотеки для работы с шаговым двигателем

В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:

  • Stepper(количество шагов, номера контактов). Эта функция создает объект Stepper, которая соответствует подключенному к плате Ардуино двигателю. Аргумент – контакты на плате, к которым подключается двигатель, и количество шагов, которые совершаются для полного оборота вокруг своей оси. Информацию о количестве шагов можно посмотреть в документации к мотору. Вместо количества шагов  может быть указан угол, который составляет один шаг. Для определения числа шагов, нужно разделить 360 градусов на это число.
  • Set Speed(long rpms) – функция, в которой указывается скорость вращения. Аргументом является положительное целое число, в котором указано количество оборотов в минуту. Задается после функции Step().
  • Step(Steps) –поворот на указанное количество шагов. Аргументом может быть либо положительное число – поворот двигателя по часовой стрелке, либо отрицательное – против часовой стрелки.

Пример скетча для управления

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

#include const int stepsPerRevolution = 200; Stepper myStepper(stepsPerRevolution, 8,9,10,11); //подключение к пинам 8…11 на Ардуино void setup() { myStepper.setSpeed(60); //установка скорости вращения ротора Serial.begin(9600); } void loop() { //Функция ожидает, пока поступит команда, преобразовывает текст и подает сигнал на двигатель для его вращения на указанное число шагов. Serial.println(«Move right»); //по часовой стрелке myStepper.step(stepsPerRevolution); delay(1000); Serial.println(«Move left»); //против часовой стрелки myStepper.step(-stepsPerRevolution); delay(1000); }

Заключение

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

Источник: https://ArduinoMaster.ru/motor-dvigatel-privod/shagovye-dvigateli-i-motory-arduino/

Как управлять шаговым двигателем через Arduino: схема подключения

Как сделать шаговый двигатель своими руками?

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

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

Что такое шаговый двигатель?

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

Читайте также  Как сделать УФ лампу своими руками?

Итак, для начала сформулируем определение. Согласно Википедии: «Шаговый электродвигатель — синхронный бесщёточный электродвигатель с несколькими обмотками, в котором ток, подаваемый в одну из обмоток статора, вызывает фиксацию ротора. Последовательная активация обмоток двигателя вызывает дискретные угловые перемещения (шаги) ротора».

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

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

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

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

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

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

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

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

1. Реактивные.

2. С постоянными магнитами.

3. Гибридные.

По способу питания:

  1. Униполярные (однополярные — ток пропускают через обмотки только в одну сторону).
  2. Биполярные (ток пропускают через обмотки в обе стороны). Здесь драйвер должен подавать напряжение различной полярности, что несколько усложняет схемотехнику. При тех же размерах развивают бОльшую мощность по сравнению с униполярными.

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

Униполярный шаговый двигатель

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

Варианты схем соединения обмоток в шаговых двигателях

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

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

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

2. Полушаговое.
В этом случае увеличивается количество шагов, соответственно повышается точность установки положения вала. На каждый первый шаг включается одна обмотка, на каждый второй шагами (полушаг) – пара обмоток. Но когда включена одна обмотка момент на валу снижается вдвое.

На анимациях ниже наглядно продемонстрировано

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

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

Перейдем к практике

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

Итак, из рассмотренного ранее набора у меня есть:

  • Arduino UNO;
  • Модуль ULN2003;
  • Шаговый двигатель 28BYJ-48 5V DC;
  • Куча перемычек, бредборд и источник питания для него.

Модуль ULN2003 – предназначен для управления униполярным шаговым двигателем. Схематически это транзисторная сборка Дарлингтона с 7-ю каналами и, в принципе, ею можно управлять чем угодно. Технические характеристики приведены ниже:

  • Номинальный ток коллектора одного ключа — 0,5А;
  • Максимальное напряжение на выходе до 50 В;
  • Защитные диоды на выходах;
  • Вход адаптирован к разным видам логики;
  • Возможность применения для управления реле.

В модуле, кроме самой микросхемы ULN2003, есть светодиоды для индикации напряжения на выходе, колодка для подключения и перемычка для отключения питания.

Схема модуля на ULN2003, в левом верхнем углу принципиальная схема одного канала (таких в ней 7)

Двигатель 28BYJ-48 5V DC подключается штатным разъёмом к белой колодке на плате. У него 5 проводов — красный общий, и 4 от обмоток.

Схема фаз двигателя 28BYJ-48 5V DC

Основные характеристики:

  • 32 шага за один оборот ротора;
  • Встроенный редуктор с передаточным отношением 63.68395:1, благодаря этому вал делает 1 оборот за 2048 шагов, при полношаговом режиме и 4096 при полушаговом;
  • Cкорость вращения: номинальная 15 об/мин, максимальная 25 об/мин;
  • Напряжение питания 5 В;
  • Ток одной обмотки 160 мА;
  • Полный ток: в 4-шаговом режиме 320 мА, при быстром вращении 200 мА.
  • Коэффициент редукции: 1/63,68395
  • Угол шага ротора (без учета редуктора): при 4-ступенчатой последовательности сигналов управления 11,25 ° (32 шага на оборот); при 8-ступенчатой — 5,625 ° (64 шага на оборот)
  • Крутящий момент не менее: 34,3 мНм (120 Гц);
  • Тормозящий момент: 600–1200 гсм;
  • Тяга: 300 гсм;
  • Вес:33 г.

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

Значит, попробуем выдать такие сигналы с ардуино. Для этого я подключаю модуль ULN2003 по такой схеме (пин ардуино – контакт модуля)

  • 13 – IN1;
  • 12 – IN2;
  • 11 – IN3;
  • 10 – IN4.

Схема в сборе

Дальше напишем в Arudino IDE код, который будет подавать на выходы сигналы в соответствии с таблицей выше.

// назначим переменные с номерами портов

int in1 = 13;int in2 = 12;int in3 = 11;int in4 = 10;const int dl = 2; // переменная для задержки

// назначим указанные пины как выходы

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);}

Двигатель начнет вращаться, скорость вращения задаётся переменной dl. Я её ввёл только для того, чтобы в каждом шаге не вводить задержку вручную. Ниже я приложу видео и в нём для наглядности я показал как вращение с задержкой между шагами равной 2 мс (на 1 мс двигатель просто пищит и не вращается…), и с задержкой в полсекунды, что позволяет наглядно увидеть, в какой последовательности подаются сигналы на обмотки, что позволяет убедиться в том, что напряжение подаётся на две обмотки сразу, согласно таблице выше. При задержке в 2 мс светодиоды светятся как будто все вместе.

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

Тогда код будет таким:

// назначим переменные с номерами портов

int in1 = 13;int in2 = 12;int in3 = 11;int in4 = 10;const int dl = 2; // переменная для задержки

// назначим указанные пины как выходы

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);

//сформируем сигналы для восьмого шага

Источник: https://zen.yandex.ru/media/id/5c9ca52b27839400b33cc158/5e0a2247c05c7100ad66a959

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

Как сделать шаговый двигатель своими руками?

instrument.guru > Своими руками > Шаговый двигатель своими руками, принцип работы, схема подключения

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

  • Что такое шаговый двигатель?
  • Принцип работы шагового двигателя
  • Модели шаговых двигателей
  • Гибридный двигатель
  • Как запустить шаговый двигатель, его управление
  • Как работает шаговый двигатель?
  • Техническая характеристика шагового двигателя

Что такое шаговый двигатель?

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

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

Шаговые двигатели по конструкции ротора делятся на три типа: реактивный, с постоянными магнитами и гибридный.

  1. В настоящее время синхронные реактивные двигатели применяются редко. Их используют, когда нужен небольшой момент и слишком большой угол поворота шага. Ротор изготовлен из магнитомягкого материала с отчетливыми полюсами, имеет большой угол шага, при отсутствии тока нет фиксирующего момента. Это самый простой и дешевый двигатель. Статор состоит из шести полюсов и трех фаз, а ротор имеет четыре полюса. При этом шаг устройства составляет 30 градусов. Вращающееся магнитное поле создается последовательным включением фаз статора. Ротор за один шаг поворачивается на угол меньше угла статора, так происходит из-за меньшего количества полюсов.
  2. Двигатель с постоянными магнитами состоит из ротора на постоянных магнитах и статора с двумя фазами. В отличие от реактивных устройств, у двигателей на постоянных магнитах после снятия управляющего сигнала ротор фиксируется. Так, происходит благодаря большим вращающим моментам. Так как процесс изготовления ротора сопровождается большими технологическими трудностями (большое число полюсов+постоянные магниты), получается большой угловой шаг до 90 градусов. Это является их единственным недостатком. При работе с однополярной схемой управления обмотки в центре могут быть с ответвлением. Обмотки без центрального ответвления питаются через двуполярную схему управления. Исходя из этого устройство шагового двигателя разделяется на два типа по виду обмоток, униполярные и биполярные.

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

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

Гибридный двигатель

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

Как запустить шаговый двигатель, его управление

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

  • С четырьмя проводами. Каждая фазная обмотка имеет по два провода. Чтобы подсоединить драйвер пошагово, нужно найти парные провода с непрерывной связью между ними. Такой двигатель используется только с биполярным прибором.
  • С пятью проводами. Центральные клеммы мотора внутри объединяются в сплошной кабель и выведены к одному проводу. Отделить обмотки друг от друга невозможно, так как появится много разрывов. Выйти из положения можно, если установить где находится центр провода и попытаться соединить его с другими проводниками. Это самый эффективный и безопасный режим. Затем устройство подключается и проверяется на работоспособность.
  • С шестью проводами. Каждая обмотка имеет несколько проводов и центр-кран. Для разделения провода применяют измерительный прибор. Мотор можно подключать к однополярному и биполярному устройству. При подключении к однополярному устройству используются все провода. Для биполярного устройства один конец провода и один центральный кран каждой обмотки.

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

Читайте также  Как сделать электродрель своими руками?

Как работает шаговый двигатель?

Устройство может работать в трех режимах:

  • Микрошаговый режим. Устройства, работающие на микрошагововом режиме, являются новейшими разработками некоторых производителей и используются в основном в микроэлектронике или на промышленных конвейерах. Специальный чип создает такое напряжение, что вал становится в положение одной сотой шага, к примеру, на 1 оборот происходит 20 тыс. перемещений. Драйвер может создавать более 50 тысяч циклов управляющих напряжений на 1 оборот.
  • Половинный режим. Благодаря тому, что в режиме половинного шага уровень вибраций сокращается, такие устройства часто используются в промышленности. После того как одна фаза активируется, она замирает в таком положении до тех пор, пока не включится следующая. Получается промежуточное положение и на зуб воздействуют одновременно два полюса. Когда первая фаза отключается, ротор продвигается вперед на полшага.
  • Полный режим. Управляющее напряжение по очереди передается по всем фазам и получается полный шаг (на 1 оборот 200 перемещений).

Техническая характеристика шагового двигателя

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

  1. Номинальный ток и напряжение. Максимально допустимый ток указан в механических параметрах электродвигателя. Номинальный ток, является главным электрическим параметром, при котором двигатель может работать сколько угодно времени. Номинальное напряжение указывают редко, его вычисляют по закону Ома. Оно показывает постоянное максимальное напряжение на обмотке двигателя, когда он находится в статическом режиме.
  2. Сопротивление фазы. Параметр показывает какое максимальное напряжение можно подавать на обмотку фазы.
  3. Индуктивность фазы. Насколько быстро будет увеличиваться ток в обмотке показывает этот параметр. Чтобы ток быстрее увеличивался при переключении фаз на высоких частотах, напряжение приходится делать больше.
  4. Число полных шагов за 1 оборот. Параметр показывает насколько электродвигатель точен, его плавность и допустимую способность.
  5. Вращающий момент. Механические данные показывают частоту вращения, которая зависит от момента вращения. Параметр указывает максимальное время вращения электродвигателя.
  6. Удерживающая фаза. Эта фаза показывает момент вращения при остановленном устройстве. Две фазы устройства должны быть запитаны номинальным током.
  7. Момент ступора. Во время отсутствия напряжения питания, он необходим для того, чтобы вал электродвигателя можно было провернуть.
  8. Время энерции ротора. Означает как быстро разгоняется двигатель. Чем показатель меньше, тем скорость разгона больше.
  9. Пробивное напряжение. Параметр относится к разделу электробезопасности и показывает наименьшее напряжение, пробивающее изоляцию между корпусом и обмотками устройства.

Источник: https://instrument.guru/svoimi-rukami/shagovyj-dvigatel-printsip-raboty-shema-podklyucheniya.html

Изучаем миниатюрный шаговый двигатель

Как сделать шаговый двигатель своими руками?

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

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

Мы не будем останавливаться на рассмотрении каждого типа шагового двигателя.

Об этом в сети написано довольно много и хорошо, например здесь.

Хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Такие малыши имеются в свободной продаже. Но в сети, особенно в русскоязычной, очень мало информации по таким моторчикам. Потому, когда мне потребовалось использовать их в своём проекте, пришлось изрядно поискать информации и провести пару экспериментов. Результатами своих поисков и экспериментами я поделюсь в этой статье. Мы рассмотрим вопросы управления такими маленькими моторчиками, а именно:

  • драйвер L293D + микроконтроллер ATtiny44;
  • драйвер TMC2208 + микроконтроллер ATtiny44;
  • микроконтроллер ATtiny44 (без драйвера).

Собственно вопросы тут может вызвать только последний пункт. Поверьте, я тоже был удивлён, когда наткнулся на ролик (вот он), где парень просто берёт и напрямую цепляет шаговый мотор к пинам микроконтроллера! Но давайте обо всём по порядку.

Знакомство

Сначала немного посмотрим на внешний вид нашего героя: Он действительно очень маленький! Согласно умной книжке Петренко С.Ф.

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

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

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

Посмотрим как он устроен:

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

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

Убедимся, что он биполярный, прозвонив обмотки. Действительно биполярный, всё как на картинке выше. Сопротивление обмоток около 26Ом, хотя продавец указал 14Ом.

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

Эксперимент №1. L293D + ATtiny44

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

Ещё одно её преимущество — у микросхемы имеются специальные выводы Enable1 и Enable2, который включают и выключают каждый мост. Их можно использовать чтобы подавать ШИМ сигнал, тем самым, возможно контролировать напряжения питания каждого моста. Зачем это может понадобиться, мы увидим дальше.

Кроме того, L293D может коммутировать напряжения до 36В и выдавать до 1,2А на каждый канал, чего вполне должно хватить для питания обмоток нашего моторчика.

Итак, схема: Управляющие входы L293D подключены к выходам OC0A и OC0B, что позволит в будущем подавать на них ШИМ сигнал. Прошивать контроллер будем через внутрисхемный программатор (на схеме не указан). Вот как выглядит собранная схема на макетной плате: И вот так расположен наш подопытный: Теперь можно приступать к экспериментам. Рассчитаем ток, который будет течь через обмотки двигателя при подключении их к напряжению 5В: I=U/R = 5В/26Ом = 190мА Совсем небольшой. Интересно как долго он сможет держать такой ток и не перегреться. Включим в цепь одной из обмоток амперметр и вольтметр, и проведём замеры соответствующих величин при подачи питания на эту обмотку через драйвер.

При падении напряжения на обмотке 2.56В амперметр показывает ток 150мА, причём хорошо заметно, как начинает падать величина силы тока в процессе нагревания обмоток. Надо отметить, что не так уж и сильно он греется.

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

Об этом довольно хорошо сказано здесь.

Не будем повторяться, но вспомним, что шаговый двигатель может работать в трёх режимах:

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

Попробуем реализовать первые два режима на микросхеме L293D а для микрошагового режима оставим специальный драйвер из второго эксперимента. Исходный код программы выглядит следующим образом: Исходный код в среде WinAVR #define F_CPU 8000000UL // указываем частоту в герцах // фьюзы необходимо выставить L: E2; H:DF; Ex:FF; // это будет частота 8МГц от внутреннего генератора с выключенным предделителем тактовый частоты (включен по умолчанию и равен 8) #include // подключаем библиотеку АВР #include // подключаем библиотеку задержек #include // подключаем библиотеку прерываний // управление штатным светодиодом #define LED_pin PA5 #define LED_ON PORTA |=(1

Источник: https://habr.com/post/498788/

Самодельный ветрогенератор на основе шагового двигателя

Как сделать шаговый двигатель своими руками?

В качестве генератора на ветряк подойдет шаговый двигатель (ШД) для принтера. Даже при небольшой скорости вращения он вырабатывает мощность около 3 Вт. Напряжение может подниматься выше 12 В, что дает возможность заряжать небольшой аккумулятор.

Принципы использования

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

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

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

Электрическая часть

Генератором в ветряк можно устанавливать шаговый двигатель (ШД) для принтера.

Даже при небольшой скорости вращения он вырабатывает мощность около 3 Вт. Напряжение может подниматься выше 12 В, что дает возможность заряжать небольшой аккумулятор. Остальные генераторы эффективно работают при скорости вращения более 1000 об./мин, но они не подойдут, поскольку ветряк вращается со скоростью 200-300 об./мин. Здесь необходим редуктор, но он создает дополнительное сопротивление и к тому же имеет высокую стоимость.

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

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

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

Как сделать ветрогенератор

Лопасти можно изготовить своими руками из трубы ПВХ. Нужная кривизна подбирается, если взять ее с определенным диаметром. Заготовку лопасти рисуют на трубе, а затем вырезают отрезным диском. Размах винта составляет около 50 см, а ширина лопастей — 10 см. После следует выточить втулку с фланцем под размер вала ШД.

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

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

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

Генератор вставляется в кусок трубы, к которому он крепится болтами.

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

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

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

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

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

В настоящее время становятся популярными вертикально-осевые ветрогенераторы.

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