Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

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

Компоненты и расходные материалы

Arduino UNO
× 1
Драйверы двигателей Texas Instruments Dual H-Bridge L293D
× 1

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

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

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

1. Управляет любым биполярным шаговым двигателем

2. Управляет направлением вращения двигателя

3. Точно контролирует количество оборотов двигателя, например 1, 2, 3, 4, .....

4. Точно контролирует скорость двигателя в оборотах в минуту с точностью 95%

5. Точно вращает двигатель на желаемый угол от 0 до 360o с точностью 80-100%

6. Совместимость со всеми платами Arduino

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

Чтобы использовать эту библиотеку в своем скетче Arduino, просто скопируйте bi_polar_Stepper папку в корневой каталог папки библиотеки arduino, например C:\ arduino-1.6.7 \ libraries

Описание функций библиотеки:

1) bi_polar_Stepper (intpin1, int pin2, int pin3, int pin4) - это создаст экземпляр bi_polar_Stepper в скетче Arduino с выводами драйвера шагового двигателя. Означает, что нужно указать контакты платы Arduino, которые используются для управления шаговым двигателем

2) set_step_per_rev (интервалы) - эта функция устанавливает количество шагов, необходимых шаговому двигателю для совершения 1 оборота. Означает, что он установит угол шага (разрешение шага) двигателя. Для точного управления необходимо ввести угол шага двигателя

3) set_RPM (число оборотов в минуту) - эта функция устанавливает скорость двигателя в об / мин, и двигатель будет вращаться с выбранной скоростью с точностью до 95%

4) rotate_CW () - эта функция запускает вращение двигателя по часовой стрелке. Для непрерывного вращения двигателя по часовой стрелке необходимо использовать эту функцию в непрерывном цикле

5) rotate_CCW () - эта функция запускает вращение двигателя против часовой стрелки. Для непрерывного вращения двигателя против часовой стрелки необходимо использовать эту функцию в непрерывном цикле

6) повернуть (int dir) - эта функция будет вращать двигатель в выбранном направлении. Если направление задано как 1, двигатель будет вращаться по часовой стрелке и наоборот

7) rotate_one_rev (intdir) - эта функция будет вращать двигатель ровно на 1 оборот в выбранном направлении

8) rotate_n_rev (int dir, intnum) - эта функция будет вращать двигатель на необходимое количество оборотов в выбранных направлениях

9) rotate_x_deg (число градусов) - эта функция будет вращать двигатель на желаемый угол от 0 до 360o в любом направлении с точностью до 80–100%

Примеры:

1) Непрерывно вращайте двигатель в любом направлении со скоростью 60 об / мин

/ * эта программа будет непрерывно вращать биполярный шаговый двигатель

* с углом шага 1,8 градуса (200 шагов / оборот) при 60 об / мин

* создано Ashutosh Bhatt 12.12.16

* /

#include

#define steps 200 // изменить эти шаги в соответствии с двигателем

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =60;

void setup ()

{

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

Serial.begin (9600);

Serial.println («программа тестирования библиотеки биполярных шаговых двигателей»);

my_step_motor.set_step_per_rev (шаги);

my_step_motor.set_RPM (об / мин);

Serial.println («мотор вращается по часовой стрелке»);

}

void loop ()

{

my_step_motor.rotate_CW ();

}

2) Непрерывно вращайте двигатель на один оборот по часовой стрелке и на один оборот против часовой стрелки

/ * эта программа будет вращать биполярный шаговый двигатель

* с углом шага 1,8 градуса (200 шагов / оборот)

* как 1 оборот по часовой стрелке (CW) и один оборот

* против часовой стрелки (CCW) при 30 об / мин непрерывно

* создано Ashutosh Bhatt 12.12.16

* /

#include

#define steps 200

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =30;

void setup ()

{

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

Serial.begin (9600);

Serial.println («программа тестирования библиотеки биполярных шаговых двигателей, созданная Ашутошем Бхаттом»);

my_step_motor.set_step_per_rev (шаги);

my_step_motor.set_RPM (об / мин);

}

void loop ()

{

Serial.println («мотор вращается по часовой стрелке»);

my_step_motor.rotate_one_rev (1);

задержка (1000);

Serial.println («мотор вращается против часовой стрелки»);

my_step_motor.rotate_one_rev (0);

задержка (1000);

}

3) Непрерывно вращайте двигатель по часовой стрелке со скоростью 100 об / мин и против часовой стрелки со скоростью 50 об / мин

/ * эта программа сначала вращает биполярный шаговый двигатель

* с углом шага 1,8 градуса (200 шагов / оборот)

* по часовой стрелке (CW) на 2 оборота при 100 об / мин, а затем

* против часовой стрелки (CCW) на 2 оборота при 50 об / мин

* постоянно

* создано Ashutosh Bhatt 12.12.16

* /

#include

#define steps 200

bi_polar_Stepper my_step_motor (2, 3, 4, 5);

int i;

void setup ()

{

Serial.begin (9600);

Serial.println («Программа тестирования библиотеки биполярных шаговых двигателей, созданная Ашутошем Бхаттом»);

my_step_motor.set_step_per_rev (шаги);

}

void loop ()

{

my_step_motor.set_RPM (100);

for (i =0; i <100; i ++) my_step_motor.rotate (1);

задержка (2000);

my_step_motor.set_RPM (50);

для (я =0; я <100; я ++) my_step_motor.rotate (0);

задержка (2000);

}

4) Непрерывно вращайте двигатель на 4 оборота по часовой стрелке при 20 об / мин и 2 оборота против часовой стрелки при 10 об / мин

/ * эта программа сначала вращает биполярный шаговый двигатель

* с углом шага 1,8 градуса (200 шагов / оборот)

* 4 оборота по часовой стрелке (CW) при 20 об / мин, а затем

* 2 оборота против часовой стрелки (CCW) при 10 об / мин

* постоянно

* создано Ashutosh Bhatt 12.12.16

* /

#include

#define steps 200

bi_polar_Stepper my_step_motor (2, 3, 4, 5);

int i;

void setup ()

{

Serial.begin (9600);

Serial.println («Программа тестирования библиотеки униполярных шаговых двигателей, созданная Ашутошем Бхаттом»);

my_step_motor.set_step_per_rev (шаги);

}

void loop ()

{

my_step_motor.set_RPM (20);

my_step_motor.rotate_n_rev (1, 4);

задержка (2000);

my_step_motor.set_RPM (10);

my_step_motor.rotate_n_rev (0, 2);

задержка (2000);

}

5) Непрерывно вращайте двигатель на 90 ° по часовой стрелке и на 90 ° против часовой стрелки со скоростью 30 об / мин

/ * эта программа будет вращать биполярный двигатель

* с углом шага 1,8 градуса (200 шагов / оборот) при 30 об / мин до

* 90 градусов по часовой стрелке и 90 градусов против часовой стрелки непрерывно

* создано Ashutosh Bhatt 22.10.16

* /

#include

#define motor_steps 200

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =30;

void setup ()

{

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

Serial.begin (9600);

Serial.println («программа тестирования библиотеки биполярных шаговых двигателей»);

my_step_motor.set_step_per_rev (motor_steps);

my_step_motor.set_RPM (об / мин);

Serial.println («двигатель вращается на 90 градусов вперед и назад»);

}

void loop ()

{

my_step_motor.rotate_x_deg (90);

задержка (2000);

my_step_motor.rotate_x_deg (270);

задержка (2000);

}

Примечание:-Если шаговый двигатель имеет более высокие значения тока и напряжения, то вместо чипа L293D мы можем использовать чип L298 или набор из 4 отдельных транзисторов Дарлингтона, таких как TIP122, TIP142 и т. Д., Можно использовать для управления шаговыми двигателями.

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

1) 2-фазный биполярный двигатель с 5 В, 100 об / мин (макс.), 200 шагов / оборот (угол шага 1,8 °)

2) 2-фазный биполярный двигатель, 5 В, 60 об / мин (макс.), 200 шагов / оборот (угол шага 1,8 °)

Код

  • Библиотека Arduino для биполярного шагового двигателя.
Библиотека Arduino для биполярного шагового двигателя C / C ++
Библиотека контролирует частоту вращения, направление, обороты, угол поворота всех типов биполярных шаговых двигателей с точностью 95%
 Предварительный просмотр отсутствует (только загрузка). 

Схема

Эта схема управляет и контролирует частоту вращения, направление, угол поворота, количество оборотов биполярного шагового двигателя.

Производственный процесс

  1. Двигатель сопротивления
  2. Шаговые двигатели
  3. Интегрированные драйверы упрощают разработку шаговых двигателей
  4. Сенсорная телеметрия 2.0.1
  5. Прототип Raspoulette
  6. Автономная турель Nerf Sentry
  7. Swiper - Auto Tinder / Bumble Swiper
  8. Серая зона между серводвигателями и шаговыми двигателями
  9. Что такое линейный двигатель?
  10. Что такое серводвигатель?