- Стъпкови двигатели:
- Изчисляване на стъпките на оборот за стъпков двигател:
- Защо така се нуждаем от модули на драйвер за стъпкови двигатели?
- Електрическа схема за въртящ се стъпков двигател с помощта на потенциометър:
- Код за Arduino Board:
- Работа:
Стъпковите двигатели все повече заемат позициите си в света на електрониката. Започвайки от нормална камера за наблюдение до сложни CNC машини / робот, тези стъпкови двигатели се използват навсякъде като задвижващи механизми, тъй като осигуряват точно управление. В този урок ще научим за най-често / евтино наличния стъпков двигател 28-BYJ48 и как да го свържем с Arduino чрез стъпков модул ULN2003.
В последния проект имаме просто взаимодействащ стъпков двигател с Arduino, където можете да завъртите стъпковия двигател, като въведете ъгъла на въртене в Serial Monitor на Arduino. Тук в този проект ние ще завъртим стъпковия двигател с помощта на потенциометър и Arduino, като ако завъртите потенциометъра по посока на часовниковата стрелка, след това степерът ще се завърти по посока на часовниковата стрелка и ако завъртите потенциометъра обратно на часовниковата стрелка, тогава той ще се завърти обратно на часовниковата стрелка.
Стъпкови двигатели:
Нека да разгледаме този 28-BYJ48 стъпков двигател.
Добре, така че за разлика от нормалния двигател с постоянен ток, този има пет проводника с всички изискани цветове и защо е така? За да разберем това, първо трябва да знаем как работи степер и каква е неговата специалност. На първо място, степерните двигатели не се въртят, те стъпват и така са известни още като стъпкови двигатели. Значи те ще се движат само една стъпка наведнъж. Тези двигатели имат последователност от бобини, които се намират в тях и тези бобини трябва да се захранват по определен начин, за да накарат двигателя да се върти. Когато всяка намотка се захранва, двигателят прави стъпка и последователността на захранването ще накара двигателя да прави непрекъснати стъпки, като по този начин го кара да се върти. Нека да разгледаме бобините, намиращи се вътре в двигателя, за да знаем точно откъде идват тези проводници.
Както можете да видите, двигателят има еднополюсна 5-оловна бобина. Има четири намотки, които трябва да се захранват в определена последователност. Червените проводници ще бъдат снабдени с + 5V, а останалите четири проводника ще бъдат изтеглени на земята за задействане на съответната намотка. Използваме микроконтролер като Arduino, който захранва тези бобини в определена последователност и кара двигателя да изпълнява необходимия брой стъпки.
И така, защо този двигател се нарича 28-BYJ48 ? Сериозно!!! Не знам. Няма техническа причина този двигател да бъде наречен така; може би трябва да се потопим много по-дълбоко в него. Нека разгледаме някои от важните технически данни, получени от листа с данни на този двигател на снимката по-долу.
Това е глава, пълна с информация, но трябва да разгледаме няколко важни, за да знаем какъв тип степер използваме, за да можем да го програмираме ефективно. Първо знаем, че това е 5V стъпков двигател, тъй като захранваме червения проводник с 5V. Тогава също така знаем, че това е четирифазен стъпков двигател, тъй като в него има четири намотки. Сега предавателното число е дадено 1:64. Това означава, че шахтата, която виждате отвън, ще извърши едно пълно завъртане само ако двигателят вътре се завърти 64 пъти. Това се дължи на предавките, които са свързани между двигателя и изходния вал, тези зъбни колела помагат за увеличаване на въртящия момент.
Друга важна информация, която трябва да забележите, е Ъгълът на стъпка: 5.625 ° / 64. Това означава, че двигателят, когато работи в последователност от 8 стъпки, ще се движи с 5.625 градуса за всяка стъпка и ще отнеме 64 стъпки (5.625 * 64 = 360), за да завърши едно пълно завъртане.
Изчисляване на стъпките на оборот за стъпков двигател:
Важно е да знаете как да изчислявате стъпките на оборот за вашия стъпков двигател, защото само тогава можете да го програмирате ефективно.
В Arduino ще работим с мотора в последователност от 4 стъпки, така че ъгълът на крачка ще бъде 11,25 °, тъй като е 5,625 ° (даден в таблицата с данни) за 8 стъпки, той ще бъде 11,25 ° (5,625 * 2 = 11,25).
Стъпки на оборот = 360 / ъгъл на стъпка
Тук 360 / 11.25 = 32 стъпки на оборот.
Защо така се нуждаем от модули на драйвер за стъпкови двигатели?
Повечето стъпкови двигатели ще работят само с помощта на драйвер модул. Това е така, защото модулът на контролера (в нашия случай Arduino) няма да може да осигури достатъчно ток от своите I / O щифтове за работа на двигателя. Така че ние ще използваме външен модул като ULN2003 модул като драйвер за стъпков двигател. Има много видове модули на водача и рейтингът на един ще се промени в зависимост от типа на използвания двигател. Основният принцип за всички модули на драйвера ще бъде източникът / потапянето на достатъчно ток, за да работи двигателят.
Електрическа схема за въртящ се стъпков двигател с помощта на потенциометър:
Схемата на веригата за управление на стъпков двигател с помощта на потенциометър и Arduino е показана по-горе. Използвали сме стъпков двигател 28BYJ-48 и драйверния модул ULN2003. За захранване на четирите намотки на стъпковия двигател използваме цифровите щифтове 8,9,10 и 11. Драйверният модул се захранва от 5V щифт на Arduino Board. Към A0 се свързва потенциометър, в чиито стойности ще завъртим стъпковия двигател.
Но захранвайте драйвера с външно захранване, когато свързвате малко товар към степния двигател. Тъй като просто използвам мотора за демонстрационни цели, използвах релсата + 5V на платката Arduino. Също така не забравяйте да свържете земята на Arduino със земята на модула Driver.
Код за Arduino Board:
Преди да започнем програмирането с нашия Arduino, нека разберем какво всъщност трябва да се случи в програмата. Както казахме по-рано, ще използваме метод на последователност от 4 стъпки, така че ще имаме четири стъпки, които трябва да изпълним за извършване на едно пълно завъртане.
Стъпка |
Pin Energized |
Енергизирани бобини |
Етап 1 |
8 и 9 |
А и Б |
Стъпка 2 |
9 и 10 |
Б и В. |
Стъпка 3 |
10 и 11 |
C и D |
Стъпка 4 |
11 и 8 |
D и A |
Модулът Driver ще има четири светодиода, с помощта на които можем да проверим коя бобина се захранва във всеки един момент. Пълното демонстрационно видео може да бъде намерено в края на този урок.
В този урок ще програмираме Arduino по такъв начин, че да можем да завъртим потенциометъра, свързан към щифт A0, и да контролираме посоката на стъпковия двигател. Пълната програма може да бъде намерена в края на урока, няколко важни реда са обяснени по-долу.
Броят на стъпките на оборот за нашия стъпков двигател беше изчислен на 32; следователно въвеждаме това, както е показано в реда по-долу
#define STEPS 32
След това трябва да създадете екземпляри, в които ние посочваме щифтовете, към които сме свързали стъпковия двигател.
Стъпков степер (СТЪПКИ, 8, 10, 9, 11);
Забележка: Номерът на пиновете нарочно е разреден като 8,10,9,11. Трябва да следвате същия модел, дори ако смените щифтовете, към които е свързан мотора ви.
Тъй като използваме стъпковата библиотека Arduino, можем да настроим скоростта на двигателя, като използваме долния ред. Скоростта може да варира между 0 и 200 за стъпкови двигатели 28-BYJ48.
stepper.setSpeed (200);
Сега, за да накараме двигателя да се движи с една стъпка по посока на часовниковата стрелка, можем да използваме следния ред.
stepper.step (1);
За да накараме двигателя да се движи с една стъпка обратно на часовниковата стрелка, можем да използваме следния ред.
stepper.step (-1);
В нашата програма ще прочетем стойността на аналоговия щифт A0 и ще я сравним с предишната стойност (Pval). Ако тя се е увеличила, ние се движим с 5 стъпки по посока на часовниковата стрелка, а ако е намалена, тогава се движим с 5 стъпки в посока, обратна на часовниковата стрелка.
potVal = карта (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (5); if (potVal
Работа:
След като се осъществи връзката, хардуерът трябва да изглежда нещо подобно на снимката по-долу.
Сега качете програмата по-долу във вашия Arduino UNO и отворете серийния монитор. Както беше обсъдено по-рано, трябва да завъртите потенциометъра, за да контролирате въртенето на стъпковия двигател. Завъртането му по посока на часовниковата стрелка ще завърти стъпковия двигател по посока на часовниковата стрелка и обратно.
Надявам се, че сте разбрали проекта и ви е било приятно да го изградите. Цялостната работа на проекта е показана във видеото по-долу. Ако имате някакви съмнения, публикувайте ги в раздела за коментари по-долу или на нашите форуми.