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

drv8825

Un шофьор на мотор Това е схема, която позволява на двигателите с постоянен ток да се управляват по много прост начин. Тези контролери ви позволяват да управлявате напреженията и токовете, при които се захранва двигателят, за да контролирате скоростта на въртене. Освен това те служат като защитен метод за предотвратяване на повреда на електрониката на двигателите чрез ограничаване на циркулационния ток (нарязване).

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

Защо ми трябва шофьор?

El водачът е необходим за управление на двигателя, както вече казах. Също така трябва да имате предвид, че платката Arduino и нейният микроконтролер не могат да задвижат движението на двигателя. Той просто е проектиран за цифрови сигнали, но няма да работи добре, когато трябва да се достави малко повече мощност, каквато се изисква от този тип двигатели. Ето защо трябва да имате този елемент между платката Arduino и двигателите.

Типове драйвери

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

  • Шофьор за еднополюсен двигател: те са най-прости за управление, тъй като токът, протичащ през намотките, винаги върви в една и съща посока. Работата на водача просто трябва да знае кои бобини трябва да активира при всеки импулс. Пример за този тип контролер би бил ULN2003A.
  • Драйвер за биполярен двигател: тези двигатели са по-сложни и техните драйвери също, като DRV8825. В този случай те могат да бъдат активирани с ток в едната или другата посока (север-юг и юг-север). Водачът е този, който решава посоката за промяна на полярността на магнитното поле, което се образува вътре в двигателя. Най-известната схема за обръщане на посоката се нарича Punete H, позволяваща на двигателя да се върти в двете посоки. Този H-мост е съставен от няколко транзистора.

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

DRV8825

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

DRV8825 позволява работа с напрежения, по-високи от тези, използвани от A4988, тъй като може да достигне 45v вместо 35v на A4988. Той може да се справи и с по-високи токове, по-специално 2.5A, което е с половин усилвател повече от A4988. В допълнение към всичко това, този нов драйвер добавя нов 1/32 микро стъпков режим (1/16 за A4988), за да може да премести по-точно вала на стъпковия двигател.

в противен случай те са доста сходни. Например и двете могат да достигнат високи работни температури без проблем. Следователно, ако ги придружавате с малък радиатор, много по-добре (много модели вече го включват), особено ако ще го използвате над 1А.

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

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

Микро стъпка

микро стъпка

С техниката на могат да се постигнат стъпки с микро стъпка по-ниски от номиналните на стъпковия двигател, който ще използвате. Тоест разделете завоя на повече части, за да можете да напредвате по-бавно или по-точно. За целта токът, прилаган към всяка намотка, се променя чрез емулиране на аналогова стойност с наличните цифрови сигнали. Ако се постигнат перфектни синусоидални аналогови сигнали и 90º извън фазата един с друг, ще се постигне желаното въртене.

Но разбира се, не можете да получите този аналогов сигнал, защото работим с цифрови сигнали. Ето защо те трябва да бъдат третирани, за да се опитат да симулират аналоговия сигнал чрез малки скокове в електрическия сигнал. Разделителната способност на двигателя ще зависи от това: 1/4, 1/8, 1/16, 1/32, ...

За да изберете разделителната способност, която искате, трябва да контролирате щифтовете M0, M1 и M2 на модула. Щифтовете са свързани към маса или GND чрез изтеглящи резистори, така че ако нищо не е свързано, те винаги ще бъдат НИСКИ или 0. За да промените тази стойност, ще трябва да принудите стойност 1 или HIGH. The стойности на M0, M1, M2 съответно тези, които трябва да бъдат в съответствие с резолюцията, са:

  • Пълна стъпка: Ниска, Ниска, Ниска
  • 1/2: Високо, Ниско, Ниско
  • 1/4: Ниско, Високо, Ниско
  • 1/8: Високо, Високо, Ниско
  • 1/16: Ниско, Ниско, Високо
  • 1/32: всички други възможни стойности

pinout

DRV8825 пиноут

El Драйверът DRV8825 има проста схема за свързване, въпреки че наличието на достатъчно щифтове може да бъде малко сложно за по-малко експерта. Можете да го видите на изображението по-горе, но не забравяйте да позиционирате модула правилно, когато гледате щифтовете, тъй като често се допускат грешки и това е обърнато, което води до лоша връзка и дори повреда.

Como препоръка за свързване на драйвера, препоръчва се правилно да настроите и калибрирате устройството, като следвате стъпките по-долу за правилна работа и да не го повредите:

  1. Свържете драйвера към напрежението без свързан мотор или микростепване.
  2. Измерете с мултицет напрежението което съществува между GND и потенциометъра.
  3. Регулирайте потенциометъра докато не е правилната стойност.
  4. Сега можете изключете захранването.
  5. В този момент да можете свържете мотора. И свържете отново захранването към водолаза.
  6. С мултиметровата мярка интензивността между водача и двигателя стъпка по стъпка и можете да направите по-фина настройка на потенциометъра.
  7. Изключете отново захранването и вече можете да го свържете с Arduino.

Ако няма да използвате микро стъпка можете да регулирате интензивността на регулатора до 100% от номиналния ток на двигателя. Но ако ще го използвате, трябва да намалите тази граница, тъй като стойността, която след това ще циркулира, ще бъде по-висока от измерената ...

l298n
Свързана статия:
L298N: модул за управление на двигатели за Arduino

Интеграция с Arduino

Схеми на ARduino и DRV8825

За да използвате драйвера DRV8825 с Arduino, връзката е съвсем проста както можете да видите в горната част на тази електронна схема от Fritzing:

  • VMOT: свързан с мощност до 45v максимум.
  • GND: земя (мотор)
  • SLP: при 5v
  • RST: при 5v
  • GND: към земята (логика)
  • STP: към Arduino pin 3
  • DIR: към Arduino pin 2
  • A1, A2, B1, B2: към стъпков (мотор)

Веднъж свързан и правилно настроен, кодът за неговото управление също е ясен. Например за управление на стъпков двигател можете да използвате следното код в IDE на Arduino:

const int dirPin = 2;
const int stepPin = 3;
 
const int steps = 200;
int stepDelay;
 
void setup() {
   // Configura los pines como salida
   pinMode(dirPin, OUTPUT);
   pinMode(stepPin, OUTPUT);
}
 
void loop() {
   //Se pone una dirección y velocidad
   digitalWrite(dirPin, HIGH);
   stepDelay = 250;
   // Se gira 200 pulsos para hacer vuelta completa del eje
   for (int x = 0; x < 200; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
 
   //Ahora se cambia la dirección de giro y se aumenta la velocidad
   digitalWrite(dirPin, LOW);
   stepDelay = 150;
   //Se hacen dos vueltas completas
   for (int x = 0; x < 400; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
}

Съветвам ви също така да изпробвате някои примери за кодове, които ще намерите сред примерите, идващи с IDE на Arduino, и да опитате да модифицирате стойности, за да научите как влияе на двигателя.

за MÁS información за стъпкови двигатели, тяхното управление и програмиране на Arduino, препоръчвам изтеглете нашия курс по програмиране безплатно.


3 коментара, оставете своя

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Исус каза той

    Здравейте, изграждам домашен CNC с drv8825, въпросът ми е дали мога да сложа nema 23 мотори 2.8a, тъй като те са малко по-евтини от 2.5a, бих ли имал проблем? Благодаря ти

    1.    Isaac каза той

      Здравей Исусе,
      Благодаря, че ни прочетохте. Що се отнася до въпроса ви, наблюдавайте драйвера, който ще използвате, за да е съвместим с тези двигатели. Корпусът на DRV8825 е до максимум 2.5А. Погледнете TB6600, който може да достигне до 3.5А, ако си спомням правилно ...
      Поздрави!

  2.   Rodolfo каза той

    Салаудос. Каква е стойността на електролитния кондензатор, който е в захранването на двигателя. Благодаря.