Количество шагов, которые должен сделать двигатель, определяется переменной ‘VAL’. Поскольку существует 32 шага (в случае оборота) и 64 передаточных числа, один полный оборот двигателя должен быть сделан путем «шага» 2048 (32*64 = 2048) этой команды.
Аппаратное подключение шагового двигателя к Ардуино
На самом деле, связи будут определены позже в программе, так, например, … Необходимо подать питание на Arduino и определить выход шагового двигателя. Поскольку шаговый двигатель 28BYJ-48 имеет только четыре обмотки, выходной сигнал будет равен 4. Это означает, что в соответствии с определенным планом, точнее, в направлении вращения вала, обмотки подаются одна за другой, тем самым питая обмотки. Двигатель вращается. Для того чтобы Arduino не сгорел на шаговом двигателе, используется микросхема 2003APG, которая обычно представляет собой блок транзисторов Дарлингтона. Идея заключается в том, что это блок, который позволяет работать с большими токами обмотки через транзистор, а не напрямую. Это убережет ардуинку от возможных неисправностей, т.е. простого перегорания, высоких и наведенных токов. Однако некоторые умельцы могут подключить шаговый двигатель непосредственно к Arduino. Это не рекомендуется, но это работает. Поэтому, подводя итог, пожалуйста, посмотрите схему, которая является первым вариантом.
Здесь X113647 — это плата, на которой установлен блок ключей.
Обратите внимание, что питание блока ключей обеспечивается только мощным и независимым источником. Конечно, существует также питание Arduino, но не через Arduino. Это означает, что от Arduino к X113647 поступают только управляющие сигналы, а исполнительные сигналы уже генерируются платой X113647, которая управляется от источника питания. Плата X113647 может быть установлена непосредственно с Arduino. В этом случае используется оригинальный стабилизатор Arduino. Это может показаться не очень важным, но на данный момент это так. Если двигатели работают с перебоями и не имеют мощности. В общем, вторая схема тоже имеет право на жизнь, но в случае периодического подключения двигателей, то есть не их непрерывной работы. Что именно.
И самый дикий вариант, тоже то, что я сказал, — это соединиться напрямую с шаговым двигателем и управлять сигналом Arduino.
Одному Богу известно, насколько хорошо это работает, но так не бывает! Но теперь мы можем с абсолютной уверенностью сказать, что мы представили вам все возможные соединения. Далее мы переходим к скетчам шагового двигателя Arduino.
Программное обеспечение для подключения шагового двигателя к Ардуино
Здесь, помимо соединений, приведено несколько вариантов того, как анимировать шаговый двигатель с помощью Ардуинки. Самое простое — выбрать и подать сигнал на четыре ноги. То есть сделать все как можно проще, без библиотек и тому подобного. Код выглядит следующим образом.
Здесь не нужно много объяснять. Количество оборотов можно изменить, последовательно подавая напряжение на выбранные клеммы (2, 3, 4 и 5) и устанавливая время dl через 1. Второй вариант программы, напротив, предполагает использование библиотеки. Это не та библиотека, из которой мы обычно берем книги, а облачное программное обеспечение, содержащее несколько режимов работы для некоторых устройств. В частности, он предназначен для шаговых двигателей. Поэтому, чтобы быстро изменить режим работы, т.е. скорость или направление, достаточно изменить только одну строку или одну цифру, а не переписывать почти все, как в первом примере. Однако эта библиотека также должна быть установлена здесь. На самом деле, просто скачайте папку here (файл) для шаговых двигателей, распакуйте ее и поместите на компьютер, где находится программа Arduino. В моем случае это C:. Program Files (x86). Arduino \ libraries \ Stepper. Это означает, что вы можете перейти к примеру, затем к Stepper и выбрать окончательный эскиз. Вы также не хотите показывать содержание эскизов, поскольку они не будут работать без библиотек, но после установки библиотек все примеры показываются независимо.
На самом деле, всю эту информацию можно рассматривать как полную. И если вы будете следовать всем инструкциям, ваш шаговый двигатель оживет.
Возможные проблемы при подключении шагового двигателя к Ардуино
1 Проблема. Если вы столкнулись со следующей ошибкой: ዄ Invalid library found in C: ዄ Program Files (x86)ዄ Arduino \ libraries \ biblioteka-i-primery-stepper_28byj-stepper_28byj: C: ዄ Program Files(x86)™ Arduino \ libraries \ biblioteka-i-primery-stepper_28byj-stepper_28byjВ этом случае библиотека не установлена. 2Перемена полярности питания может привести к остановке микросхемы UNL2003APG. Если он не работает, светодиоды на плате x113647 могут перестать мигать в определенной последовательности, а двигатель может слегка мигать, но не запускаться.
Чип необходимо заменить. Для этого есть причина, которая (обычно) находится на съемной площадке. Очевидно, что это происходит часто.
На первую клемму вилки питания подается питание 12 В, на вторую — 5 В, а на третью — GND (см. рисунок ниже). Клеммы IN1-IN4 соединены последовательно с цифровыми клеммами 8-11, которые используются для передачи управляющих импульсов.
Необходимые элементы
Для этого проекта вам понадобятся
1 шаговый двигатель с напряжением питания 5 вольт
1 Arduino Uno R3 (или другая плата Arduino)
Наш шаговый двигатель имеет пять выходов. Используйте оба слота с обеих сторон L293D. Потребуется некоторое время, чтобы соединить их все.
Схема подключения показана на рисунке выше. Обратите внимание, что один из выходов шагового двигателя никуда не подключен.
Скетч Arduino
Программное обеспечение использует последовательный дисплей. После запуска откройте его и укажите количество «шагов». Для начала попробуйте значение ближе к 500. Это должно привести к вращению двигателя на 360°. -Введите 500, и ротор будет вращаться в обратном направлении.
Пример — шаговый двигатель
Шаговый двигатель (512, in1Pin, in2Pin, in3Pin, in4Pin),.
// Эта строка предназначена для ArduinoLeonardo. Задержки генерируются на последовательном дисплее
int step = Serial.parseInt (), //Эта строка предназначена для ArduinoLeonardo.
Как вы можете себе представить, в Arduino IDE есть специальная библиотека, которая поддерживает использование шаговых двигателей. Это делает использование двигателя очень простым.
При подключении библиотеки ‘stepper’ инициализируются управляющие контакты ‘in1’ — ‘in4’.
Чтобы объявить эти контакты с помощью библиотеки шаговых двигателей, используйте следующие команды
Шаговый двигатель (768, in1Pin, in2Pin, in3Pin, in4Pin),.
Первый параметр — это количество «шагов», которое шаговый двигатель должен сделать для полного вращения. Для точной установки ротор двигателя можно повернуть за один шаг.
Затем устанавливается последовательная связь, и плата Arduino может получать команды из окна последовательного мониторинга ArduinoIDE.
Следующая команда определяет скорость вращения ротора шагового двигателя.
Функция ‘loop’ очень проста. Функция ожидает команды от последовательного дисплея и преобразует текст в переменную int в виде числа с помощью команды ‘parseInt’. Затем он посылает сигнал на двигатель, заставляя его вращаться на заданное количество шагов.
Полезная информация о шаговых двигателях
По сути, шаговый двигатель — это шестерня, которая взаимодействует с электромагнитной катушкой для вращения на определенное количество шагов.
Подавая питание на катушки в определенной последовательности, двигатель начинает вращать ротор. Количество шагов, необходимое для вращения двигателя на 360 градусов, фактически совпадает с количеством шестерен.
Двигатель, который мы используем, имеет 48 ступеней, но у нас также есть коробка передач 1:16. Это дает 16×48 = 768 шагов.
В этом примере красный кабель не используется для общего соединения. Этот кабель можно использовать для подачи питания на левую или правую сторону отдельных катушек, добиваясь эффекта реверсирования потока электроэнергии без изменения направления электрической цепи.
Общее соединение не требуется, так как для обеспечения реверса тока в схеме используется микросхема L293D. Каждая катушка может поставляться в полной безопасности.
Прежде чем мы начнем писать программу для платы Arduino, давайте разберемся, что должно происходить в этой программе. Как уже упоминалось, используется метод 4-х шаговой последовательности. Это означает, что для полного вращения двигателя необходимо выполнить четыре действия.
Шаг 2: Код
Следующий код вращает двигатель на 100 шагов в одном направлении и на 100 шагов в противоположном направлении.
Код указывает на использование шагового двигателя, который регулирует свою скорость и вращает двигатель по команде в обоих направлениях.
Этот шаг указывает на использование кардиостимулятора. Синтаксис требует указания количества шагов двигателя в качестве первого параметра, за которым следует клемма, к которой подключен двигатель. Необходимо указать два контакта моторного щита Arduino. Это указывает направление, в котором возбуждается катушка.
При обычном управлении шаговыми двигателями на моторном щите два контакта ШИМ определяют количество энергии, подаваемой на каждый двигатель. Однако при использовании степпера используется полная мощность, поэтому работа упрощается, и контакты ШИМ непосредственно устанавливаются в состояние HIGH.
Другим важным шагом является определение скорости, на которой будет вращаться двигатель. Например, если скорость установлена на 60 об/мин, а двигатель имеет 200 шагов, как в данном случае, то для выполнения одного шага требуется приблизительно 5 мс. Скорость вращения двигателя можно изменить в любое время.
Наконец, для перемещения двигателя необходимо отправить команду, содержащую количество шагов, которые необходимо выполнить. Если отправлено отрицательное число шагов, двигатель будет двигаться в противоположном направлении. Обратите внимание, что функция step() останавливает выполнение программы до тех пор, пока двигатель не будет полностью повернут. Например, если вы зададите 200 шагов со скоростью один оборот в минуту, Arduino будет продолжать выполнять программный код ровно одну минуту.
Arduino ожидает, что степпер будет работать, пока вы даете эту команду. Шаговые двигатели не имеют обратной связи, поэтому даже если вы затянете клеммы двигателя, Arduino будет считать, что двигатель вращается, хотя на самом деле он неподвижен.
Шаг 4: Больше информации о степперах
Шаговые двигатели отличаются от обычных двигателей постоянного тока тем, что они не просто вращаются, а перемещаются на небольшие расстояния в определенном направлении. Эти короткие интервалы называются шагами. Вы можете дать указание кардиостимулятору двигаться на один или несколько шагов в определенном направлении. Они не всегда быстрые, но они очень точные и имеют определенный крутящий момент. Например, узел подачи бумаги принтера содержит ступенчатую систему. 3D-принтеры и ЧПУ также включают в себя кардиостимуляторы из-за их точности и стабильности.
Биполярные двигатели имеют две катушки без центральной катушки, в отличие от биполярных двигателей. Это означает, что катушки должны вращаться в обоих направлениях в разное время. Для сравнения, биполярный шаговый двигатель — это как два двигателя постоянного тока, которые всегда нужно приводить в движение одновременно в разных направлениях. Если одна катушка возбуждается в одном направлении, другая катушка должна приводиться в движение в противоположном направлении. Эта поляризация создает импульс, который вращает ступеньку.
Пошаговые фотографии и видеоуроки учат, как строить вещи.
Они способны вращаться в обоих направлениях по одному «шагу» за раз, с точным позиционированием ротора в определенном положении, а также могут вращаться с определенной частотой.
Примеры
Используйте версию библиотеки GyverStepper2 (входит в комплект GyverStepper). Чтобы использовать 4-проводную направляющую, создайте объект GStepper2 и в квадратных скобках укажите тип драйвера STEPPER4WIRE. Затем в скобках указывается количество шагов на оборот и контакты по порядку (фаза A1, фаза A2, фаза B1, фаза B2). Из второго изображения (иллюстрирующего кабели двигателя) видно, что первая фаза — это кабели 2 и 4, а вторая фаза — кабели 3 и 1. Поскольку драйвер не изменяет порядок кабелей, контакты должны быть определены программой. Их необходимо заменить по порядку (1, 3, 2, 4), т.е. центральный. На схеме направляющая подключена к контактам D2, D3, D4 и D5, а программа определяет их как (2, 4, 3, 5). Если они установлены в том же порядке, что и штифты, двигатель не будет работать должным образом!
В данном примере поверните двигатель на пол-оборота, а затем снова включите его. Каждый раз вы ждете, пока мотор доберется до своего места.
Используя библиотеку, двигатель можно перемещать, не блокируя выполнение кода, поэтому его можно переписать следующим образом
В этом примере также показано расположение двигателя в порту. Вы можете открыть плоттер для просмотра графика.
Позиция здесь извлекается пошагово, с максимальным значением, соответствующим половине оборота.
Библиотека также поддерживает движение с ускорением, добавив setAcceleration ()
Двигатель перестает сокращаться при изменении направления, и график выглядит следующим образом