категории: Електродвигатели и тяхното приложение, Микроконтролер вериги
Брой преглеждания: 24464
Коментари към статията: 0

Arduino и стъпков двигател: основи, схеми, връзка и управление

 

Стъпковите двигатели се използват за управление на положението на нещо или за въртене на работното устройство с дадена скорост и ъгъл. Подобни функции позволиха използването му в роботика, цифрово контролирани машини (CNC) и други системи за автоматизация. В тази статия ще разгледаме редица проблеми, свързани с конструкцията на стъпкови двигатели и как да ги контролираме с помощта на микроконтролера Arduino.

Arduino и стъпков мотор

Стъпковият мотор се различава от обичайния

Всички електрически двигатели, използвани на практика, работят поради електродинамични явления и процеси, възникващи в магнитните полета на роторите и статорите. Както вече споменахме, всеки двигател се състои от поне две части - подвижна (ротор) и неподвижна (статор). За неговото въртене е необходимо магнитното поле също да се върти. Полето на ротора се върти след полето на статора.

По принцип такава основна информация е достатъчна, за да се разбере общата картина на работата на електродвигателите. Всъщност обаче индустрията произвежда различни варианти за двигателисред които са:

1. Индукционен двигател с клепач или ротационен ротор.

2. Синхронен двигател с полеви намотки или с постоянни магнити.

3. DC двигател.

4. Универсален колектор мотор (работи както на постоянен ток, така и на променлив ток, тъй като самите намотки на ротора са свързани и изключени от контактите на източника на захранване поради дизайна на ламелите и анкерите).

5. Безчеткови постояннотокови двигатели (BLDC).

6. Сервота.

7. Стъпкови двигатели.

Последните два вида имат особена стойност поради възможността за тяхното, до известна степен, точно позициониране в пространството. Нека разгледаме по-подробно дизайна на стъпковия мотор.

Стъпков мотор

дефиниция

Стъпковият мотор се нарича безчетов синхронен двигател. Определен брой намотки са разположени на статора, чието свързване кара ротора да се върти определен ъгъл, в зависимост от броя на стъпките. С други думи, токът в намотката на статора кара вала да се върти под дискретен ъгъл.

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

Устройство със стъпков двигател

Стъпковият мотор понякога се нарича мотор. с ограничен брой позиции на ротора, Не звучи много ясно, нека разберем. Представете си конвенционален двигател - положението на неговия ротор не е фиксирано по никакъв начин, тоест той просто се върти, докато захранването е свързано, а когато се изключи, спира след известно време, в зависимост от неговата инерция. Позициите на ротора могат да бъдат колкото искате, но те могат да се различават по най-малките фракции от степен.

При стъпков двигател свързването на намотка или няколко намотки причинява "намагнитване" на ротора по отношение на тези намотки. Външно изглежда точно като завъртане на вала под определен ъгъл (стъпка). Тъй като броят на стъпките е една от важните характеристики на този тип електрическо задвижване, броят на позициите на ротора е равен на броя на стъпките. За начинаещите е трудно да разберат как може да бъде това и как се върти в този случай - всъщност всичко е съвсем просто, това ще покажем в илюстрациите и описанията по-долу.

Arduino и стъпков мотор

дизайн

Намотките на възбуждането са фиксирани върху статора на електродвигателя. Роторът му е изработен от меки магнитни или твърди магнитни материали. Материалът на ротора зависи от въртящия момент и фиксирането на вала с обезвъздушени намотки. Тези параметри могат да бъдат критични.

Стъпкови намотки на двигателя

Следователно се отличават магнитно твърди ротори (те са и с постоянни магнити) и магнитно меки (реактивни) ротори, в допълнение към тях има хибридни ротори.

Хибридният ротор е направен зъбен, броят на зъбите съответства на броя на стъпките. Зъбите са разположени по оста на ротора. Освен това такъв ротор е разделен на две части напречно. Между тях е инсталиран постоянен магнит, така че всяка от половините на ротора е магнитна полюс. Трябва също така да се каже, че половината от ротора се завърта половината от стъпката на зъбите един спрямо друг.

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

Както вече споменахме, такъв двигател е синхронен и процесът на неговото въртене се състои в създаване на въртящо се поле на ротора, към което се стреми магнитният ротор, и това се осъществява чрез превключване на намотките от контролера на свой ред.

Видовете стъпкови двигатели за проектиране на намотки са разделени в три основни групи според схемата на свързване на намотките:

1. Биполярна.

2. Униполярна.

3. С четири намотки.

Видове стъпкови двигатели

Повечето биполярни електродвигатели имат 4 контакта - това са заключения от две намотки. Вътре в двигателя те като цяло не са свързани помежду си. Основният проблем е, че е необходимо да се осигури превключването на полярността на мощността, което означава, че драйверът и самият процес на управление ще се усложнят.

Unipolar наподобяват връзката на намотките според звездния модел. С други думи, имате 5 заключения - 4 от тях са краищата на намотките, а 1 е точката на свързване на всички намотки.

За да управлявате такъв двигател, просто трябва да редувате захранване към всеки край на намотката (или няколко от тях, в зависимост от избрания режим на въртене), като по този начин половината намотка ще се захранва всеки път. Той може да работи в биполярен режим, ако захранвате цялата намотка напълно, заобикаляйки крана от средата му.

Моторите с 4 намотки имат предимството, че можете да свържете намотките по всеки удобен за вас начин и да получите както биполярен, така и еднополюсен двигател.



Режими на управление

Има 4 основни режима на управление на стъпкови двигатели:

1. Контрол на вълната.

2. Пълна стъпка.

3. Половин стъпка.

4. Микростепене


вълна контрол се нарича управление на една намотка. Т.е. в същото време токът тече през една от намотките, оттам две отличителни черти - ниска консумация на енергия (това е добро) и нисък въртящ момент (това е лошо).

В този случай този двигател предприема 4 стъпки в един оборот. Реалните мотори правят десетки стъпки в един оборот, това се постига чрез голям брой редувания на магнитни полюси.

Контрол на вълната

Пълно управление на стъпките е най-често използваният. Тук напрежението се подава не на една намотка, а на две наведнъж. Ако намотките са свързани паралелно, тогава токът се удвоява, а ако е в серия, захранващото напрежение се удвоява съответно. От една страна, при този метод на управление двигателят изразходва повече енергия, от друга, 100% въртящ момент, за разлика от предишния.

Пълно управление на стъпките

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

Струва си да се има предвид, че моментът на вала плава от 50 до 100%, в зависимост от това дали в момента са включени 1 или 2 две намотки.

Още по-точно е microstepping, Той е подобен на предишния, но се различава по това, че мощността към намотките не се доставя в пълна степен, а постепенно се променя. По този начин степента на въздействие върху ротора на всяка от намотките се променя и ъгълът на въртене на вала в междинни стъпки варира плавно.

Къде да вземете стъпков мотор

Къде да вземете стъпков мотор

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

1. Принтерът.Стъпковите двигатели могат да стоят върху въртенето на вала за подаване на хартия (но може да има и постоянен двигател със сензор за изместване).

2. Скенери и MFP. Скенерите често инсталират стъпков двигател и механична част, по протежение на която кариерът води, тези части също могат да бъдат полезни при разработването на домашно направена машина с ЦПУ.

3. CD и DVD устройства. Можете също така да получите пръти и винтови валове за домашно изработени продукти и различни CNC в тях.

Спирален вал

4. Дискети. Дискети имат и стъпкови мотори, особено дискети във формат 5.25 ”.

Дискета

Водач на стъпков двигател

За да управлявате стъпковите двигатели, използвайте специализирани микросхеми на водача. Най-вече това е H-мост от транзистори. Благодарение на това включване става възможно да се включи напрежението на желаната полярност към намотката. Тези чипове са подходящи и за управление на двигатели с постоянен ток с поддръжка за промяна на посоката на въртене.

По принцип могат да се стартират директно много малки двигатели от щифтовете на микроконтролера, но обикновено те дават до 20-40 mA, което в повечето случаи не е достатъчно. Ето защо, ето няколко примера за драйвери за стъпкови двигатели:


1. Табла на базата на L293D. Има много от тях, един от тях се продава под местната марка Amperka под името Troyka Stepper, пример за използването му в реален проект е показан във видеото по-долу. Предимството на тази конкретна платка е, че има логически чипове, които могат да намалят броя на пиновете, използвани за нейното управление.

Самият чип работи под напрежение 4,5-36V и произвежда ток до 600mA-1A, в зависимост от случая на IC.


2. Драйвер на базата на A4988. Захранва се до 35V, издържа на ток до 1А без радиатор и с радиатор до 2А. Той може да управлява двигателя, както на цели стъпки, така и на части - от 1/16 стъпка до 1 стъпка, само 5 опции. Съдържа два Н-моста. С помощта на настройващия резистор (вижда се на дясната снимка) можете да зададете изходния ток.

Водач на стъпков двигател

Размерът на стъпките се определя от сигналите на входовете MS1, MS2, MS3.

Размерът на стъпките се определя от сигналите на входовете MS1, MS2, MS3

Ето диаграма на връзката му, всеки импулс на входа STEP настройва на двигателя да се върти с 1 стъпка или микро стъпка.

Схема на свързване

3. Драйверът на базата на ULN2003 работи с 5 и 12 V двигатели и произвежда ток до 500 mA. На повечето платки има 4 светодиода, показващи работата на всеки канал.

ULN2003 базиран драйвер

Също така на таблото можете да видите клемния блок за свързване на двигатели, между другото, много от тях се продават с този конектор. Пример за такъв двигател е 5V модел - 28BYJ-48.

Модел - 28BYJ-48

И това не са всички опции на водача за стъпкови мотори, всъщност има още повече от тях.


Връзка с Arduino драйвер и стъпков двигател

В повечето случаи е необходимо да използвате микроконтролер, сдвоен с драйвер за стъпков двигател. Нека разгледаме схемата на връзката и примерите с кодове. Помислете за връзка въз основа на последния изброен драйвер - ULN2003 до дъската Arduino, И така има 4 входа, те са подписани като IN1, IN2 и т.н. Те трябва да бъдат свързани към цифровите щифтове на платката Arduino и двигател трябва да бъде свързан към драйвера, както е показано на фигурата по-долу.

Връзка с Arduino драйвер и стъпков двигател

Освен това, в зависимост от метода на управление, трябва да приложите към входовете 1 или 0 от тези щифтове, включително 1 или 2 намотки в необходимата последователност. Кодът за програмата за контрол в цялата стъпка изглежда така:

int in1 = 2;

int in2 = 3;

int in3 = 4;

int in4 = 5;

const int dl = 5;

настройка за невалидност () {

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

забавяне (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, HIGH);

digitalWrite (in3, HIGH);

digitalWrite (in4, LOW);

забавяне (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, HIGH);

digitalWrite (in4, HIGH);

забавяне (dl);

digitalWrite (in1, HIGH);

digitalWrite (in2, LOW);

digitalWrite (in3, LOW);

digitalWrite (in4, HIGH);

забавяне (dl);

}

 

Тя включва намотки в следната последователност:

Последователност на навиване

Ето кода за полустепенен режим, както можете да видите, той е много по-обемен, тъй като включва по-голям брой превключващи намотки.

int in1 = 2;

int in2 = 3;

int in3 = 4;

int in4 = 5;

const int dl = 5;

настройка за невалидност () {

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

забавяне (dl);

digitalWrite (in1, HIGH);

digitalWrite (in2, HIGH);

digitalWrite (in3, LOW);

digitalWrite (in4, LOW);

забавяне (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, HIGH);

digitalWrite (in3, LOW);

digitalWrite (in4, LOW);

забавяне (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, HIGH);

digitalWrite (in3, HIGH);

digitalWrite (in4, LOW);

забавяне (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, HIGH);

digitalWrite (in4, LOW);

забавяне (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, HIGH);

digitalWrite (in4, HIGH);

забавяне (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, LOW);

digitalWrite (in4, HIGH);

забавяне (dl);

digitalWrite (in1, HIGH);

digitalWrite (in2, LOW);

digitalWrite (in3, LOW);

digitalWrite (in4, HIGH);

забавяне (dl);

}

 

Тази програма включва намотки, както следва:

Последователност на навиване

За да консолидирате получената информация, гледайте полезното видео:


заключение

Stepper Motors са популярни сред ардуините заедно със серво, защото ви позволяват да създавате роботи и CNC машини. Последното се подпомага от изобилието на вторичния пазар на супер евтини използвани оптични задвижващи устройства.

Вижте също на i.electricianexp.com:

  • Как да различим индукционен двигател от постоянен двигател
  • Стъпкови двигатели
  • Видове електродвигатели и принципите на тяхната работа
  • Методи за четене и управление на Arduino I / O портове
  • Свързване и програмиране на Arduino за начинаещи

  •