Регулировка скорости вращения шагового двигателя
Регулировка скорости вращения шагового двигателя
Коротко о том с чего все началось. Однажды появилась потребность в демонстрационном столике или как еще его называют вращающийся столик. Покупать готовый не стал в связи с тем что жалко портить новый, да и к тому же столики имеющиеся в продаже по некоторым характеристикам не подходят для моих целей. Для этой цели решил использовать Arduino и шаговый двигатель в связи с тем что он может вращаться на низких скоростях что и требуется для этой цели.
Если у вас возникнут вопросы по данной теме то вы можете их задать в комментариях под видео в YouTube перейдя по этой ссылке www.youtube.com/Мастер Колотушкин
1 шаг. Что понадобится для проекта:
Arduino UNO 1 штука.
USB кабель для подключения Arduino UNO к компьютеру 1 штука и конечно же сам компьютер с установленным приложением Arduino IDE
Униполярный шаговый двигатель 28BYJ-48 5V на 5 вольт и драйвер к нему на базе микросхемы ULN2003 который обычно идет в комплекте с шаговым двигателем, 1 комплект.
Соединительные провода мама мама для подключения линий питания 2 штуки.
Соединительные провода папа мама для подключения управляющих электрических цепей 4 штуки.
Потенциометр с сопротивлением от 3 до 50 киллоом 1 штука, с заранее припаяными проводами типа папа. Зеленый подпаян к средней ноге потенциометра!
2 шаг. Подключить Arduino UNO к компьютеру с помощью кабеля.
3 шаг. Запустить приложение Arduino IDE (подойдет любая версия).
4 шаг. Открыть скетч (прошивка для Arduino) Файл/ Примеры/ Stepper/ stepper_speedControl.
Если у вас по какой-то причине отсутствует данный скетч то вы можете его скопировать с окна ниже и вставить в чистое поле приложения ArduinoIDE. После чего можно приступать к 5 шагу.
//Начало скетча stepper_speedControl 1
//Конец скетча stepper_speedControl 1
А если у вас не оказалось библиотеки Stepper, то можете воспользоваться скетчем ниже, который работает без библиотек.
//Начало скетча stepper_speedControl 2
//Конец скетча stepper_speedControl 2
5 шаг. Если вы как и я решили использовать плату Arduino UNO то во вкладке Инструменты/Плата: выберите пункт Arduino/Genuino Uno который обведен красным на фото ниже.
6 шаг. Во вкладке Инструменты выбрать порт к которому подключена плата Arduino в моем случае это COM11 у вас может быть другой, то есть у меня галочка должна стоять на против COM11.
В нижнем правом углу должно быть Arduino/Genuino на COM(номер ком порта к которому подключена плата) если все верно то переходим к следующему шагу.
7 шаг. Загружаем скетч нажав кнопку Загрузки со стрелочкой.
Если вы используете скетч с этой страницы то приложение при загрузке предложит сохранить его. После чего загрузка продолжится
Через 5-45 секунд скетч загрузится и появится уведомление Загрузка завершена.
8 шаг. Отключаем Arduino от компьютера и подключаем потенциометр.
Зеленый провод который подпаян к средней ноге потенциометра подключаем контакту A0, остальные два к питанию GND (минус) и +5V (5 вольт) полярность на ваше усмотрение.
В моем случае если вращать потенциометр по часовой стрелке то скорость вращения шагового двигателя увеличивается, а если поменять местами серый с красным проводом то при вращении потенциометра так же по часовой стрелке скорость вращения шагового двигателя будет уменьшаться.
9 шаг. С помощью соединительных проводов папа мама подключаем драйвер шагового двигателя к Arduino UNO.
Линия 1N1 к 8 контакту, линия 1N2 к 9 контакту, линия 1N3 к 10 контакту и линия 1N4 к 11 контакту.
10 шаг. Проводами мама мама соединяем линии питания.
Такой способ подключения допустим лишь при использовании маломощных шаговых двигателей! При использовании нескольких, или более мощных шаговых двигателей следует использовать отдельный источник питания! При этом у ардуины и драйвера шагового двигателя должна быть общая земля!
11 шаг. Должно все получиться как на фото ниже! Если это так то подключаем Arduino к компьютеру или Павербанку и пробуем крутить потенциометр.
Доработка демонстрационного столика для которого была применена данная схема
Творческая мастерская Мастер Колотушкин 2021
Проекты на базе Arduino для начинающих, электронные самоделки своими руками.
Управляем шаговым двигателем с помощью Arduino и контроллера Easy Driver
Существует куча двигателей. И порой возникает вопрос, какой именно выбрать для вашего проекта на Arduino.
В этой статье мы детально обсудим один из типов двигателей — шаговый двигатель. Разберемся, в каких случаях уместно его использование. Рассмотрим пример подключения с использованием драйвера Easy Driver.
Необходимые элементы
- Драйвер для шагового двигателя EasyDriver;
- Небольшой шаговый двигатель;
- Макетная плата;
- Провода мама-мама;
- Коннекторы;
- Arduino Uno или подобный микроконтроллер;
- Паяльник;
- Источник питания на 12 В (или регулируемый источник питания)
Принцип работы шагового двигателя
Основное отличие шаговых двигателей от двигателей постоянного тока: они не только вращаются в различных направлениях, но обеспечивают точное угловое позиционирование ротора. Скорость вращения двигателя постоянного тока можно регулировать с помощью подачи большей или меньшей силы тока, но обеспечить остановку ротора в заданном положении невозможно. Теперь представьте себе принтер. Внутри, если вы его разберете, обнаружите огромное количество подвижных узлов, включая и двигатели. Один из установленных моторов обеспечивает подачу бумаги в то время как краска распыляется на бумагу. Этот двигатель должен обеспечивать подачу бумаги на определенное расстояние для построчной печати. Второй двигатель в принтере устанавливается для перемещения картриджа. Опять таки, необходимо обеспечить точно заданное позиционирование картриджа. В подобных случаях рационально использовать именно шаговые двигатели.
Шаговые двигатели обеспечивают вращение ротора на определенный угол (или шаг) при соответствующем сигнале управления. Это дает вам возможность получить полный контроль над положением узлов механизмов и выходить в заданную позицию. С конструктивной точки зрения это реализуется за счет подачи питания на разные катушки внутри двигателя. Правда, есть и свои недостатки — надо постоянно обеспечивать питание шагового двигателя при его выстое в заданной позиции. В данной статье в детали мы вдаваться не будем. Конструктивные особенности шаговых двигателей и их принцип действия раскрыты в статье двигатели и Arduino. Здесь ограничимся лишь тем фактом, что для управления шаговым двигателем, вы должны задать ему необходимое количество шагов в одном или противоположном направлениях и указать скорость шага.
На сегодняшний день существует огромное количество моделей шаговых двигателей и плат управления к ним (драйверов). Методики, которые раскрыты дальше, применимы к большинству шаговых двигателей и драйверов, которые не упоминаются здесь. При этом, прежде чем работать с незнакомым драйвером или шаговым двигателем, рекомендую ознакомится с их даташитами или отдельными гайдами по их использованию.
Ниже приведена информация о сборке драйвера, подключении и управлении шаговым двигателем с использованием Arduino.
Сборка драйвера
Самый простой метод использования драйвера EasyDriver — установить на нем коннекторы для последующей установки на макетной плате. Теоретически, можно закрепить коннекторы и на макетной плате.
Первый шаг — монтаж коннекторов на плату EasyDriver. В данном примере будут использованы не все выходы на драйвере, но все равно рекомендую распаять все отверстия. Как минимум, это обеспечит более надежную установку драйвера на макетной плате. Да и в дальнейшем все выходы могут пригодиться. Отломайте необходимое количество коннекторов и установите их на макетку. После этого сверху поставьте драйвер запаяйте все коннекторы.
Схема подключения
После распайки пришло время подключить драйвер к Arduino. Схема подключения несложная и приведена на рисунке ниже.
Примечание. Маленький шаговый двигатель выглядит не так, как он изображен на схеме подключения. У него должен быть коннектор с четырьмя разъемами на конце. Этот коннектор можно напрямую подключить к разъему с четырьмя коннекторами на драйвере (см. Рисунок после распайки выше). Только обратите внимание на даташит вашего двигателя. Бывает такое, что разводка кабелей не соответсвует пинам на драйвере.
Важно! Шаговые двигатели потребляют больше тока, чем может предоставить Arduino. В связи с этим мы будем питать Arduino от 12 В. При этом вход для питания (М+) на EasyDriver подключен к пину Vin на Arduino. Благодаря этому, можно запитывать Arduino и двигатель от одного источника.
Программа Arduino для вращения шагового двигателя
После подключения, можно заливать программу в Arduino. Ниже приведен исходник простенького скетча для первого запуска. В интернете куча готовых кусков кода, которые вы спокойно можете использовать в своих целях. Кроме того, в Arduino IDE есть полноценная встроенная библиотека Stepper library, которая значительно упрощает процесс вашего общения с шаговыми двигателями.
В данном примере рассматривается управление шаговым двигателем с использованием контроллера EasyDriver и Arduino. После прошивки платы и подключения, ротор будет вращаться в одном и противоположном направлении.
digitalWrite(dirpin, LOW); // Устанавливаем направление
for (i = 0; i<4000; i++) // итерации повторяются до 4000 микрошагов
digitalWrite(steppin, HIGH); // В этих двух строках LOW и HIGH дается команда шаговому двигателю двигаться
delayMicroseconds(500); // Эта задержка соответствует максимальной скорости данного конкретного шагового двигателя
digitalWrite(dirpin, HIGH); // Смена направления
for (i = 0; i<4000; i++) // Аналогично предыдущему блоку
Дальнейшие эксперименты с шаговыми двигателями
Разобравшись с основами управления шаговым двигателем, можно переходить с реальным проектам. В интернете огромное количество проектов, сделанных именно с использованием драйвера EasyDriver. Но рекомендую ограничиваться не только этой платой, но и попробовать другие. Китай сейчас позволяет за действительно небольшие деньги приобрести отличный аналог рассмотренного в примере драйвера. Туториалы на большинство из них тоже есть.
Форум сайта mypractic.ru
Плавная регулировка скорости вращения ШД с помощью потенциометра
Плавная регулировка скорости вращения ШД с помощью потенциометра
- Цитата
Сообщение Олег » 30 янв 2018, 13:25
Помогите чайнику разобраться-)
Имеем Ардуино Уно
Драйвер Step/Dir TB6560-V2.
Шаговый двигатель 200 шагов за оборот.
На данном этапе необходимо:
иметь возможность ПЛАВНО регулировать скорость вращения двигателя в диапазоне 100-350 оборотов в минуту с помощью потенциометра, с выводом значения на 7-сегментный LED индикатор.
Посоветуйте, пожалуйста, какие библиотеки использовать.
Re: Плавная регулировка скорости вращения ШД с помощью потенциометра
- Цитата
Сообщение Эдуард » 30 янв 2018, 14:14
-
Для STEP/DIR драйвера библиотека StepDirDriver (урок 35).
Для управления LED индикатором библиотека Led4Digits (урок 20).
1. Из урока 35 загрузить в Ардуино скетч программы драйвера ШД с управлением AT командами, и с помощью программы верхнего уровня (из того же урока) проверить работу драйвера, самого двигателя, диапазон регулировки скорости, крутящий момент двигателя и т.п. Таким образом вы сможете полностью проверить работу вашей системы, как электронику, так и механику. Только регулировка будет не от потенциометра, а с компьютера.
2. Если все устраивает, тогда начинаете писать программу. Пишите простейший вариант, который просто вращает двигатель с постоянной скоростью.
#include <TimerOne.h>
#include <StepDirDriver.h>
StepDirDriver myMotor(10, 11, 12); // создаем объект типа StepDirDriver, задаем выводы для сигналов
void setup() <
Timer1.initialize(250); // инициализация таймера 1, период 250 мкс
Timer1.attachInterrupt(timerInterrupt, 250); // задаем обработчик прерываний
myMotor.setMode(0, false); // шаговый режим, без фиксации при остановке
myMotor.setDivider(10); // делитель частоты 10 (1 оборот в сек)
>
void loop() <
myMotor.step(100);
>
//————————————— обработчик прерывания 0,25 мс
void timerInterrupt() <
myMotor.control(); // управление двигателем
>
3. К этому скелету программы начинаете добавлять все остальное. Подключаете потенциометр и считываете его значение. Я бы настоятельно советовал это значение усреднить. Об этом написано в уроке 13.
4. Масштабируете значение потенциометра в необходимый вам диапазон для скорости вращения (setDivider). Рабочий диапазон определяете на пером этапе.
5. Загружаете масштабируемое значение в setDivider. Теперь вы можете регулировать скорость вращения двигателя от потенциометра.
6. Остается добавить индикацию. читаете урок 20, добавляете библиотеку, выводите на индикатор значение setDivider. Проверяете.
7. Переводите значение setDivider в нужный вам формат, например число оборотов в минуту.
Я вижу это как-то так.
Re: Плавная регулировка скорости вращения ШД с помощью потенциометра
- Цитата
Сообщение Nicolaich » 13 ноя 2019, 22:21
День добрый. По этой теме у меня получился скетч ( на базе уроков Эдуарда);
/* Здесь попытка управлять скоростью вращения ШД потенциометром
* Функция map(value, fromLow, fromHigh, toLow, toHigh)
Функция пропорционально переносит значение (value) из текущего диапазона зна-
чений (fromLow .. fromHigh) в новый диапазон (toLow .. toHigh), заданный пара-
метрами.
Функция map() не ограничивает значение рамками диапазона, как это делает функ-
ция constrain(). Функция contsrain() может быть использована до или после вы-
зова map(), если необходимо ограничить допустимые значения заданным диапазо-
ном.
Обратите внимание, что "нижняя граница" может быть как меньше, так и больше
"верхней границы". Это может быть использовано, чтобы "перевернуть" диапазон:
y = map(x, 1, 50, 50, 1);
Возможно использование отрицательных значений:
y = map(x, 1, 50, 50, -100);
Функция map() оперирует целыми числами. При пропорциональном переносе
дробная часть не округляется по правилам, а просто отбрасывается.
Параметры:
value — значение для переноса;
fromLow — нижняя граница текущего диапазона;
fromHigh — верхняя граница текущего диапазона;
toLow — нижняя граница нового диапазона, в который переносится значение;
toHigh — верхняя граница нового диапазона.
Возвращаемое значение — значение в новом диапазоне
*/
#include <TimerOne.h>
#include <StepDirDriver.h>
StepDirDriver myMotor(10, 11, 12); // создаем объект типа StepDirDriver, задаем выводы для сигналов
// Step,Dir, Enable
int potPin= A0; // потенциометр
int inputCod; // код входного напряжения на A0
void setup() <
Serial.begin(9600);
//pinMode(A0, INPUT);установка режима аналогового входа для A0
Timer1.initialize(250); // инициализация таймера 1, период 250 мкс
Timer1.attachInterrupt(timerInterrupt, 250); // задаем обработчик прерываний
myMotor.setMode(0, false); // шаговый режим, без фиксации при остановке
myMotor.setDivider(10); // делитель частоты 10 (1 оборот в сек)
>
int inputCod = analogRead(A0); // чтение напряжения на входе A0
inputCod = map(inputCod, 0,1023, 5, 15);
Шаговые двигатели выбор и расчет основных параметров
Шаговые двигатели выбор и расчет основных параметров.
Шаговый двигатель — это электромеханическое устройство, которое преобразует электрические импульсы в дискретные механические движения. Вал шагового двигателя вращается с дискретным шагом, когда на него подаются управляющие импульсы в правильной последовательности. Вращение двигателей напрямую зависит от входящих импульсов, так же они напрямую управляют направлением и скоростью вращения вала двигателя.
Преимущества и недостатки шагового двигателя:
Преимущества:
— угол поворта двигателя пропорционален входным импульсам;
— фиксация положения при остановке током удержания;
— точное позиционирование и повторяемость движения, так как большинство шаговых двигателей имеют точность 3-5% шага, и эта ошибка не суммируется от одного шага к следующему;
— низкая инертность при запуске, остановке и реверсе;
— высокая надежность, поскольку в двигателе отсутствуют контактные щетки, поэтому срок службы двигателя в основном зависит от срока службы подшипников;
— реакция двигателя на цифровые входные импульсы обеспечивает управление без обратной связи, что делает систему более простой и, следовательно, более экономичной;
— можно достичь очень низкой скорости синхронного вращения с нагрузкой, которая напрямую связана с валом;
— можно реализовать широкий диапазон скоростей вращения, так как скорость пропорциональна частоте входных импульсов;
— шаговые двигатели дешевле серводвигателей.
Недостатки:
— может возникнуть явление резонанса, при некорректном расчете узла или системы управления;
— двигатель непрост вэксплуатации наочень высоких скоростях, 3000+ об/мин;
— сложность системы управления;
— падение мощности с ростом скорости вращения;
— отсутствие обратной связи;
— невысокая удельная мощность;
— низкая скорость вращения;
— шум.
Выбор шагового двигателя.
Шаговый двигатель можно использовать когда требуется контролируемое движение. Они могут использоваться в приложениях, где необходимо контролировать угол поворота, скорость, положение и синхронизацию. Из-за присущих выше преимуществ, шаговые двигатели нашли свое место в различных устройствах: принтеры, плоттеры, лазерные резаки, гравировальные станки, устройства захвата и так далее.
При выборе шагового двигателя для вашего устройства необходимо учитывать несколько факторов:
Как двигатель будет связан с нагрузкой?
Какие скорость и ускорения необходимо реализовать?
Какой крутящий момент необходим для перемещения исполнительного механизма?
Какая степень точности требуется при позиционировании?
Количество полюсов (однополюсный/биполярный)
Обычно шаговые двигатели имеют две фазы, но также существуют трех- и пятифазные двигатели. Биполярный двигатель с двумя фазами имеет одну обмотку/фазу, а однополярный двигатель имеет одну обмотку с центральным отводом на фазу. Иногда шаговый двигатель называют четырехфазным двигателем, хотя он имеет только две фазы. Двигатели с двумя отдельными обмотками на фазу могут приводиться в двухполярный или однополярный режим. Желательно, чтобы количество проводов на двигателе соответствовало количеству контактов на драйвере, чтобы не заниматься различными ухищрениями при подключения.
Номинальный ток
Обычно указывается максимальный ток, который подается одновременно на обе обмотки. Максимальный ток через одну обмотку (который действительно имеет значение при использовании микрошагов) указывается достаточно редко. При подаче номинального тока на одну обмотку происходит нагрев двигателя, из-за этого обычно ограничивают ток двигателя не более 85% от номинального тока. Для достижения максимального крутящего момента двигателя без перегрева, необходимо выбрать двигатель с номинальным током не более чем на 25% выше, чем рекомендуемый максимальный ток привода шагового двигателя.
Крутящий момент
Выходной крутящий момент и мощность шагового двигателя зависят от размера двигателя, теплоотвода, рабочего цикла, обмотки двигателя и типа используемого привода. Если шаговый двигатель работает без нагрузки во всем диапазоне частот, одна или несколько точек собственных колебаний резонанса могут быть обнаружены либо по звуку, либо по датчикам вибрации. Полезный крутящий момент от шагового двигателя может быть резко уменьшен за счет резонансов. Работы на резонансных частотах следует избегать. Внешнее демпфирование, дополнительная инерция или применение микрошагов используются для уменьшения эффекта резонанса.
Удерживающий момент
Это максимальный крутящий момент, который может обеспечить двигатель, когда обе обмотки находятся под напряжением при полном токе. Крутящий момент пропорционален току (за исключением очень малых токов), поэтому, например, если вы установите драйверы на 85% от номинального тока двигателя, то максимальный крутящий момент будет 85% * 0,707 = 60% от указанного удерживающего момента.
Крутящий момент возникает, когда угол ротора отличается от идеального угла, который соответствует току в его обмотках. Когда шаговый двигатель ускоряется, возникает крутящий момент для преодоления собственной инерции ротора и массы нагрузки, приводимой в движении. Чтобы создать этот крутящий момент, угол ротора должен отставать от идеального угла.
Известно, что использование микрошага снижает крутящий момент. На самом деле это означает, что угол запаздывания равен углу, соответствующему одному микрошагу (поскольку вы хотите, чтобы положение было с точностью до одного микрошага), более высокое значение микрошага предполагает уменьшение угла, а значит и уменьшение крутящего момента. Крутящий момент на единицу угла (что действительно имеет значение) не уменьшается при увеличении микрошага. Иными словами, отправка импульса на двигатель на один микрошаг 1/16 приводит к точно таким же фазовым токам (и, следовательно, к тем же силам), что и к отправке двух 1/32 микрошагов или четырех 1/64 микрошагов и так далее.
Размер
Шаговые двигатели также классифицируются в соответствии с размерами корпуса, которые соответствуют размеру рамы двигателя. Например, шаговый двигатель NEMA11 имеет размер рамы приблизительно 1,1 дюйма (28 мм). Аналогично, шаговый двигатель NEMA23 имеет размер корпуса 2,3 дюйма (57 мм) и т. д. Однако длина корпуса может изменяться от двигателя к двигателю в рамках одной и той же классификации размеров, при этом крутящий момент двигателя с определенным размером рамы будет увеличиваться с увеличением длины корпуса.
— габарит рамы 20х20 мм;
— диапазон длин: 30-42 мм;
— крутящий момент: 0,18-0,3 кг*см.
— габарит рамы 28х28 мм;
— диапазон длин: 32-51 мм;
— крутящий момент: 0,43-0,9 кг*см.
— габарит рамы 35х35 мм;
— диапазон длин: 28 мм;
— крутящий момент: 1,0 кг*см.
— габарит рамы 39х39 мм;
— диапазон длин: 20-38 мм;
— крутящий момент: 0,65-2,0 кг*см.
— габарит рамы 42х42 мм;
— диапазон длин: 25-60 мм;
— крутящий момент: 1,7-6,5 кг*см.
— габарит рамы 56х56 мм;
— диапазон длин: 41-76 мм;
— крутящий момент: 2,88-18,9 кг*см.
— габарит рамы 86х86 мм;
— диапазон длин: 65-156мм;
— крутящий момент: 34-122 кг*см.
— габарит рамы 110х110 мм;
— диапазон длин: 99-201 мм;
— крутящий момент: 112-280 кг*см.
— габарит рамы 130х130 мм;
— диапазон длин: 165-270 мм;
— крутящий момент: 270-500 кг*см.
Угол шага.
Существует два распространенных угла шага: 0,9 и 1,8 градуса на полный шаг, что соответствует 400 и 200 шагам/оборот. Большинство устройств используют двигатели с шагом 1,8 град/шаг.
При заданной скорости вращения 0,9-градусный двигатель производит вдвое больше индуктивной обратной эдс, чем 1,8-градусный двигатель, из-за этого возможно будет необходимо использовать питание 24 В для достижения высоких скоростей с двигателями 0,9 градуса.
Для двигателей 0,9 градуса необходимо подавать шаговые импульсы драйвера с удвоенной скоростью по сравнению с двигателями 1,8 градуса. Если вы используете высокий микрошаг, тогда скорость может быть ограничена скоростью, с которой электроника может генерировать шаговые импульсы.
Разрешение и точность позиционирования.
На разрешение и точность позиционирования системы шагового двигателя влияют несколько факторов: угол шага (длина полного шага шагового двигателя), выбранный режим движения (полный шаг, полшага или микрошаг) и скорость передачи. Это означает, что есть несколько различных комбинаций, которые можно использовать для получения желаемого разрешения, из-за этого проблема разрешения обычно может быть решена после того, как были определены размер двигателя и тип привода.
Самоиндукция .
Индуктивность двигателя влияет на скорость, с которой драйвер шагового двигателя может приводить двигатель в действие до падения крутящего момента. Если мы временно игнорируем обратную эдс из-за вращения, а номинальное напряжение двигателя намного меньше, чем напряжение питания привода, то максимальные обороты в секунду перед падением крутящего момента составляют:
оборотов_в_секунду=(2*напржение_БП)/(шагов_на оборот*3,14* индуктивность* ток)
Если двигатель приводит ремень GT2 через шкив, это дает максимальную скорость в мм/с как:
Например:
двигатель 1,8 град/шаг ( т. е. 200 шагов/об) с индуктивностью 4 мГн работает при 1,5, А при напряжении питания 12 В, и привод ремня GT2 с 20-зубчатым шкивом начинает терять крутящий момент со скоростью около 250 мм/с.
На практике крутящий момент начинает падать раньше, чем это из-за обратной эдс, вызванной движением, потому что не учитывается сопротивление обмоток. Моторы с низкой индуктивностью также имеют низкую ЭДС из-за вращения. Для достижения высоких скоростей, необходимо выбирать двигатели с низкой индуктивностью и высоким напряжением питания.
Сопротивление и номинальное напряжение
Это сопротивление на фазу и падение напряжения на каждой фазе, когда двигатель неподвижен, и фаза передает свой номинальный ток (который является результатом сопротивления и номинального тока). Это важно когда номинальное напряжение значительно ниже напряжения питания для шаговых драйверов.
Обратный ЭДС из-за вращения
Когда шаговый двигатель вращается, то создается обратная эдс. При идеальном нулевом угле запаздывания на 90 градусов не в фазе с напряжением возбуждения, а в фазе с обратной ЭДС из-за индуктивности. Когда двигатель выдает максимальный крутящий момент и находится на грани пропуска шага, он находится в фазе с током.
Обратный ЭДС из-за поворота обычно не указывается в спецификации, но мы можем оценить его по следующей формуле:
Формула предполагает, что удерживающий момент указан для обеих фаз, находящихся под напряжением при номинальном токе. Если это указано только с одной фазой под напряжением, замените 1,414 на 2.
Пример: рассмотрим 200-шаговый двигатель, приводящий каретку через шкив с 20 зубцами и ремень GT2. Это 40-миллиметровое движение за оборот. Для достижения скорости 200 мм/сек нам нужно 5 об/сек. Если мы используем двигатель с удерживающим моментом 0,55 Нм, когда обе фазы работают при 1,68, А, пиковая обратная эдс из-за вращения составляет
1,414 * 3,142 * 0,55 * 5 / 1,68 = 7,3 В.
Как вбрать необходимое напряжение питания
Если заранее известна необходимая скорость движения для вашего устройства, можно предварительно определить, какое напряжение питания вам потребуется для драйверов двигателя.
Пример: определим необходимую скорость движения. Для этого примера будем использовать 200 мм/сек, передача шкив 20 зубьев GT2.
Исходя из необходимой скорости движения, определим максимальную скорость ремня.
Прикинем обратную ЭДС от индуктивности:
где N — число полных шагов на оборот (200 для двигателей с 1,8 градусами или 400 для двигателей с 0,9 градусами).
Возьмем для примера двигателя со следующими параметрами: 0,9 градуса с индуктивностью 4,1 мГн, и токе 1А. Таким образом, обратная эдс из-за индуктивности составляет:
Вычислим обратную ЭДС из-за вращения по приведенной ранее формуле.
Двигатели для примера имеют номинальный ток 1,68А и момент удержания 0,44 Нм, поэтому результат равен:
Предпочтительно, чтобы напряжение питания драйвера составляло по меньшей мере сумму этих двух обратных эдс, плюс еще несколько вольт запаса. При использовании двух двигателей последовательно требуемое напряжение удваивается.
Алгоритм выбора шагового двигателя
1. Определение компонента механизма привода .
Определите механизм и необходимые входные данные, вариант механизма, приблизительные размеры, расстояния перемещения и время позиционирования.
2. Рассчитайте необходимое разрешение.
Найдите разрешение, необходимое для двигателя. Исходя из требуемого разрешения, определите, будет ли использоваться только двигатель или мотор-редуктор . Тем не менее, благодаря использованию технологии микрошагов, достичь требуемого разрешения стало гораздо легче.
3. Определите схему работы
Определите схему работы, которая соответствует требуемым данных. Рассчитайте значения ускорения (замедления) и скорость рабочего импульса, чтобы рассчитать момент ускорения.
4. Рассчитайте необходимый крутящий момент.
Рассчитайте момент нагрузки и момент ускорения и найдите требуемый момент, требуемый двигателем.
5. Выберите двигатель.
Сделайте предварительный выбор двигателя на основе требуемого крутящего момента. Определите используемый двигатель по характеристикам скорости и крутящего момента.
6. Проверьте выбранный двигатель.
Подтвердите скорость ускорения / замедления и коэффициент инерции.
Общие рекомендации:
— если не планируется использовать внешние драйверы шаговых двигателей, выбирайте двигатели с номинальным током не менее 1,2, А и не более 2,0 А.
— рассчитывайте на рабочий ток шагового двигателя 50-85% от номинального.
— размер:
Nema 17- самый популярный размер, используемый в домашних проектах.
Nema 23 необходимо использовать если не хватает крутящего момента от длинных двигателей Nema 17.
— старайтесь не использовать двигатели с номинальным напряжением (или произведением номинального тока и фазового сопротивления)> 4 В или индуктивности> 4 мГн.
— выборйте двигатель с 0,9 град/шаг, если необходима дополнительная точность позиционирования, для стандартных решений используйте двигатели 1,8 град/шаг.
— при использовании 0,9 градусных шаговых двигателей или двигателей с высоким крутящим моментом, необходимо применение блоков питания с напряжением 24 В, чтобы поддерживать крутящий момент на более высоких скоростях.