Paano Mag-Interface ng mga motor ng Servo kasama ang Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa post na ito matututunan natin kung ano ang servo motor, kung paano ito gumagana, kung paano makikipag-ugnay sa microcontroller at kung ano ang espesyal sa motor na ito mula sa iba pang mga motor.

Ang pagiging isang taong mahilig sa electronics ay mahahanap namin ang maraming uri ng mga motor, dito susuriin namin ang mga espesyal na uri ng motor na tinatawag na servo motor.



Ano ang Servo motor?

Ang servo motor o simpleng servo ay isang espesyal na uri ng motor na idinisenyo para sa tumpak na kontrol sa posisyon, pagpabilis at tulin. Hindi tulad ng lahat ng iba pang mga uri ng motor, ang servo ay maaari lamang paikutin ang 180 degree bi-directional. Mayroon itong mga mechanical gears at stopper na naglilimita sa angular rotatory ng servo.

Karaniwang servo motor:

Ang mga motor na servo ay ginagamit sa robotics, CCTV camera, RC car, boat, toy aircrafts atbp. Ginagamit ang servos kung saan hindi na natin kailangan ang patuloy na rotatory na paggalaw, ngunit i-lock sa isang tukoy na posisyon o ilipat ang ilang karga na may kontroladong bilis sa loob ng maililipat na anggulo na limitasyon.



Ang Servo ay hindi isang motor tulad ng ibang mga uri, ngunit ito ay module, na pinagsasama ng isang normal na DC / AC motor, isang pangkat ng mga gears, control electronics at isang feedback system. Tingnan natin nang detalyado ang bawat nabanggit na yugto.

Ang DC / AC motor na kung saan ay nagtatrabaho sa isang servo module ay maaaring walang brush o brushing motor, sa karamihan ng mga hobby servos DC motor ay ginagamit at AC motor ay ginagamit sa mga pang-industriya na application. Nagbibigay ang motor ng paikot na input sa servo. Ang motor ay umiikot sa ilang daang RPM sa loob ng servo at ang pag-ikot ng output ay halos 50 o higit pang beses na mas mababa sa RPM nito.

Ang susunod na yugto ay ang pagpupulong ng gear, na kinokontrol ang anggular na pag-ikot at bilis ng servo. Ang gear ay maaaring gawin mula sa alinman sa plastik o metal depende sa kung gaano kalaki ang pagkarga. Sa pangkalahatan ang DC Motors ay pinapatakbo sa mataas na RPM at mababang metalikang kuwintas ang pagpupulong ng gear ay babaguhin ang labis na RPM sa metalikang kuwintas. Sa gayon ang isang maliit na motor ay maaaring hawakan ang isang malaking karga.

Ang susunod na yugto ay ang control electronics na binubuo ng mga MOSFET at IC para sa pagkontrol sa pag-ikot ng motor. Ang isang sistema ng puna ay palaging naroroon sa mga motor na servo para sa pagsubaybay sa kasalukuyang posisyon ng actuator.

Sa servos sa pangkalahatan ang isang bahagi ng feedback ay isang potensyomiter, na direktang konektado sa umiikot na actuator. Ang potensyomiter ay gumaganap bilang boltahe divider na kung saan ay pinakain sa control electronics. Ang feedback na ito ay makakatulong makontrol ang electronics upang matukoy ang dami ng lakas na ibinigay sa motor.

Ang isang motor na servo sa isang nakapirming posisyon ay mag-aatubili na lumipat mula sa kasalukuyang posisyon nito kung ang anumang panlabas na puwersa ay subukang abalahin. Sinusubaybayan ng sistema ng puna ang kasalukuyang posisyon at pinapagana ang motor laban sa panlabas na kaguluhan.

Ang pangyayari sa itaas ay pareho kapag inililipat ng servo ang actuator nito. Babayaran ng control system ang panlabas na puwersa at lilipat sa tinukoy na tulin.

Sa ngayon alam mo nang kaunti tungkol sa servo motor at sa mekanismo ng paggana nito. Tingnan natin kung paano makontrol ang mga servo motor gamit ang microcontroller.

Ang mga motor ng servo ay mayroong 3 mga terminal hindi katulad ng ibang mga motor na mayroong 2 terminal, dalawa para sa supply (5V nominal) at isa para sa control signal. Ang mga wire ay may kulay para sa madaling pagkakakilanlan ng mga terminal.

Ang mga signal ng control ng servos ay PWM sa dalas ng 50Hz. Tinutukoy ng lapad ng pulso ng signal ang posisyon ng actuator arm. Ang isang tipikal na hobby servo motor ay nagpapatakbo ng 1 hanggang 2 milliseconds na lapad ng pulso.

Ang paglalapat ng 1 ms pulse width control signal ay panatilihin ang actuator sa 0 degree na posisyon. Ang paglalapat ng 2 ms pulse width control signal ay panatilihin ang actuator sa posisyon na 180 degree. Ang paglalapat ng mga signal sa pagitan ng 1-2 ms ay panatilihin ang actuator sa loob ng 0-180 degree na anggulo. Ito ay maaaring mas maintindihan sa pamamagitan ng ibinigay sa ibaba ng imahe.

Sa ngayon ay naiintindihan mo sana kung paano ang isang servo ay kinokontrol ng pulse width modulation (PWM).

Alamin natin ngayon kung paano i-interface ang isang servo motor sa Arduino.

Diagram ng circuit:

kung paano i-interface ang isang servo motor na may Arduino.

Ang mga kable ay madali at nagpapaliwanag sa sarili. Kailangan mo ng panlabas na suplay ng kuryente kung gumagamit ka ng isang napakalaking servo motor. Kung susubukan mong lakas mula sa supply ng arduino power ay magtatapos ka ng labis na karga sa USB port sa computer.

Kung mayroon kang katulad na servo na nakalarawan sa simula ng artikulo, maaari mo itong paganahin mula sa supply ng arduino 5V, na ipinakita rin sa prototype ng may-akda.

Prototype ng may-akda:

Kailangan ng Arduino ng librong servo para sa paghawak nito, ginawang madali ang aming gawain at nasa Arduino IDE na ito.

Programa:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Ang programa sa itaas ay walisin ang actuator 0 hanggang 180 degree kanan at 180 hanggang 0 degree na kaliwa at ulitin ang pag-ikot. Ito ay isang simpleng programa para sa pagsubok sa servo na maaaring kailanganin mong isulat ang iyong sariling code para sa iyong na-customize na mga application.




Nakaraan: Dalawang Pipe Water Pump Valve Controller Circuit Susunod: Pag-unawa sa Mga Kable ng Regulator ng Boltahe ng Motorsiklo