Servomotor DC: construcție, funcționare, interfață cu Arduino și aplicațiile sale

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





A servo motor sau servo este un tip de motor electric folosit pentru a roti piesele mașinii cu mare precizie. Acest motor include un circuit de control care oferă feedback cu privire la locația curentă a arborelui motorului, astfel încât acest feedback permite pur și simplu acestor motoare să se rotească cu mare precizie. Un servomotor este benefic în rotirea unui obiect la o anumită distanță sau unghi. Acest motor este clasificat în două tipuri de servomotor AC și servomotor DC. Dacă un servomotor folosește putere de curent continuu pentru a funcționa, atunci motorul se numește servomotor de curent continuu, în timp ce dacă funcționează cu putere de curent alternativ, atunci este cunoscut ca un servomotor de curent alternativ. Acest tutorial oferă informații scurte despre Servomotor DC – lucrul cu aplicații.


Ce este servomotorul DC?

Un servomotor care utilizează o intrare electrică de curent continuu pentru a produce ieșiri mecanice, cum ar fi poziția, viteza sau accelerația, este numit servomotor de curent continuu. În general, aceste tipuri de motoare sunt utilizate ca motoare primare în mașini, computere și multe altele controlate numeric, oriunde se fac porniri și opriri. precis si foarte repede.



  Servomotor DC
Servomotor DC

Construcție și funcționare a servomotoarelor de curent continuu

Servomotorul de curent continuu este construit cu diferite componente care sunt prezentate în schema bloc următoare. În această diagramă, fiecare componentă și funcția sa sunt discutate mai jos.

  Diagrama blocului servomotoarelor de curent continuu
Diagrama blocului servomotoarelor de curent continuu

Motorul utilizat în aceasta este un motor DC tipic, inclusiv înfășurarea de câmp care este excitată separat. Deci, în funcție de natura excitației, mai departe pot fi clasificate ca servomotoare controlate de armătură și controlate de câmp.



Sarcina utilizată în aceasta este un simplu ventilator sau sarcină industrială care este pur și simplu conectată la arborele mecanic al motorului.

Cutia de viteze din această construcție funcționează ca un traductor mecanic pentru a modifica puterea motorului, cum ar fi accelerația, poziția sau viteza, în funcție de aplicație.

  PCBWay

Funcția principală a unui senzor de poziție este de a obține un semnal de feedback echivalent cu poziția curentă a sarcinii. În general, acesta este un potențiometru folosit pentru a furniza o tensiune proporțională cu unghiul absolut al arborelui motorului prin mecanismul angrenajului.

Funcția de comparare este de a compara o/p-ul unui senzor de poziție și un punct de referință pentru a produce semnalul de eroare și îl transmite amplificatorului. Dacă motorul de curent continuu funcționează cu un control precis, atunci nu există nicio eroare. Senzorul de poziție, cutia de viteze și comparatorul vor face din sistem o buclă închisă.

Funcția amplificatorului este de a amplifica eroarea de la comparator și de a o alimenta motorul de curent continuu. Deci, funcționează ca un controler proporțional ori de câte ori câștigul este întărit pentru zero eroare în stare de echilibru.

Semnalul controlat dă intrarea către PWM (modulatorul de lățime a impulsului) în funcție de semnalul de feedback, astfel încât să moduleze intrarea motorului pentru un control precis, altfel zero eroare la starea de echilibru. În plus, acest modulator de lățime a impulsurilor utilizează o formă de undă de referință și un comparator pentru a produce impulsuri.

Prin realizarea sistemului în buclă închisă se obține accelerația, viteza sau poziția exactă. După cum sugerează și numele, servomotorul este un motor controlat care oferă ieșirea preferată datorită efectului de feedback și controler. Semnalul de eroare este pur și simplu amplificat și utilizat pentru a conduce servomotorul. În funcție de natura producătoare a semnalului de control și a modulatorului de lățime a impulsului, aceste motoare au metode superioare controlate cu cipuri FPGA sau procesoare de semnal digital.

Funcționarea servomotorului DC este; ori de câte ori semnalul de intrare este aplicat motorului de curent continuu, atunci acesta rotește arborele și angrenajele. Deci, practic, rotația ieșirii angrenajelor este transmisă înapoi la senzorul de poziție (potențiometru) ale cărui butoane se rotesc și își schimbă rezistența. Ori de câte ori rezistența este schimbată, atunci se schimbă o tensiune care este un semnal de eroare care este introdus în controler și, în consecință, este generat PWM.

Pentru a afla mai multe despre tipurile de servomotoare DC, vă rugăm să consultați acest link: Diferite tipuri de servomotoare .

Funcția de transfer a servomotorului DC

Funcția de transfer poate fi definită ca raportul dintre transformarea Laplace (LT) a variabilei o/p și LT ( Transformarea Laplace ) variabilei i/p. În general, motorul de curent continuu schimbă energia de la electric la mecanic. Energia electrică furnizată la bornele armăturii este schimbată în energie mecanică controlată.

Funcția de transfer a servomotoarelor CC controlată de armătură este prezentată mai jos.

  Diagrama blocului servomotoarelor CC controlate cu armătură
Diagrama blocului servomotoarelor CC controlate cu armătură

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

Funcția de transfer al servomotorului de curent continuu controlată în câmp este prezentată mai jos.

  Diagrama bloc a servomotoarelor CC controlate în câmp
Diagrama bloc a servomotoarelor CC controlate în câmp

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

Servomotorul de curent continuu controlat de armătură oferă performanțe superioare datorită sistemului în buclă închisă în comparație cu servomotorul de curent continuu controlat de câmp, care este sistemul în buclă deschisă. În plus, viteza de răspuns este lentă în cadrul sistemului de control al câmpului. În cazul controlului armăturii, inductanța armăturii este neglijabilă, în timp ce, în cazul controlului în câmp, nu este același lucru. Dar, în controlul în câmp, amortizarea îmbunătățită nu este realizabilă, în timp ce, în controlul armăturii, aceasta poate fi obținută.

Specificații

Servomotorul DC oferă specificații de performanță care includ următoarele. Aceste specificații ar trebui să fie potrivite în funcție de necesitățile de sarcină ale aplicației pentru a dimensiona corect un motor.

  • Viteza arborelui definește pur și simplu viteza la care se rotește arborele, exprimată în RPM (rotații pe minut).
  • De obicei, viteza oferită de producător este viteza fără sarcină a arborelui o/p sau viteza la care cuplul de ieșire al motorului este zero.
  • Tensiunea la borne este tensiunea de proiectare a motorului care determină viteza motorului. Această viteză este controlată pur și simplu prin creșterea sau scăderea tensiunii furnizate motorului.
  • Forța de rotație precum cuplul este generată de arborele servomotorului de curent continuu. Deci, cuplul necesar pentru acest motor este pur și simplu determinat de caracteristicile viteză-cuplu ale diferitelor sarcini experimentate în aplicația țintă. Aceste cupluri sunt de două tipuri de cuplu de pornire și cuplu continuu.
  • Cuplul de pornire este cuplul necesar la pornirea servomotorului. Acest cuplu este în mod normal mai mare în comparație cu cuplul continuu.
  • Cuplul continuu este cuplul de ieșire care este capacitatea motorului în condiții de funcționare constantă.
  • Aceste motoare trebuie să aibă o capacitate de viteză și cuplu suficientă pentru aplicație, inclusiv o marjă de 20 până la 30% între nevoile de sarcină, precum și valorile nominale ale motorului pentru a asigura fiabilitatea. Când aceste marje depășesc prea mult, atunci eficiența costurilor va fi redusă specificațiile servomotorului DC fără miez de 12 V CC de la Faulhaber sunteți:
  • Raportul cutiei de viteze este 64: l Cutie de viteze planetară în trei trepte.
  • Curentul de sarcină este 1400 mA putere.
  • Puterea este de 17W.
  • Viteza este de 120 RPM.
  • Curentul fără sarcină este de 75 mA.
  • Tipul de codificator este optic.
  • Rezoluția codificatorului este de 768CPR a arborelui O/P.
  • Diametrul este de 30 mm.
  • Lungimea este de 42 mm.
  • Lungimea totală este de 85 mm.
  • Diametrul arborelui este de 6 mm.
  • Lungimea arborelui este de 35 mm.
  • Cuplul de blocare este de 52 kgcm.

Caracteristici

The caracteristicile unui servomotor DC includ următoarele.

  • Designul motorului DC Servo este similar cu un magnet permanent sau cu un motor DC excitat separat.
  • Controlul vitezei acestui motor se face prin controlul tensiunii armăturii.
  • Servomotorul este proiectat cu rezistență ridicată a armăturii.
  • Oferă răspuns rapid la cuplu.
  • O schimbare în trepte în cadrul tensiunii armăturii generează o schimbare rapidă a vitezei motorului.

Servomotor AC Vs Servo Motor DC

Diferența dintre un servomotor DC și un servomotor AC include următoarele.

Servomotor AC

Servomotor DC

Un tip de servomotor care utilizează intrare electrică AC pentru a genera ieșire mecanică se numește servomotor AC. Un tip de servomotor care utilizează intrare electrică DC pentru a genera ieșire mecanică se numește servomotor DC.
Servomotorul AC oferă o putere scăzută de ieșire. Servomotorul de curent continuu oferă o putere mare de ieșire.
Aceste motoare sunt reglabile pentru condiții de funcționare de mare viteză. Aceste motoare sunt reglabile pentru condiții de funcționare la viteză mică.
Aceste tipuri de motoare dezvoltă un cuplu ridicat. Aceste tipuri de motoare dezvoltă un cuplu scăzut.
Funcționarea acestui motor este stabilă, lină și mai puțin zgomot. Funcționarea acestui motor este mai puțin stabilă și zgomotoasă.
Aceste motoare au o eficiență mai mică. Aceste motoare au randament ridicat.
Aceste motoare au mai puține probleme de stabilitate. Aceste motoare au mai multe probleme de stabilitate.
La aceste motoare, nu există nicio problemă de zgomot electronic. La aceste motoare, există o problemă de zgomot electronic din cauza prezenței periilor.
Întreținerea acestor motoare este mai mică. Întreținerea acestor motoare este ridicată datorită prezenței periilor și comutatorului.
Acestea sunt ușoare și au dimensiuni mici. Acestea sunt grele și de dimensiuni mari.
Aceste motoare sunt potrivite pentru aplicații cu putere redusă. Aceste motoare sunt potrivite pentru aplicații de mare putere.

Interfața cu servomotor DC cu Arduino

Pentru a controla un servomotor DC la un unghi exact și necesar, se poate folosi o placă Arduino/orice alt microcontroler. Această placă are o/p analogică care generează un semnal PWM pentru a roti servomotorul la un unghi precis. De asemenea, puteți muta poziția unghiulară a servomotorului cu un potențiometru sau butoane folosind un Arduino.

Servomotorul poate fi controlat și cu o telecomandă IR care este disponibilă cu ușurință. Această telecomandă este utilă pentru a muta servomotorul de curent continuu la un unghi specific sau pentru a crește sau micșora unghiul motorului liniar cu o telecomandă IR.

Aici vom discuta despre cum să mutați servomotorul folosind o telecomandă IR folosind Arduino la un anumit unghi și, de asemenea, despre creșterea sau scăderea unghiului servomotorului cu telecomandă în sensul acelor de ceasornic și în sens invers acelor de ceasornic. Diagrama de interfață a servomotorului de curent continuu cu Arduino și telecomandă IR este prezentată mai jos. Conexiunile acestei interfețe urmează ca;

  Interfața cu servomotor DC cu Arduino
Interfața cu servomotor DC cu Arduino

Această interfață folosește în principal trei componente esențiale, cum ar fi servomotor DC, placa Arduino și senzorul IR TSOP1738. Acest senzor are trei terminale precum Vcc, GND și ieșire. Terminalul Vcc al acestui senzor este conectat la 5V al plăcii Arduino Uno, terminalul GND al acestui senzor este conectat la terminalul GND al plăcii Arduino și terminalul de ieșire este conectat la pinul 12 (intrarea digitală) al plăcii Arduino.

Pinul de ieșire digitală 5 este pur și simplu conectat la pinul de intrare de semnal al servomotorului pentru a conduce motorul
Servomotorul dc + pinul ve este dat la sursa externă de 5V, iar pinul GND al servomotorului este dat pinului GND al Arduino.

Lucru

Telecomanda IR este folosită pentru a efectua două acțiuni de 30 de grade, 60 de grade și 90 de grade și, de asemenea, pentru a crește/scădea unghiul motorului de la 0 la 180 de grade.

Telecomanda conține multe butoane, cum ar fi butoanele numerice (0-9), butoane pentru controlul unghiului, butoane cu săgeți, butoane sus/jos, etc. Odată ce orice buton numeric de la 1 la 5 este apăsat, atunci servomotorul de curent continuu se va muta la acel buton. unghiul exact și când butonul unghi sus/jos este apăsat, atunci unghiul motorului poate fi setat exact la ±5 grade.

Odată ce butoanele sunt decise, codurile acestor butoane trebuie să fie decodate. Odată ce este apăsat orice buton de pe telecomandă, acesta va trimite un cod pentru a efectua acțiunea necesară. Pentru a decoda aceste coduri de la distanță, biblioteca de la distanță IR este utilizată de pe internet.

Încărcați următorul program în Arduino și conectați senzorul IR. Acum plasați telecomanda spre senzorul IR și apăsați butonul. După aceea, deschideți monitorul serial și monitorizați codul butonului apăsat sub formă de numere.

Cod Arduino

#include // adaugă biblioteca la distanță IR
#include // adaugă biblioteca servomotoarelor
Service service1;
int IRpin = 12; // pin pentru senzorul IR
int unghi_motor=0;
IRrecv irrecv(IRpin);
decode_results rezultate;
void setup()
{
Serial.begin(9600); // inițializați comunicarea în serie
Serial.println(„Servomotor cu telecomandă IR”); // afișează mesajul
irrecv.enableIRIn(); // Porniți receptorul
servo1.attach(5); // declar pin servomotor
servo1.write(unghi_motor); // mută motorul la 0 grade
Serial.println(„Unghiul servomotor 0 grade”);
întârziere (2000);
}
buclă goală ()
{
while(!(irrecv.decode(&rezultate))); // așteptați până când nu este apăsat niciun buton
if (irrecv.decode(&results)) // când butonul este apăsat și codul este primit
{
if(results.value==2210) // verifică dacă butonul cifrei 1 este apăsat
{
Serial.println(„unghi servomotor 30 de grade”);
unghi_motor = 30;
servo1.write(unghi_motor); // mutați motorul la 30 de grade
}
else if(results.value==6308) // dacă este apăsat butonul cu cifra 2
{
Serial.println(„unghi servomotor 60 de grade”);
unghi_motor = 60;
servo1.write(unghi_motor); // mutați motorul la 60 de grade
}
else if(results.value==2215) // ca înțelept pentru toate butoanele cu cifre
{
Serial.println(„unghi servomotor 90 de grade”);
unghi_motor = 90;
servo1.write(unghi_motor);
}
else if(results.value==6312)
{
Serial.println(„unghi servomotor 120 de grade”);
unghi_motor = 120;
servo1.write(unghi_motor);
}
else if(results.value==2219)
{
Serial.println(„unghi servomotor 150 de grade”);
unghi_motor = 150;
servo1.write(unghi_motor);
}
else if(results.value==6338) // dacă este apăsat butonul de creștere a volumului
{
if(motor_angle<150) motor_angle+=5; // crește unghiul motorului
Serial.print(„Unghiul motorului este „);
Serial.println(unghi_motor);
servo1.write(unghi_motor); // și mutați motorul în acel unghi
}
else if(results.value==6292) // dacă este apăsat butonul de reducere a volumului
{
if(unghi_motor>0) unghi_motor-=5; // scade unghiul motorului
Serial.print(„Unghiul motorului este „);
Serial.println(unghi_motor);
servo1.write(unghi_motor); // și mutați motorul în acel unghi
}
întârziere (200); // așteptați 0,2 sec
irrecv.resume(); // fi din nou gata pentru a primi următorul cod
}
}

Alimentarea servomotorului DC este furnizată de la 5V extern și alimentarea senzorului IR și a plăcii Arduino este dată de la USB. Odată ce servomotorul este alimentat, acesta se deplasează la 0 grade. După aceea, mesajul va fi afișat ca „unghiul servomotorului este de 0 grade” pe monitorul serial.

Acum, pe telecomandă, odată ce butonul 1 este apăsat, servomotorul de curent continuu se va mișca cu 30 de grade. În mod similar, odată ce butoanele precum 2, 3, 4 sau 5 sunt apăsate, motorul se va mișca cu unghiurile dorite, cum ar fi 60 de grade, 90 de grade, 120 de grade sau 150 de grade. Acum, monitorul serial va afișa poziția unghiulară a servomotorului ca „unghiul servomotorului xx grade”

Odată apăsat butonul de creștere a volumului, unghiul motorului va crește cu 5 grade, ceea ce înseamnă că dacă este de 60 de grade, atunci se va muta la 65 de grade. Deci, poziția noului unghi va fi afișată pe monitorul serial.

La fel, odată ce butonul de unghi în jos este apăsat, atunci unghiul motorului va fi micșorat cu 5 grade, ceea ce înseamnă că, dacă unghiul este de 90 de grade, atunci se va muta la 85 de grade. Semnalul de la telecomanda IR este detectat de senzorul IR. Pentru a ști cum detectează și cum funcționează senzorul IR, faceți clic Aici

Deci, poziția noului unghi va fi afișată pe monitorul serial. Prin urmare, putem controla cu ușurință unghiul servomotorului de curent continuu cu Arduino și telecomandă IR.

Pentru a ști cum să interfați motorul de curent continuu cu microcontrolerul 8051, faceți clic Aici

Avantajele servomotorului DC

The Avantajele servomotoarelor de curent continuu includ următoarele.

  • Funcționarea servomotorului DC este stabilă.
  • Aceste motoare au o putere de ieșire mult mai mare decât dimensiunea și greutatea motorului.
  • Când aceste motoare funcționează la viteze mari, atunci nu generează niciun zgomot.
  • Această funcționare a motorului este fără vibrații și rezonanță.
  • Aceste tipuri de motoare au un raport mare de cuplu și inerție și pot prelua sarcini foarte repede.
  • Au randament ridicat.
  • Ei dau răspunsuri rapide.
  • Acestea sunt portabile și ușoare.
  • Funcționarea celor patru cadrane este posibilă.
  • La viteze mari, acestea sunt silențioase.

The dezavantajele servomotoarelor de curent continuu includ următoarele.

  • Mecanismul de răcire al servomotorului de curent continuu este ineficient. Deci acest motor se poluează rapid odată ce este ventilat.
  • Acest motor generează putere maximă de ieșire la o viteză de cuplu mai mare și necesită o angrenare regulată.
  • Aceste motoare pot fi deteriorate prin suprasarcină.
  • Au un design complex și au nevoie de un encoder.
  • Aceste motoare au nevoie de reglare pentru stabilizarea buclei de feedback.
  • Necesită întreținere.

Aplicații pentru servomotoare DC

The aplicații ale servomotoarelor de curent continuu includ următoarele.

  • Servomotoarele de curent continuu sunt folosite la mașinile-unelte pentru tăierea și formarea metalului.
  • Acestea sunt folosite pentru poziționarea antenei, imprimare, ambalare, prelucrarea lemnului, textile, fabricarea sforii sau a frânghiei, CMM (mașini de măsurat coordonate), manipularea materialelor, lustruirea podelei, deschiderea ușilor, mesei X-Y, echipamente medicale și filarea napolitanelor.
  • Aceste motoare sunt utilizate în sistemele de control aeronavelor în care limitările de spațiu și greutate au nevoie de motoare pentru a furniza putere mare pentru fiecare unitate de volum.
  • Acestea sunt aplicabile acolo unde este necesar un cuplu ridicat de pornire, cum ar fi antrenările suflantelor și ventilatoarele.
  • Acestea sunt, de asemenea, utilizate în principal pentru robotică, dispozitive de programare, actuatoare electromecanice, mașini-unelte, controlere de proces etc.

Astfel, aceasta este o prezentare generală a dc servomotor – funcționează cu aplicatii. Aceste servomotoare sunt utilizate în diverse industrii pentru a oferi soluția multor mișcări mecanice. Caracteristicile acestor motoare le vor face foarte eficiente și puternice. Iată o întrebare pentru tine, ce este servomotorul AC?