DC Servo Motor : Konstruksyon, Paggawa, Interface sa Arduino at Mga Application Nito

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





A servo motor o servo ay isang uri ng de-koryenteng motor na ginagamit upang paikutin ang mga bahagi ng makina na may mataas na katumpakan. Ang motor na ito ay may kasamang control circuit na nagbibigay ng feedback sa kasalukuyang lokasyon ng shaft ng motor kaya pinapayagan lang ng feedback na ito ang mga motor na ito na umikot nang may mataas na katumpakan. Ang isang Servo motor ay kapaki-pakinabang sa pag-ikot ng isang bagay sa ilang distansya o anggulo. Ang motor na ito ay inuri sa dalawang uri ng AC servo motor at DC servo motor. Kung ang isang servo motor ay gumagamit ng DC power upang gumana kung gayon ang motor ay tinatawag na isang DC servo motor samantalang kung ito ay gumagana sa AC power pagkatapos ito ay kilala bilang isang AC servo motor. Ang tutorial na ito ay nagbibigay ng maikling impormasyon sa DC servo motor – nagtatrabaho sa mga application.


Ano ang DC Servo Motor?

Ang isang servomotor na gumagamit ng DC electrical input upang makagawa ng mekanikal na output tulad ng posisyon, bilis, o acceleration ay tinatawag na isang DC servomotor. tumpak at napakabilis.



  DC Servo Motor
DC Servo Motor

Konstruksyon at Paggawa ng DC Servo Motor

Ang DC servo motor ay itinayo gamit ang iba't ibang bahagi na ibinibigay sa sumusunod na block diagram. Sa diagram na ito, ang bawat bahagi at ang function nito ay tinalakay sa ibaba.

  DC Servo Motor Block Diagram
DC Servo Motor Block Diagram

Ang motor na ginamit dito ay isang tipikal na DC motor kasama ang field winding nito na hiwalay na nasasabik. Kaya't depende sa kalikasan ng paggulo, higit pa ay maaaring ikategorya bilang kontrolado ng armature at mga servo motor na kontrolado ng field.



Ang load na ginamit dito ay isang simpleng fan o industrial load na konektado lang sa mechanical shaft ng motor.

Ang gearbox sa construction na ito ay gumagana tulad ng isang mechanical transducer upang baguhin ang output ng motor tulad ng acceleration, posisyon, o bilis depende sa application.

  PCBWay

Ang pangunahing function ng isang position sensor ay upang makuha ang feedback signal na katumbas ng kasalukuyang posisyon ng load. Sa pangkalahatan, ito ay isang potentiometer na ginagamit upang magbigay ng boltahe na proporsyonal sa ganap na anggulo ng motor shaft sa pamamagitan ng mekanismo ng gear.

Ang comparator function ay upang ihambing ang o/p ng isang position sensor at isang reference point para makagawa ng error signal at ibigay ito sa amplifier. Kung ang DC motor ay gumagana nang may tumpak na kontrol, pagkatapos ay walang error. Ang position sensor, gearbox at comparator ay gagawing closed loop ang system.

Ang amplifier function ay upang palakasin ang error mula sa comparator at ipakain ito sa DC motor. Kaya, ito ay gumaganap tulad ng isang proporsyonal na controller saanman ang nakuha ay pinalakas para sa zero steady-state error.

Ang kinokontrol na signal ay nagbibigay ng input sa PWM (pulse width modulator) depende sa feedback signal upang ma-modulate nito ang input ng motor para sa tumpak na kontrol kung hindi man ay zero steady-state error. Dagdag pa, ang pulse width modulator na ito ay gumagamit ng isang reference waveform at comparator upang makagawa ng mga pulse.

Sa pamamagitan ng paggawa ng closed-loop system, nakuha ang acceleration, velocity, o eksaktong posisyon. Gaya ng ipinahihiwatig ng pangalan, ang servo motor ay isang kinokontrol na motor na nagbibigay ng ginustong output dahil sa feedback at controller effect. Ang signal ng error ay pinalakas lamang at ginagamit upang himukin ang servo motor. Depende sa control signal at pulse width modulator-producing nature, ang mga motor na ito ay may superior controlled method na may FPGA chips o digital signal processors.

Ang pagtatrabaho ng DC servo motor ay; sa tuwing ang input signal ay inilapat sa dc motor pagkatapos ay iikot ang baras at gears. Kaya talaga, ang pag-ikot ng output ng mga gear ay ibinabalik sa sensor ng posisyon (potentiometer) na ang mga knobs ay umiikot at nagbabago ng kanilang resistensya. Sa tuwing babaguhin ang resistensya, pinapalitan ang isang boltahe na isang signal ng error na ipinapasok sa controller at dahil dito ay nabuo ang PWM.

Upang malaman ang higit pa tungkol sa mga uri ng DC servo motors, mangyaring sumangguni sa link na ito: Iba't ibang Uri ng Servo Motors .

Paglipat ng Function ng DC Servo Motor

Ang transfer function ay maaaring tukuyin bilang ang ratio ng Laplace transform (LT) ng o/p variable sa LT ( Pagbabago ng Laplace ) ng i/p variable. Sa pangkalahatan, binabago ng DC motor ang enerhiya mula sa elektrikal patungo sa mekanikal. Ang ibinibigay na elektrikal na enerhiya sa mga terminal ng armature ay binago sa kinokontrol na mekanikal na enerhiya.

Ang armature-controlled DC servo motor transfer function ay ipinapakita sa ibaba.

  Armature Controlled DC Servo Motor Block Diagram
Armature Controlled DC Servo Motor Block Diagram

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

Ang field-controlled dc servomotor transfer function ay ipinapakita sa ibaba.

  Field Controlled DC Servo Motor Block Diagram
Field Controlled DC Servo Motor Block Diagram

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

Ang dc servo motor na kontrolado ng armature ay nagbibigay ng mahusay na pagganap dahil sa closed-loop system kung ihahambing sa field controlled dc servo motor na siyang open-loop system. Bilang karagdagan, ang bilis ng pagtugon ay mabagal sa loob ng field control system. Sa armature controlled case, bale-wala ang inductance ng armature, samantalang, sa field control case, hindi ito pareho. Ngunit, sa kontrol ng Infield, hindi makakamit ang pinahusay na pamamasa, samantalang, sa kontrol ng armature, maaari itong makamit.

Mga pagtutukoy

Ang DC servo motor ay nagbibigay ng mga detalye ng pagganap na kinabibilangan ng mga sumusunod. Ang mga pagtutukoy na ito ay dapat na tumugma batay sa mga kinakailangan sa pagkarga ng aplikasyon upang tama ang sukat ng isang motor.

  • Tinutukoy lamang ng bilis ng baras ang bilis kung saan lumiliko ang baras, na ipinahayag sa loob ng RPM (mga pag-ikot kada minuto).
  • Karaniwan, ang bilis na inaalok ng tagagawa ay ang walang-load na bilis ng o/p shaft o ang bilis kung saan ang output torque ng motor ay zero.
  • Ang boltahe ng terminal ay ang boltahe ng disenyo ng motor na tumutukoy sa bilis ng motor. Ang bilis na ito ay kinokontrol lamang sa pamamagitan ng pagtaas o pagbaba ng ibinigay na boltahe sa motor.
  • Ang rotational force tulad ng torque ay nabuo ng baras ng dc servo motor. Kaya, ang kinakailangang metalikang kuwintas para sa motor na ito ay natutukoy lamang ng mga katangian ng bilis-torque ng iba't ibang mga pag-load na naranasan sa loob ng target na aplikasyon. Ang mga torque na ito ay dalawang uri ng panimulang metalikang kuwintas at tuluy-tuloy na metalikang kuwintas.
  • Ang panimulang metalikang kuwintas ay ang kinakailangang metalikang kuwintas habang sinisimulan ang servo motor. Ang torque na ito ay karaniwang mas mataas kumpara sa tuloy-tuloy na torque.
  • Ang tuluy-tuloy na metalikang kuwintas ay ang output torque na ang kapasidad ng motor sa patuloy na mga kondisyon ng pagtakbo.
  • Ang mga motor na ito ay dapat na may sapat na bilis at kapasidad ng metalikang kuwintas para sa aplikasyon kasama ang 20 hanggang 30% na margin sa pagitan ng mga kinakailangan sa pagkarga pati na rin ang mga rating ng motor upang matiyak ang pagiging maaasahan. Kapag ang mga margin na ito ay lumampas nang labis, ang bisa ng gastos ay mababawasan.Ang mga detalye ng 12V DC Coreless DC Servo Motor mula sa Faulhaber ay:
  • Ang Gearbox Ratio ay 64: l Planetary Three Stage Gear Box.
  • Ang Load Current ay 1400 mA Power.
  • Ang kapangyarihan ay 17W.
  • Ang bilis ay 120RPM.
  • Walang Load Current ay 75mA.
  • Ang uri ng Encoder ay Optical.
  • Ang resolution ng Encoder ay 768CPR ng O/P Shaft.
  • Ang diameter ay 30mm.
  • Ang haba ay 42mm.
  • Ang kabuuang Haba ay 85mm.
  • Ang Shaft Diameter ay 6mm.
  • Ang haba ng baras ay 35mm.
  • Ang stall Torque ay 52kgcm.

Mga katangian

Ang mga katangian ng isang DC servo motor isama ang mga sumusunod.

  • Ang disenyo ng DC Servo motor ay katulad ng isang Permanent Magnet o hiwalay na nasasabik na DC Motor.
  • Ang kontrol sa bilis ng motor na ito ay ginagawa sa pamamagitan ng pagkontrol sa boltahe ng armature.
  • Ang servo motor ay dinisenyo na may mataas na armature resistance.
  • Nagbibigay ito ng mabilis na tugon ng metalikang kuwintas.
  • Ang isang hakbang na pagbabago sa loob ng boltahe ng armature ay bumubuo ng mabilis na pagbabago sa bilis ng motor.

AC Servo Motor vs DC Servo Motor

Ang pagkakaiba sa pagitan ng isang DC servo motor at isang AC servo motor ay kinabibilangan ng mga sumusunod.

AC Servo Motor

DC Servo Motor

Ang isang uri ng servomotor na gumagamit ng AC electrical input upang makabuo ng mekanikal na output ay tinatawag na AC servo motor. Ang isang uri ng servomotor na gumagamit ng DC electrical input upang makabuo ng mekanikal na output ay tinatawag na DC servo motor.
Ang AC servo motor ay naghahatid ng mababang output power. Ang DC servo motor ay naghahatid ng mataas na output power.
Ang mga motor na ito ay madaling iakma para sa mataas na bilis ng mga kondisyon ng pagpapatakbo. Ang mga motor na ito ay madaling iakma para sa mababang bilis ng mga kondisyon ng pagpapatakbo.
Ang mga ganitong uri ng motor ay bumuo ng mataas na metalikang kuwintas. Ang mga ganitong uri ng motor ay nagkakaroon ng mababang torque.
Ang operasyon ng motor na ito ay stable, makinis at hindi gaanong ingay base. Ang pagpapatakbo ng motor na ito ay hindi gaanong matatag, at maingay.
Ang mga motor na ito ay may mas kaunting kahusayan. Ang mga motor na ito ay may mataas na kahusayan.
Ang mga motor na ito ay may mas kaunting mga problema sa katatagan. Ang mga motor na ito ay may mas maraming problema sa katatagan.
Sa mga motor na ito, walang problema sa elektronikong ingay. Sa mga motor na ito, mayroong problema sa elektronikong ingay dahil sa pagkakaroon ng mga brush.
Ang pagpapanatili ng mga motor na ito ay mas mababa. Ang pagpapanatili ng mga motor na ito ay mataas dahil sa pagkakaroon ng mga brush at commutator.
Ang mga ito ay magaan at nasa maliliit na sukat. Ang mga ito ay mabigat at nasa malaking sukat.
Ang mga motor na ito ay angkop para sa mababang-power-based na mga application. Ang mga motor na ito ay angkop para sa high-power-based na mga application.

DC Servo Motor Interfacing sa Arduino

Upang makontrol ang isang DC servo motor sa isang eksakto at kinakailangang anggulo, maaaring gumamit ng Arduino board/anumang microcontroller. Ang board na ito ay may analog na o/p na bumubuo ng PWM signal para paikutin ang servo motor sa isang tumpak na anggulo. Maaari mo ring ilipat ang posisyon ng anggulo ng servo motor gamit ang isang potentiometer o mga push button gamit ang Arduino.

Ang servo motor ay maaari ding kontrolin gamit ang isang IR remote na madaling magagamit. Ang remote na ito ay nakakatulong sa paglipat ng dc servo motor sa isang partikular na anggulo o pagtaas o pagbaba ng anggulo ng motor nang linear gamit ang isang IR remote.

Dito ay tatalakayin natin kung paano ilipat ang servo motor gamit ang isang IR remote gamit ang Arduino sa isang tiyak na anggulo at din pagtaas o pagbaba ng anggulo ng servo motor gamit ang remote clockwise at counterclockwise. Ang interfacing diagram ng DC servo motor na may Arduino at IR remote ay ipinapakita sa ibaba. Ang mga koneksyon ng interfacing na ito ay sumusunod bilang;

  Interfacing DC Servo Motor sa Arduino
Interfacing DC Servo Motor sa Arduino

Ang interfacing na ito ay pangunahing gumagamit ng tatlong mahahalagang bahagi tulad ng dc servo motor, Arduino board, at TSOP1738 IR sensor. Ang sensor na ito ay may tatlong terminal tulad ng Vcc, GND at output. Ang Vcc terminal ng sensor na ito ay konektado sa 5V ng Arduino Uno board, ang GND terminal ng sensor na ito ay konektado sa GND terminal ng Arduino board at ang output terminal ay konektado sa pin 12 (digital input) ng Arduino board.

Ang digital output pin 5 ay konektado lamang sa signal input pin ng servo motor upang himukin ang motor
Ang dc servo motor +ve pin ay ibinibigay sa panlabas na 5V supply at ang GND pin ng servo motor ay ibinibigay sa GND pin ng Arduino.

Nagtatrabaho

Ang IR remote ay ginagamit upang magsagawa ng dalawang pagkilos na 30 degrees, 60 degrees, at 90 degrees, at para din sa Pagtaas/pagbaba ng anggulo ng motor mula 0  hanggang 180 degrees.

Ang remote ay naglalaman ng maraming mga pindutan tulad ng mga digit na pindutan (0-9), mga pindutan para sa kontrol ng anggulo, mga pindutan ng arrow key, mga pindutan ng pataas/pababa, atbp. Kapag na-push ang anumang digit na pindutan mula 1 - 5, pagkatapos ay lilipat ang dc servo motor doon eksaktong anggulo at kapag ang angleup/down button ay itinulak, ang anggulo ng motor ay maaaring eksaktong itakda sa ±5 degrees.

Kapag napagpasyahan na ang mga button, kailangang i-decode ang mga code ng mga button na ito. Kapag napindot ang anumang button mula sa remote, magpapadala ito ng isang code upang maisagawa ang kinakailangang pagkilos. Upang i-decode ang mga malalayong code na ito, ang IR remote library ay ginagamit mula sa internet.

I-upload ang sumusunod na programa sa Arduino at ikonekta ang IR sensor. Ngayon ilagay ang remote patungo sa IR sensor at pindutin ang button. Pagkatapos nito, buksan ang serial monitor at subaybayan ang code ng pinindot na pindutan sa anyo ng mga numero.

Arduino Code

#include // magdagdag ng IR remote library
#include // magdagdag ng servo motor library
Serbisyong serbisyo1;
int IRpin = 12; // pin para sa IR sensor
int motor_angle=0;
IRrecv irrecv(IRpin);
decode_results resulta;
void setup()
{
Serial.begin(9600); // simulan ang serial communication
Serial.println('IR Remote controlled servo motor'); // ipakita ang mensahe
irrecv.enableIRIn(); // Simulan ang receiver
servo1.attach(5); // ideklara ang servo motor pin
servo1.write(motor_angle); // ilipat ang motor sa 0 deg
Serial.println('Anggulo ng motor ng servo 0 deg');
pagkaantala(2000);
}
void loop()
{
while(!(irrecv.decode(&results))); // maghintay hanggang walang pinindot na button
if (irrecv.decode(&results)) // kapag pinindot ang button at natanggap ang code
{
if(results.value==2210) // tingnan kung pinindot ang digit 1 button
{
Serial.println('anggulo ng servo motor 30 deg');
motor_angle = 30;
servo1.write(motor_angle); // ilipat ang motor sa 30 deg
}
else if(results.value==6308) // kung pinindot ang digit 2 button
{
Serial.println('anggulo ng servo motor 60 deg');
motor_angle = 60;
servo1.write(motor_angle); // ilipat ang motor sa 60 deg
}
else if(results.value==2215) // like wise para sa lahat ng digit na button
{
Serial.println('anggulo ng servo motor 90 deg');
motor_angle = 90;
servo1.write(motor_angle);
}
else if(results.value==6312)
{
Serial.println('anggulo ng servo motor 120 deg');
motor_angle = 120;
servo1.write(motor_angle);
}
else if(results.value==2219)
{
Serial.println('anggulo ng servo motor 150 deg');
motor_angle = 150;
servo1.write(motor_angle);
}
else if(results.value==6338) // kung pinindot ang volume UP button
{
if(motor_angle<150) motor_angle+=5; // dagdagan ang anggulo ng motor
Serial.print('Ang anggulo ng motor ay ');
Serial.println(motor_angle);
servo1.write(motor_angle); // at ilipat ang motor sa anggulong iyon
}
else if(results.value==6292) // kung pinindot ang volume down button
{
if(motor_angle>0) motor_angle-=5; // bawasan ang anggulo ng motor
Serial.print('Ang anggulo ng motor ay ');
Serial.println(motor_angle);
servo1.write(motor_angle); // at ilipat ang motor sa anggulong iyon
}
pagkaantala(200); // maghintay ng 0.2 seg
irrecv.resume(); // muli maging handa na tumanggap ng susunod na code
}
}

Ang supply sa DC servo motor ay ibinibigay mula sa panlabas na 5V at ang supply sa IR sensor at Arduino board ay ibinibigay mula sa USB. Kapag ang kapangyarihan ay ibinigay sa servo motor pagkatapos ito ay gumagalaw sa 0 degrees. Pagkatapos nito, ang mensahe ay ipapakita bilang 'servo motor angle ay 0 deg' sa serial monitor.

Ngayon sa remote, sa sandaling pinindot ang button 1 saka ang dc servo motor ay lilipat ng 30 degrees. Katulad nito, kapag pinindot ang mga button tulad ng 2, 3, 4, o 5, lilipat ang motor sa mga gustong anggulo tulad ng 60 degrees, 90 degrees, 120 degrees, o 150 degrees. Ngayon, ipapakita ng serial monitor ang posisyon ng anggulo ng servo motor bilang 'servo motor angle xx degrees'

Kapag na-push ang volume up button, ang anggulo ng motor ay tataas ng 5 degrees ibig sabihin kung ito ay 60 degrees, pagkatapos ay lilipat ito sa 65 degrees. Kaya, ang posisyon ng bagong anggulo ay ipapakita sa serial monitor.

Ganun din, kapag ang angle down button ay naitulak, ang anggulo ng motor ay bababa ng 5 degrees ibig sabihin, kung ang anggulo ay 90 degrees, pagkatapos ay lilipat ito sa 85 degrees. Ang signal mula sa IR remote ay nararamdaman ng IR sensor. Upang malaman kung paano ito nararamdaman at kung paano gumagana ang IR sensor i-click dito

Kaya, ang posisyon ng bagong anggulo ay ipapakita sa serial monitor. Samakatuwid, madali nating makokontrol ang anggulo ng dc servo motor gamit ang Arduino at IR remote.

Upang malaman kung paano i-interface ang DC Motor sa 8051 microcontroller click dito

Mga Bentahe ng DC Servo Motor

Ang mga pakinabang ng DC servo motors isama ang mga sumusunod.

  • Ang operasyon ng DC servo motor ay matatag.
  • Ang mga motor na ito ay may mas mataas na output power kaysa sa laki at bigat ng motor.
  • Kapag ang mga motor na ito ay tumatakbo sa mataas na bilis, hindi sila gumagawa ng anumang ingay.
  • Ang pagpapatakbo ng motor na ito ay walang vibration at resonance.
  • Ang mga ganitong uri ng motor ay may mataas na torque sa inertia ratio at nakakakuha sila ng mga load nang napakabilis.
  • Mayroon silang mataas na kahusayan.
  • Nagbibigay sila ng mabilis na mga tugon.
  • Ang mga ito ay portable at magaan.
  • Posible ang operasyon ng Four Quadrant.
  • Sa mataas na bilis, ang mga ito ay maririnig na tahimik.

Ang disadvantages ng DC servo motors isama ang mga sumusunod.

  • Ang mekanismo ng paglamig ng DC servo motor ay hindi mahusay. Kaya ang motor na ito ay mabilis na marumi kapag ito ay maaliwalas.
  • Ang motor na ito ay bumubuo ng maximum na output power sa mas mataas na torque speed at nangangailangan ng regular na gearing.
  • Ang mga motor na ito ay maaaring masira ng labis na karga.
  • Mayroon silang kumplikadong disenyo at nangangailangan ng encoder.
  • Ang mga motor na ito ay nangangailangan ng pag-tune para sa pag-stabilize ng feedback loop.
  • Nangangailangan ito ng pagpapanatili.

Mga Aplikasyon ng DC Servo Motor

Ang mga aplikasyon ng DC servo motors isama ang mga sumusunod.

  • Ang DC servo motors ay ginagamit sa mga machine tool para sa pagputol at pagbuo ng metal.
  • Ginagamit ang mga ito para sa pagpoposisyon ng antenna, pag-print, packaging, woodworking, mga tela, paggawa ng twine o lubid, CMM (Coordinate measuring machine), paghawak ng mga materyales, pag-polish ng sahig, pagbubukas ng mga pinto, X-Y table, kagamitang medikal, at wafer spinning.
  • Ang mga motor na ito ay ginagamit sa mga sistema ng kontrol ng sasakyang panghimpapawid kung saan ang mga limitasyon sa espasyo at timbang ay nangangailangan ng mga motor upang makapaghatid ng mataas na lakas para sa bawat volume ng yunit.
  • Naaangkop ang mga ito kung saan kailangan ang mataas na panimulang torque tulad ng mga blower drive at fan.
  • Ginagamit din ang mga ito pangunahin para sa robotics, programming device, electromechanical actuator, machine tool, process controllers, atbp.

Kaya, ito ay isang pangkalahatang-ideya ng dc servo motor - gumagana kasama ang mga aplikasyon. Ang mga servo motor na ito ay ginagamit sa iba't ibang industriya upang magbigay ng solusyon sa maraming mekanikal na paggalaw. Ang mga tampok ng mga motor na ito ay gagawing napakahusay at makapangyarihan. Narito ang isang tanong para sa iyo, ano ang AC Servo Motor?