DC серво мотор: конструкция, работа, интерфейс с Arduino и неговите приложения

Опитайте Нашия Инструмент За Премахване На Проблемите





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


Какво е DC серво мотор?

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



  DC серво мотор
DC серво мотор

Конструиране и работа на DC серво мотор

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

  Блокова схема на DC серво мотор
Блокова схема на DC серво мотор

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



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

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

  PCBWay

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

Функцията на компаратора е да сравнява o/p на датчик за положение и референтна точка, за да произведе сигнал за грешка и да го подаде на усилвателя. Ако DC моторът работи с прецизен контрол, тогава няма грешка. Сензорът за позиция, скоростната кутия и компараторът ще превърнат системата в затворен контур.

Функцията на усилвателя е да усили грешката от компаратора и да я подаде към DC мотора. Така че той работи като пропорционален регулатор навсякъде, където усилването е засилено за нулева грешка в стационарно състояние.

Контролираният сигнал дава вход към PWM (модулатор на ширината на импулса) в зависимост от сигнала за обратна връзка, така че той модулира входа на двигателя за прецизен контрол, в противен случай нулева грешка в стационарно състояние. Освен това този модулатор на ширината на импулса използва референтна форма на вълната и компаратор за генериране на импулси.

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

Работата на DC серво мотора е; всеки път, когато входният сигнал се прилага към постояннотоковия мотор, той завърта вала и зъбните колела. Така че основно въртенето на изхода на предавките се връща към сензора за позиция (потенциометър), чиито копчета се въртят и променят съпротивлението си. Всеки път, когато съпротивлението се промени, напрежението се променя, което е сигнал за грешка, който се подава в контролера и впоследствие се генерира ШИМ.

За да научите повече за типовете DC серво мотори, моля, вижте тази връзка: Различни видове серво мотори .

Трансферна функция на DC серво мотор

Трансферната функция може да се дефинира като съотношението на трансформацията на Лаплас (LT) на променливата o/p към LT ( Преобразуване на Лаплас ) на променливата i/p. Обикновено DC моторът променя енергията от електрическа към механична. Доставената електрическа енергия на клемите на котвата се променя в контролирана механична енергия.

Функцията за трансфер на DC серво мотор, управлявана от арматура, е показана по-долу.

  Блокова схема на DC серво мотор с арматурно управление
Блокова схема на DC серво мотор с арматурно управление

θ(s)/Va(s) = (K1/(Js2 + Bs)*(Las + Ra)) /1 + (K1KbKs)/(Js2 + Bs)*(Las+Ra)

Трансферната функция на постояннотоковия сервомотор, управлявана от полето, е показана по-долу.

  Блокова схема на DC серво мотор с управлявано поле
Блокова схема на DC серво мотор с управлявано поле

θ(s)/Vf (s) = Kf / (sLf + Rf) * (s2J + Bs)

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

Спецификации

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

  • Скоростта на вала просто определя скоростта, в която се върти валът, изразена в RPM (обороти в минута).
  • Обикновено предлаганата от производителя скорост е скоростта на празен ход на въртящия вал или скоростта, при която изходният въртящ момент на двигателя е нула.
  • Клемното напрежение е проектното напрежение на двигателя, което определя скоростта на двигателя. Тази скорост се контролира просто чрез увеличаване или намаляване на подаденото напрежение към двигателя.
  • Силата на въртене като въртящ момент се генерира от вала на DC серво мотора. И така, необходимият въртящ момент за този двигател просто се определя от характеристиките скорост-въртящ момент на различните натоварвания, изпитвани в рамките на целевото приложение. Тези въртящи моменти са два вида начален въртящ момент и непрекъснат въртящ момент.
  • Стартовият въртящ момент е необходимият въртящ момент при стартиране на сервомотора. Този въртящ момент обикновено е по-висок в сравнение с непрекъснатия въртящ момент.
  • Непрекъснатият въртящ момент е изходният въртящ момент, който е капацитетът на двигателя при постоянни работни условия.
  • Тези двигатели трябва да имат достатъчен капацитет за скорост и въртящ момент за приложението, включително 20 до 30% марж между необходимото натоварване, както и номинални стойности на двигателя, за да се гарантира надеждност. Когато тези маржове надхвърлят твърде много, тогава ефективността на разходите ще бъде намалена спецификации на 12V DC Coreless DC серво мотор от Faulhaber са:
  • Съотношението на скоростната кутия е 64: l Планетарна тристепенна скоростна кутия.
  • Токът на натоварване е 1400 mA мощност.
  • Мощността е 17W.
  • Скоростта е 120RPM.
  • Токът на празен ход е 75mA.
  • Типът енкодер е оптичен.
  • Разделителната способност на енкодера е 768CPR на O/P вал.
  • Диаметърът е 30 мм.
  • Дължината е 42 мм.
  • Общата дължина е 85 мм.
  • Диаметърът на вала е 6 мм.
  • Дължината на вала е 35 мм.
  • Въртящият момент на срива е 52 kgcm.

Характеристики

The характеристики на DC серво мотор включват следното.

  • Дизайнът на DC серво мотора е подобен на постоянен магнит или отделно възбуден DC двигател.
  • Контролът на скоростта на този двигател се извършва чрез контролиране на напрежението на котвата.
  • Серво моторът е проектиран с високо съпротивление на котвата.
  • Осигурява бърза реакция на въртящия момент.
  • Стъпка промяна в напрежението на арматурата генерира бърза промяна в скоростта на двигателя.

AC серво мотор срещу DC серво мотор

Разликата между DC серво мотор и AC серво мотор включва следното.

AC серво мотор

DC серво мотор

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

Взаимодействие на DC серво мотор с Arduino

За да управлявате DC серво мотор под точен и необходим ъгъл, може да се използва платка Arduino/всеки друг микроконтролер. Тази платка има аналогов o/p, който генерира PWM сигнал за завъртане на серво мотора под точен ъгъл. Можете също така да преместите ъгловата позиция на серво мотора с потенциометър или бутони с помощта на Arduino.

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

Тук ще обсъдим как да преместим серво мотора с помощта на IR дистанционно с помощта на Arduino под определен ъгъл и също така да увеличим или намалим ъгъла на серво мотора с дистанционното по часовниковата стрелка и обратно на часовниковата стрелка. Диаграмата на интерфейса на DC серво мотор с Arduino и IR дистанционно е показана по-долу. Връзките на това взаимодействие следват както следва;

  Взаимодействие на DC серво мотор с Arduino
Взаимодействие на DC серво мотор с Arduino

Този интерфейс използва главно три основни компонента като DC серво мотор, Arduino платка и TSOP1738 IR сензор. Този сензор има три терминала като Vcc, GND и изход. Клемата Vcc на този сензор е свързана към 5V на платката Arduino Uno, клемата GND на този сензор е свързана към клемата GND на платката Arduino, а изходната клема е свързана към пин 12 (цифров вход) на платката Arduino.

Цифровият изходен щифт 5 е просто свързан към входния сигнален щифт на сервомотора, за да задвижва двигателя
Щифтът +ve на серво мотора за постоянен ток е даден към външното 5V захранване, а щифтът GND на серво мотора е даден към щифта GND на Arduino.

Работещ

IR дистанционното се използва за извършване на две действия 30 градуса, 60 градуса и 90 градуса, както и за увеличаване/намаляване на ъгъла на мотора от 0 до 180 градуса.

Дистанционното съдържа много бутони като бутони с цифри (0-9), бутони за контрол на ъгъла, бутони със стрелки, бутони нагоре/надолу и т.н. След като бъде натиснат някой бутон с цифри от 1 до 5, тогава DC серво моторът ще се премести към него точен ъгъл и когато бутонът за ъгъл нагоре/надолу е натиснат, тогава ъгълът на двигателя може да бъде точно зададен на ±5 градуса.

След като бутоните бъдат определени, кодовете на тези бутони трябва да бъдат декодирани. След като бъде натиснат произволен бутон от дистанционното, то ще изпрати един код за извършване на необходимото действие. За декодиране на тези дистанционни кодове се използва IR дистанционна библиотека от интернет.

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

Код на Arduino

#include // добавяне на IR отдалечена библиотека
#include // добавяне на библиотека за серво мотори
Сервизна услуга1;
int IRpin = 12; // щифт за инфрачервения сензор
int motor_angle=0;
IRrecv irrecv(IRpin);
decode_results резултати;
void setup()
{
Serial.begin(9600); // инициализиране на серийна комуникация
Serial.println(“Серво мотор с IR дистанционно управление”); // показване на съобщение
irrecv.enableIRIn(); // Стартиране на приемника
servo1.attach(5); // деклариране на щифт на серво мотор
servo1.write(motor_angle); // преместете двигателя на 0 градуса
Serial.println(“Ъгъл на серво мотора 0 градуса”);
забавяне (2000);
}
void loop()
{
докато(!(irrecv.decode(&results))); // изчакайте, докато не бъде натиснат бутон
if (irrecv.decode(&results)) // когато бутонът е натиснат и кодът е получен
{
if(results.value==2210) // проверка дали е натиснат бутон с цифра 1
{
Serial.println(“ъгъл на серво мотора 30 градуса”);
мотор_ъгъл = 30;
servo1.write(motor_angle); // преместете двигателя на 30 градуса
}
else if(results.value==6308) // ако е натиснат бутон с цифра 2
{
Serial.println(“ъгъл на серво мотора 60 градуса”);
мотор_ъгъл = 60;
servo1.write(motor_angle); // преместете двигателя на 60 градуса
}
else if(results.value==2215) // подобно на всички бутони с цифри
{
Serial.println(“ъгъл на серво мотора 90 градуса”);
мотор_ъгъл = 90;
servo1.write(motor_angle);
}
иначе ако (results.value==6312)
{
Serial.println(“ъгъл на серво мотора 120 градуса”);
мотор_ъгъл = 120;
servo1.write(motor_angle);
}
иначе ако (results.value==2219)
{
Serial.println(“ъгъл на серво мотора 150 градуса”);
мотор_ъгъл = 150;
servo1.write(motor_angle);
}
else if(results.value==6338) // ако е натиснат бутонът за увеличаване на звука
{
if(motor_angle<150) motor_angle+=5; // увеличаване на ъгъла на двигателя
Serial.print(“Ъгълът на двигателя е “);
Serial.println(motor_angle);
servo1.write(motor_angle); // и преместете двигателя под този ъгъл
}
else if(results.value==6292) // ако е натиснат бутон за намаляване на звука
{
if(motor_angle>0) motor_angle-=5; // намаляване на ъгъла на двигателя
Serial.print(“Ъгълът на двигателя е “);
Serial.println(motor_angle);
servo1.write(motor_angle); // и преместете двигателя под този ъгъл
}
забавяне (200); // изчакайте 0,2 сек
irrecv.resume(); // отново бъдете готови да получите следващия код
}
}

Захранването на DC серво мотора се подава от външния 5V и захранването на IR сензора и Arduino платката се подава от USB. След като се подаде захранване към сервомотора, той се премества на 0 градуса. След това съобщението ще се покаже като „ъгълът на серво мотора е 0 градуса“ на серийния монитор.

Сега на дистанционното управление, след като бутон 1 бъде натиснат, тогава постояннотоковият серво мотор ще се премести на 30 градуса. По същия начин, след като се натиснат бутони като 2, 3, 4 или 5, тогава моторът ще се движи с желаните ъгли като 60 градуса, 90 градуса, 120 градуса или 150 градуса. Сега серийният монитор ще покаже ъгловата позиция на серво мотора като „ъгъл на серво мотора xx градуса“

След като бутонът за увеличаване на звука бъде натиснат, ъгълът на двигателя ще се увеличи с 5 градуса, което означава, че ако е 60 градуса, тогава ще се премести на 65 градуса. Така че позицията на новия ъгъл ще бъде показана на серийния монитор.

По същия начин, след като бутонът за ъгъл надолу бъде натиснат, тогава ъгълът на двигателя ще бъде намален с 5 градуса, което означава, че ако ъгълът е 90 градуса, тогава той ще се премести на 85 градуса. Сигналът от IR дистанционното управление се усеща от IR сензора. За да разберете как усеща и как работи инфрачервеният сензор, щракнете тук

Така че позицията на новия ъгъл ще бъде показана на серийния монитор. Следователно можем лесно да контролираме ъгъла на DC серво мотора с Arduino & IR дистанционно.

За да разберете как да свържете DC мотор с микроконтролер 8051, щракнете тук

Предимства на DC серво мотор

The предимства на DC серво моторите включват следното.

  • Работата на DC серво мотора е стабилна.
  • Тези двигатели имат много по-висока изходна мощност от размера и теглото на двигателя.
  • Когато тези двигатели работят на високи скорости, те не генерират никакъв шум.
  • Тази работа на двигателя е без вибрации и резонанс.
  • Тези типове двигатели имат високо съотношение на въртящ момент към инерция и могат да поемат товари много бързо.
  • Имат висока ефективност.
  • Дават бързи отговори.
  • Те са преносими и леки.
  • Възможна е работа с четири квадранта.
  • При високи скорости те са доста тихи.

The недостатъци на DC серво мотори включват следното.

  • Охлаждащият механизъм на DC серво мотора е неефективен. Така че този мотор се замърсява бързо, след като се вентилира.
  • Този двигател генерира максимална изходна мощност при по-висока скорост на въртящ момент и се нуждае от редовно превключване.
  • Тези двигатели могат да се повредят от претоварване.
  • Те имат сложен дизайн и се нуждаят от енкодер.
  • Тези двигатели се нуждаят от настройка за стабилизиране на обратната връзка.
  • Изисква поддръжка.

Приложения на DC серво мотор

The приложения на DC серво мотори включват следното.

  • DC сервомоторите се използват в машинни инструменти за рязане и формоване на метал.
  • Те се използват за позициониране на антена, печат, опаковане, дървообработване, текстил, производство на канап или въже, CMM (координатни измервателни машини), обработка на материали, полиране на пода, отваряне на врати, X-Y маса, медицинско оборудване и предене на вафли.
  • Тези двигатели се използват в системи за управление на самолети, където ограниченията на пространството и теглото изискват двигатели, за да доставят висока мощност за всеки обем на единица.
  • Те са приложими, когато е необходим висок начален въртящ момент, като задвижвания на вентилатори и вентилатори.
  • Те се използват главно за роботика, устройства за програмиране, електромеханични задвижващи механизми, машинни инструменти, контролери за процеси и др.

По този начин, това е общ преглед на dc серво мотор - работи с приложения. Тези серво мотори се използват в различни индустрии, за да осигурят решение за много механични движения. Характеристиките на тези двигатели ще ги направят много ефективни и мощни. Ето един въпрос към вас, какво е AC серво мотор?