2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое двигатели nema

Управление несколькими шаговыми двигателями Nema 17 одновременно или NemaStepper

  • Новости 1С-Битрикс
  • Полезные статьи

Я думаю что вы, если работали с arduino+nema 17, знаете, что запустить несколько двигателей одновременно бывает очень затруднительно.

Есть разные способы решения этой проблемы, самый простой, пожалуй — использование библиотеки NemaStepper. Библиотека упрощает данную задачу во много раз, главное преимущество — она не останавливает выполнение программы. Устанавливается она также, как и все остальные библиотеки. Распространяется по MIT лицензии.

Ну что, давайте приступим. И начнем мы с подключения.

Мы будем использовать Simple Nema 17 с алиэкспресса за 500 рублей, драйвер L298N и arduino uno. Вот они:

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

Итак, подключаем мотор к драйверу:

Библиотека является объектно — ориентированной. Давайте рассмотрим пример включения одного мотора:

О всех методах библиотеки можно узнать из файлов исходного кода библиотеки (в шапке библиотеки есть описание).

*Подробнее о коде в примере.

А теперь переходим к примеру.

В библиотеке есть встроенный пример (на данный момент он там один), который позволяет управлять сразу тремя моторами с Serial.

Данный пример принимает на порт команды, указанные ниже.

Давайте его разберем.

Начнем с шапки — подключения библиотек:

Далее объявляются три мотора, со следующими параметрами:

1. Первый пин
2. Второй пин
3. Третий пин
4. Четвертый пин
5. Количество шагов за оборот — у большинства моторов Nema 17 это 200.
6. Стартовая скорость
7. Значение указывающее, нужно ли удерживать вал после остановки (при true драйверы превращаются в барбекю)

Далее инициализация порта:

Затем, ВАЖНО! В главном цикле нужно обновлять положение двигателей командой Step()

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

И так, давайте попробуем загрузить ее в плату.

Тогда заходим в монитор порта и вводим команды из кода.
Каждая команда заканчивается символом /.
Первые три символа — название команды.
То, что между названием и / — параметры.
Давайте включим моторы командой «EMS/» (Enable MotorS).
Затем укажем мотору 1 скорость 60 командой «SS160/» (Set Speed), где 60 — скорость.
И наконец, включим первый мотор командой «MV1100/», (MoVe) где 100 — количество оборотов.
Все работает. Ура.

Тоже самое с остальными моторами.

Ну и где взять библиотеку.

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

Спасибо за прочтение, надеюсь вам помогла моя статья.

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

Управление шаговым двигателем с помощью платы Arduino.

В данной статье мы продолжаем разбираться с темой шаговых двигателей. В прошлый раз мы подключили к плате Arduino NANO небольшой моторчик 28BYJ-48 (5V). Сегодня мы будем делать то же самое, но с другим мотором — NEMA 17, серии 17HS4402 и другим драйвером — A4988.

Шаговый мотор NEMA 17 — это биполярный двигатель с высоким крутящим моментом. Может поворачиваться на заданное число шагов. За один шаг совершает оборот на 1,8°, соответственно полный оборот на 360° осуществляет за 200 шагов.
Биполярный двигатель имеет две обмотки, по одной в каждой фазе, которая для изменения направления магнитного поля переполюсовывается драйвером. Соответственно, от мотора отходят четыре провода.

Такой мотор широко применяется в станках ЧПУ, 3D принтерах, сканерах и т. д.
Управляться он будет с помощью платы Arduino NANO.

Эта плата способна выдавать напряжение 5V, тогда как мотор работает от большего напряжения. Мы выбрали блок питания 12V. Так что нам понадобится дополнительный модуль — драйвер, способный управлять более высоким напряжением через маломощные импульсы Arduino. Для этого отлично подходит драйвер А4988.

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

Плата создана на базе микросхемы A4988 компании Allegro — драйвера биполярного шагового двигателя. Особенностями A4988 являются регулируемый ток, защита от перегрузки и перегрева, драйвер также имеет пять вариантов микрошага (вплоть до 1/16-шага). Он работает от напряжения 8 — 35 В и может обеспечить ток до 1 А на фазу без радиатора и дополнительного охлаждения (дополнительное охлаждение необходимо при подаче тока в 2 A на каждую обмотку).

Модель: A4988;
напряжения питания: от 8 до 35 В;
возможность установки шага: от 1 до 1/16 от максимального шага;
напряжение логики: 3-5.5 В;
защита от перегрева;
максимальный ток на фазу: 1 А без радиатора, 2 А с радиатором;
расстояние между рядами ножек: 12 мм;
размер платы: 20 х 15 мм;
габариты драйвера: 20 х 15 х 10 мм;
габариты радиатора: 9 х 5 х 9 мм;
вес с радиатором: 3 г;
без радиатора: 2 г.

Для работы с драйвером необходимо питание логического уровня (3 — 5,5 В), подаваемое на выводы VDD и GND, а также питание двигателя (8 — 35 В) на выводы VMOT и GND. Плата очень уязвима для скачков напряжения, особенно если питающие провода длиннее нескольких сантиметров. Если эти скачки превысят максимально допустимое значение (35 В для A4988) ,то плата может сгореть. Одним из способов защиты платы от подобных скачков является установка большого (не меньше 47 мкФ) электролитического конденсатора между выводом питания (VMOT) и землёй близко к плате.
Соединение или разъединение шагового двигателя при включённом драйвере может привести к поломке двигателя!
Выбранный мотор совершает 200 шагов за полный оборот на 360°, что соответствует 1,8° на шаг. Микрошаговый драйвер, такой как A4988 позволяет увеличить разрешение за счёт возможности управления промежуточными шагами. Например, управление мотором в режиме четверти шага даст двигателю с величиной 200-шагов-за-оборот уже 800 микрошагов при использовании разных уровней тока.
Разрешение (размер шага) задаётся комбинациями переключателей на входах (MS1, MS2, и MS3).

MS1MS2MS3Разрешение микрошага
НизкийНизкийНизкийПолный шаг
ВысокийНизкийНизкий1/2 шага
НизкийВысокийНизкий1/4 шага
ВысокийВысокийНизкий1/8 шага
ВысокийВысокийВысокий1/16 шага

Каждый импульс на входе STEP соответствует одному микрошагу двигателя, направление вращения которого зависит от сигнала на выводе DIRECTION. Выводы STEP и DIRECTION не подтянуты к какому-либо конкретному внутреннему напряжению, поэтому их не стоит оставлять плавающими при создании приложений. Если вы просто хотите вращать двигатель в одном направлении, можно соединить DIR непосредственно с VCC или GND. Чип имеет три различных входа для управления состоянием питания: RESET, SLEEP и ENABLE. Вывод RESET плавает, если его не нужно использовать, то следует подключить его к соседнему контакту SLEEP на печатной плате, чтобы подать на него высокий уровень и включить плату.

Читать еще:  Что такое патрубки двигателя

Мы использовали вот такой блок питания (12V).

Для удобства подключения к плате Arduino UNO, мы использовали собственноручно сделанную деталь. Пластиковый корпус напечатан на 3D принтере, к нему приклеены контакты.

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

Соединяем всё согласно схеме.

Потом открываем среду разработки программ для Arduino и пишем программу, вращающую мотор сначала в одну сторону на 360°, потом в другую.

const int pinDir = 4;

const int move_delay = 3;

//шагов на полный оборот

pinMode(pinStep, OUTPUT);
pinMode(pinDir, OUTPUT);

for(int i = 0; i /*Программа для вращения шагового мотора NEMA 17, серии 17HS4402 + драйвер A4988. Программа приводит мотор в движение.
По-умолчанию вращение происходит по часовой стрелке, так как на контакт DIRECTION драйвера подключён к земле. Если его подключить к питанию 5V, то
мотор вращается против часовой стрелки*/
/*целочисленная константа, хранящая номер цифрового контакта Arduino, который подаёт сигнал Step на драйвер. Каждый импульс от этого контакта — это перемещение мотора на один шаг*/
const int pinStep = 5;

//временная задержка между шагами мотора в мс
const int move_delay = 3;

/*Функция, в которой происходит инициализация всех переменных программы*/
void setup()
<
/*задаём контакту Step режим вывода, то есть он выдают напряжение*/
pinMode(pinStep, OUTPUT);
//устанавливаем начальный режим
digitalWrite(pinStep, LOW);
>

/*Функция-цикл в которой задаётся поведение программы*/
void loop()
<
/*через заданную задержку происходит перемещение мотора на один шаг*/
digitalWrite(pinStep, HIGH);
delay(move_delay);
digitalWrite(pinStep, LOW);
delay(move_delay);
>

Всё это мы рассматривали шаговый режим мотора, то есть 200 шагов за полный оборот. Но, как уже было описано, мотор может работать, в 1/2, 1/4, 1/8, 1/16 шаговых режимах, в зависимости от того, какая комбинация сигналов подаётся на контакты драйвера MS1, MS2, MS3.
Давайте с этим потренируемся, подключим эти три контакта к плате Arduino, согласно схеме, и зальём код программы.

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

/*целочисленная константа, хранящая номер цифрового контакта Arduino, который подаёт сигнал Direction на драйвер. Наличие импульса — мотор вращается в одну сторону, отсутствие — в другую*/
const int pinDir = 4;

//временная задержка между шагами мотора в мс
const int move_delay = 3;

//шагов на полный оборот
const int steps_rotate_360 = 200;

//размер массива StepMode
const int StepModeSize = 5;

/*Функция, в которой происходит инициализация всех переменных программы*/
void setup()
<
/*задаём контактам Step и Direction режим вывода, то есть они выдают напряжение*/
pinMode(pinStep, OUTPUT);
pinMode(pinDir, OUTPUT);

for(int i = 0; i
digitalWrite(pinStep, HIGH);
digitalWrite(pinDir, LOW);
>

/*Функция-цикл в которой задаётся поведение программы*/
void loop()
<
for(int i = 0; i
MakeRoundRotation();
>
>

/*функция, в которой мотор совершает 200 шагов в одном направлении, затем 200 в обратном*/
void MakeRoundRotation()
<
//устанавливаем направление вращения
digitalWrite(pinDir, HIGH);

for(int i = 0; i
digitalWrite(pinDir, LOW);

for(int i = 0; i /*Программа для вращения шагового мотора NEMA 17, серии 17HS4402 + драйвер A4988. В схему включены кнопка с 3мя положениями (I, II, среднее — выключено) и потенциометр. Кнопка регулирует направление вращения мотора, а данные с потенциометра показывают какой из пяти режимов шага мотора включить (полношаговый, 1/2, 1/4, 1/8, 1/16 шага)*/
/*целочисленная константа, хранящая номер цифрового контакта Arduino, который подаёт сигнал Step на драйвер. Каждый импульс от этого контакта — это перемещение мотора на один шаг*/
const int pinStep = 5;

/*целочисленная константа, хранящая номер цифрового контакта Arduino, который подаёт сигнал Direction на драйвер. Наличие импульса — мотор вращается в одну сторону, отсутствие — в другую*/
const int pinDir = 4;

/*Контакты от двух положений кнопки — цифровые*/
const int ButtonOn1 = 9;
const int ButtonOn2 = 10;

/*Контакт регистрирующий значение потенциометра — аналоговый*/
const int PotenciomData = 1;

//временная задержка между шагами мотора в мс
const int move_delay = 3;

/*целочисленная константа, показывающая временную задержку между считыванием состояния кнопки и потенциометра*/
const int CheckButtonDelay = 15;

/*Целочисленная переменная показывающая, сколько прошло времени и не пора ли считывать состояние кнопки*/
int CurrentButtonDelay = 0;

/*контакты на драйвере, задающие режим шага мотора — MS1, MS2, MS3*/
int StepModePins = <8, 7, 6>;

//размер массива StepModePins
const int StepModePinsCount = 3;

//состояние кнопки включено-выключено
int ButtonState = 0;

//направление вращения согласно кнопке I — 1, II — 0
int ButtonDirection = 0;

/*Массив, хранящий состояния контактов MS1, MS2, MS3 драйвера, при которых задаются разные режимы вращения: полношаговый, 1/2, 1/4, 1/8, 1/16я шага*/
bool StepMode = <
< 0, 0, 0>,
< 1, 0, 0>,
< 0, 1, 0>,
< 1, 1, 0>,
< 1, 1, 1>>;

//размер массива StepMode
const int StepModeSize = 5;

//текущий индекс массива StepMode
int StepModeIndex = 0;

/*Функция, в которой происходит инициализация всех переменных программы*/
void setup()
<
/*задаём контактам Step и Direction режим вывода, то есть они выдают напряжение*/
pinMode(pinStep, OUTPUT);
pinMode(pinDir, OUTPUT);

for(int i = 0; i
pinMode(ButtonOn1, INPUT);
pinMode(ButtonOn2, INPUT);
pinMode(PotenciomData, INPUT);

//устанавливаем начальный режим
digitalWrite(pinStep, LOW);
digitalWrite(pinDir, LOW);
>

/*Функция-цикл в которой задаётся поведение программы*/
void loop()
<
if(CurrentButtonDelay >= CheckButtonDelay)
<
CheckButtonState();
CurrentButtonDelay = 0;
>

if(ButtonState == 1)
<
MakeMotorStep();
>

delay(move_delay);
CurrentButtonDelay += move_delay;
>

//функция, в которой совершается один шаг мотора
void MakeMotorStep()
<
digitalWrite(pinStep, HIGH);
digitalWrite(pinStep, LOW);
>

/*функция, в которой проверяется текущее состояние кнопки и потенциометра*/
void CheckButtonState()
<
int CurrentButtonState = 0, CurrentButtonDirection = 0, CurrentStepModeIndex = 0;

bool readbuttonparam = digitalRead(ButtonOn1);

if(readbuttonparam)
<
CurrentButtonState = 1;
CurrentButtonDirection = 1;
>

if(readbuttonparam)
<
CurrentButtonState = 1;
CurrentButtonDirection = 0;
>

if(ButtonState != CurrentButtonState)
<
ButtonState = CurrentButtonState;
>

if(ButtonDirection != CurrentButtonDirection)
<
ButtonDirection = CurrentButtonDirection;
digitalWrite(pinDir, ButtonDirection);
>

CurrentStepModeIndex = map(analogRead(PotenciomData), 0, 1023, 0, StepModeSize-1);
if(StepModeIndex != CurrentStepModeIndex)
<
StepModeIndex = CurrentStepModeIndex;
for(int i = 0; i

Разъемы NEMA Socket для экономичных систем освещения

Штепсельные разъемы NEMA Socket — необходимый элемент, которым оснащают светильники для последующей установки контроллера, т. е. датчика для управления освещением. Разъем помогает электрически и механически соединить между собой фотоэлемент ANSI C136. 41-2013 и осветительный прибор. В результате получаются так называемые «умные» светильники, позволяющие регулировать энергопотребление в масштабах не только улицы, но и целого города.

На самом деле сегодня существует несколько вариантов по реализации «умного» наружного освещения. Но в любом случае требуется качественное оснащение и соответствующие комплектующие. Ими и выступают разъемы NEMA Socket.

Читать еще:  Nissan tiida характеристики двигателя

Особенности устройства разъемов NEMA Socket

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

Разъемы выполняются в соответствии со стандартом ANSI C136.41. В нем четко определены тип блокировки, размеры и другие важные параметры. Из основных характеристик разъемов NEMA Socket стоит отметить:

  • 5 или 7 клемм: 3 клеммы предназначены для подключения питания (рассчитаны на ток до 15 А), а остальные 2 или 4 клеммы — для передачи сигналов, в том числе затемнения (рассчитаны на ток до 100 мА).
  • Сигнальные контакты могут управляться через аналоговый протокол 1-10 В постоянного тока или цифровой DALI (Digital Addressable Lighting Interface).
  • Работа со стандартами ANSI dimmable для обеспечения соединения между светильником и фотоэлементом.
  • Изготавливаются на номинальное напряжение 0-480 В и силу тока 15-60 А.

Где используются разъемы NEMA Socket

Розетки NEMA Socket используют в коммерческой и коммунальной сферах для освещения:

  • дорог и магистралей,
  • парковок,
  • рекламных конструкций.

В большинстве случаев разъемы NEMA Socket применяются в «умных» системах освещения LoRaWAN. Это тип беспроводной сети, пересылающей информацию от последней точки до главного сервера. Передача осуществляется за счет подачи команд на радиомодуль, включающий и выключающий свет.

В чем плюсы применения разъемов NEMA Socket

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

Каковые преимущества самих разъемов NEMA Socket:

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

Таким образом, системы освещения с разъемами NEMA Socket — хорошее решение для наружного коммерческого и коммунального освещения. Они соответствуют стандартам NEMA (National Electrical Manufacturers Association) и обеспечивают экономию энергии около 20%.

Шаговый двигатель простой запуск

Шаговые приводы Schneider Electric

2-фазные шаговые приводы и шаговые двигатели для управления движением

Высокая гибкость SD2

шаговый двигатель диски доступны в двух вариантах мощности: 3,0 усилители и 5,0 ампер. Шаговый двигатель диски SD2 доступны: как программируемых блоков для связи через RS 485, для связи через CANopen, для связи через импульсный / интерфейса направлении

Гибкость SD2 шаговый двигатель диски доступны в двух вариантах мощности: 3,0 усилители и 5,0 ампер.

Шаговый двигатель диски SD2 доступны: как программируемых блоков для связи через RS 485 для связи через CANopen для связи через импульсный / интерфейса направлении. Эта концепция открытого общения позволяет для интеграции в существующие среды систем.

В BRS2 двигатели доступны в четырех размеров фланцев: 36мм, 42мм, 57мм и 85мм.

Компактность. Имея небольшие размеры, СД2 шагового двигателя привода требуется очень мало места в шкафу управления.

Простота Простой кабели и параметризация SD2 позволяют легко и быстрого ввода в эксплуатацию. Удобное программное обеспечение PC ввод в эксплуатацию позволяет быстрый ввод в эксплуатацию.

Преимущества

Благодаря очень компактным размерам и простоте использования, система Schneider Electric, состоял из шагового двигателя привода SD2 и 2-фазный шаговый двигатель BRS2, ??является оптимизированный «подключи и играй» решение для простого управления движением.

Применение

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

Доступные методы, выгода

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

Рауль Кулкарни (Rahul Kulkarni), менеджер по продукции и управлению производством в компании National Instruments (NI), говорит о нескольких причинах и сценариях применения управления по замкнутому контуру:

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

Он также поясняет, что все контроллеры перемещения компании NI: NI 733x (только шаговый двигатель), NI 734x и высокопроизводительная модель NI 735x (шаговый двигатель/серводвигатель) можно сконфигурировать для управления шаговым двигателем в замкнутом контуре. В режиме CLC на осях шагового двигателя для обеспечения обратной связи по скорости и положению используются квадратурные кодовые датчики или аналоговые входы.

Джон Мазуркевич (John Mazurkiewicz), менеджер по производству двигателей в Baldor Electric Co. отмечает, что компания рассматривает шаговые двигатели как простые, недорогие механизмы, идеальные для позиционирования нагрузки. Причины, по которым используются шаговые двигатели, включают упрощенную работу (обычно используются в разомкнутом контуре), более легкое согласование вследствие работы с цифровыми входами и более низкую цену, так как обычно они не оснащены устройствами обратной связи.

Intelligent Motion Systems устанавливает дополнительный энкодер на задней части двигателей серии MDrive, это объединяет контроллер перемещения и микрошаговый привод с шаговым двигателями 14, 17 и 34 стандарта NEMA. На рисунке представлено устройство MDrive17

И все же при операциях в разомкнутом контуре существует риск потери шагов, что влечет за собой неправильное позиционирование. „Это может привести к большому объему брака прежде, чем будет обнаружена ошибка, – отмечает Мазуркевич. – Кроме того, при работе шагового двигателя в режиме с максимальным вращающим моментом или с более высоким ускорением в целях повышения производительности, существует риск самопроизвольной остановки двигателя“. Эти традиционные ограничения шагового двигателя можно обойти, если добавить обратную связь.

Читать еще:  Что такое двигатель assy

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

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

Компании Parker Hannifin Corp./ Compumotor рекомендуют шаговые электродвигатели с замкнутым контуром для применения там, где требуется стабильность двигателя при нулевой скорости и подтверждение позиции. Джон Вейлвендер (John Walewander), менеджер по проектированию, утверждает: „С этими регулярно возникающими задачами, которые можно назвать первостепенными, хорошо справляются шаговые двигатели“. Вместо использования устройств обратной связи компания Parker сделала большие инвестиции в технологии „без датчиков“ и разработала патентованные цифровые методы, которые выполняют эти задачи без внешних дополнительных устройств.

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

Методы управления шаговым перемещением в замкнутом контуре

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

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

Как утверждает Дэн Джоунс, президент компании Incremotion, обратная электродвижущая сила (противоЭДС), метод определения без датчиков, использует сигналы противоЭДС двигателя для измерения и управления скоростью. Когда напряжение противоЭДС падает ниже определенного уровня, регулятор «замкнутого контура» переключается на разомкнутый контур для перемещения к окончательной позиции.

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

Компания Parker Hannifin включает активное демпфирование и определение самопроизвольной остановки двигателя без энкодера как варианты управления с помощью противоЭДС. Привод шагового двигателя контролирует и измеряет обороты двигателя и использует информацию о напряжении и токе для совершенствования управления работой двигателя. Активное демпфирование использует эту информацию для ослабления колебаний скорости и позволяет добиться оптимальных показателей вращающего момента. Таким образом, вращающий момент не будет расходоваться на механические колебания (см. рисунок «Вращающий момент – скорость»). При определении самопроизвольной остановки двигателя без энкодера эта информация используется для того, чтобы определить потерю синхронной скорости. Это серьезная проблема при управлении двигателями в разомкнутом контуре.

Боб Пеарент (Bob Parente), технический руководитель прикладных программ в компании Intelligent Motion Systems Inc., говорит: „Шаговые двигатели с замкнутым контуром используются в ответственных приложениях, когда необходимо подтверждение положения“. В качестве примера он приводит автоматический лабораторный химический анализатор/анализатор крови, в котором многочисленные оси перемещаются, чтобы установить тестируемый образец под соответствующий раздаточный автомат реактивов. В это время другие двигатели откатываются назад, загружая точное количество химического реагента, затем продвигаются вперед, чтобы распределить реагенты в определенной последовательности и нужном количестве. Этот процесс аналогичен использованию нескольких шприцев. Пеарент утверждает, что „любая ошибка в позиции любой из осей может привести к потере данных или неточности результатов“.

Работа схемы

Схема устройства представлена на следующем рисунке.

Чтобы подавать питание на соответствующие катушки шагового двигателя мы будем использовать цифровые контакты 8, 9, 10 и 11 платы Arduino, к которым подключены соответствующие контакты драйвера двигателей ULN2003. Потенциометр, с помощью которого мы будем управлять вращением шагового двигателя, подключен к аналоговому контакту A0 платы Arduino.

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

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

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

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

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

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

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

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

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

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

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

Почему удобно использовать секундомер онлайн?

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

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

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector