• Product
  • Suppliers
  • Manufacturers
  • Solutions
  • Free tools
  • Knowledges
  • Experts
  • Communities
Search


Pamamahala sa Servo Motor: Ang Buong Gabay

Encyclopedia
Larangan: Ensiklopedya
0
China

Pamamahala ng Servo Motor: Ang Buong Gabay

 

Mga Pangunahing Aral:

 

Inilalarawan ang Pamamahala ng Servo Motor: Ang pamamahala ng servo motor ay nagbibigay ng malinaw na pagkontrol sa posisyon, bilis, at pagtaas ng bilis ng motor sa pamamagitan ng mga elektronikong signal.

 

Mechanismo ng Pagsasauli: Ang sistema ng pagsasauli, kadalasang isang potentiometer o encoder, ay sigurado na ang output ng motor ay tumpak na tumutugon sa input ng kontrol.

 

PWM Signal: Ang pulse-width modulation (PWM) ay mahalaga para sa pagtatakda ng posisyon ng servo sa pamamagitan ng pagbabago ng haba ng mga pulso ng elektriko.

 

Arduino at Servo Motors: Ang paggamit ng Arduino board ay isang sikat at epektibong paraan para programin at kontrolin ang mga servo motor nang may minimong setup ng hardware.

 

Mga Application ng Servo Motors: Mahalaga ang mga servo motor para sa mga proyekto na nangangailangan ng tumpak na kontrol sa posisyon, tulad ng robotics at automated systems.

 

Ang servo motor ay isang motor na disenyo para sa mataas na presisyon at katotohanan sa pag-ikot. Ito ay naiiba mula sa tipikal na DC motor dahil sa kanyang kakayahan na hawakan ang isang tiyak na posisyon kaysa sa patuloy na pag-ikot. Ang tampok na ito ay ginagawa ang mga servo motor na ideyal para sa robotics, automation, at mga proyekto ng hobby.

 

Ang artikulong ito ay nagpapaliwanag kung paano gumagana ang pamamahala ng servo motor, ang iba't ibang uri ng servo motors, at iba't ibang paraan at device ng kontrol. Ito din ay nagbibigay ng mga halimbawa ng mga application at proyekto ng servo motor.

 

Ano ang Servo Motor?

 

Ang servo motor ay inilalarawan bilang isang aktuator na nagbibigay ng tumpak na kontrol sa posisyon (angle), bilis, at pagtaas ng bilis. Ang isang tipikal na servo motor ay binubuo ng tatlong pangunahing bahagi: isang DC motor, isang control circuit, at isang feedback device.

 

Ang DC motor ay nagbibigay ng lakas sa servo at konektado sa mga gear na nagbabawas ng bilis at nagpapataas ng torque sa output shaft.

图片2.gif

Ang output shaft ay ang bahagi ng servo na sumusunod at gumagalaw ng load.

 

Ang control circuit ay responsable sa pagtanggap at pagproseso ng mga input signals mula sa external controller. Ang mga signals na ito ay nagsasabi sa servo kung ano ang posisyon, bilis, o direksyon na dapat itong gawin. Ang control circuit din ang nagpapadala ng lakas sa DC motor upang i-drive ito.

 

Ang feedback device ay karaniwang isang potentiometer o encoder na namamasukan ng kasalukuyang posisyon ng output shaft.

图片3.png

Ang feedback device ay nagsasauli ng data ng posisyon pabalik sa control circuit, kaya ito ay nag-aadjust ng lakas ng DC motor upang maglinyari ang aktwal na posisyon sa nais na posisyon mula sa input signal.

 

Ang feedback loop sa pagitan ng control circuit at feedback device ay sigurado na ang servo ay makakapaggalaw nang tumpak at mapapanatili ang anumang posisyon sa loob ng kanyang range of motion.

 

Paano Kontrolin ang Servo Motor?

 

Ang mga servo motor ay kontrolihin sa pamamagitan ng pagpadala ng PWM (pulse-width modulation) signal sa signal line ng servo. Ang PWM ay isang teknik na nagbabago ng isang signal nang mabilis upang lumikha ng mga pulso na may iba't ibang haba. Ang haba ng mga pulso ay nagdedetermina ng posisyon ng output shaft.

 

Halimbawa, kapag ikaw ay nagpadala ng isang PWM signal na may haba ng pulso na 1.5 milliseconds (ms), ang servo ay lilingon sa neutral position (90 degrees).

图片4.png


Kapag ikaw ay nagpadala ng isang PWM signal na may haba ng pulso na 1 ms, ang servo ay lilingon sa minimum position (0 degrees). Kapag ikaw ay nagpadala ng isang PWM signal na may haba ng pulso na 2 ms, ang servo ay lilingon sa maximum position (180 degrees).

 

Ang PWM signal ay may frequency na 50 Hz, na ibig sabihin ito ay umuulit bawat 20 ms. Ang haba ng pulso ay maaaring magbago mula 1 ms hanggang 2 ms sa loob ng panahong ito.

 

May maraming paraan para lumikha at magpadala ng PWM signals sa mga servo motors. Ang ilan sa pinaka-karaniwang mga paraan ay:

 

Gamit ang Arduino board o iba pang microcontroller

 

Gamit ang potentiometer o iba pang analog sensor

 

Gamit ang joystick o ibang digital na input device

 

Gamit ang dedicated servo controller o driver

 

Sa mga sumusunod na seksyon, susundin natin bawat isa ng mga paraan na ito sa mas detalyadong paraan at makita ang ilang halimbawa kung paano sila gumagana.

 

Pagkontrol ng Servo Motor gamit ang Arduino

 

Ang Arduino ay isa sa pinakapopular na platform para sa pagkontrol ng mga servo motor. Ang mga board ng Arduino ay may built-in na PWM outputs na maaaring gamitin para magpadala ng mga signal sa mga servos. Mayroon din ang Arduino ng isang Servo library na nagpapadali ng pagsulat ng code para sa kontrol ng servo.

 

Para makontrol ang isang servo motor gamit ang Arduino, kailangan mo ng:

 

Isang Arduino board (tulad ng Arduino UNO)

 

Isang standard na servo motor (tulad ng SG90)

 

Jumper wires

 

Isang breadboard (opsyonal)

 

Ang pulang wire mula sa servo ay konektado sa 5V sa Arduino board. Ang itim na wire mula sa servo ay konektado sa GND sa Arduino board. Ang puting wire mula sa servo ay konektado sa pin 9 sa Arduino board.

 

Para programin ang Arduino board, kailangan mong gamitin ang Arduino IDE (online o offline). Maaari kang gumamit ng isa sa mga halimbawa mula sa Servo library o sumulat ng sarili mong code.

 

Ang sumusunod na code ay nagpapakita kung paano isweep ang isang servo motor pabalik-balik sa 180 degrees gamit ang for loop:

 

 

#include <Servo.h> // Include Servo library

 

Servo myservo; // Create Servo object

 

int pos = 0; // Variable for position

 

void setup() {

  myservo.attach(9); // Attach Servo object to pin 9

}

 

void loop() {

  for (pos = 0; pos <= 180; pos += 1) { // Loop from 0 to 180 degrees

    myservo.write(pos); // Write position to Servo object

    delay(15); // Wait 15 ms

  }

 

  for (pos = 180; pos >= 0; pos -= 1) { // Loop from 180 to 0 degrees

    myservo.write(pos); // Write position to Servo object

    delay(15); // Wait 15 ms

  }

}

 

 

Ang code na ito ay gumagamit ng dalawang loop upang i-increment at i-decrement ang variable ng position mula 0 hanggang 180 degrees at vice versa. Pagkatapos, isinusulat ito sa Servo object gamit ang myservo.write(pos). Nagdagdag din ito ng delay ng 15 ms sa bawat hakbang upang baguhin ang bilis ng paggalaw.

 

I-upload ang code na ito sa iyong Arduino board gamit ang Upload button ng IDE, at panoodin kung paano ang iyong servo motor ay isisweep pabalik-balik nang maluwag.

 

Pagkontrol ng Servo Motor gamit ang Potentiometer

 

Ang potentiometer ay isang analog sensor na maaaring mag-iba ang resistance nito depende sa gaano ka babalikan ang knob nito. Maaari mong gamitin ang potentiometer bilang input device para sa pagkontrol ng servo motor.

 

Para makontrol ang isang servo motor gamit ang potentiometer, kailangan mo ng:

 

Isang Arduino board (tulad ng Arduino UNO)

 

Isang standard na servo motor (tulad ng SG90)

 

Isang potentiometer (10k Ohms)

 

Jumper wires

 

Isang breadboard

 

Ang wiring diagram para sa pagkonekta ng potentiometer at servo motor sa Arduino board ay ipinapakita sa ibaba:

 

Ang pulang wire mula sa potentiometer ay konektado sa 5V sa Arduino board. Ang itim na wire mula sa potentiometer ay konektado sa GND sa Arduino board. Ang berdeng wire mula sa potentiometer ay konektado sa pin A0 sa Arduino board.

 

Ang pulang wire mula sa servo ay konektado sa 5V sa ibang row sa breadboard. Ang itim na wire mula sa servo ay konektado sa GND sa ibang row sa breadboard. Ang puting wire mula sa servo ay konektado sa pin D9 sa ibang row sa breadboard.

 

Para programin ang iyong Arduino board, kailangan mong gamitin ang parehong code ng nakaraang halimbawa ngunit baguhin ang ilang linya:

 

 

#include <Servo.h> // Include Servo library

 

Servo myservo; // Create Servo object

 

int potpin = A0; // Pin connected to potentiometer

int val = 0; // Variable for reading potentiometer value

 

void setup() {

myservo.attach(9); // Attach Servo object pin D9

}

 

void loop() {

val = analogRead(potpin); // Read value from potentiometer (0 -1023)

val = map(val,0,1023,0,180); // Map value range (0 -180)

myservo.write(val); // Write mapped value Servo object

delay(15); // Wait 15 ms

}

 

 

Ang code na ito ay gumagamit ng function na analogRead(potpin) para basahin ang value mula sa potentiometer na konektado sa pin A0. Ginagamit nito ang function na map(val,0,1023,0,180) para mapapanahon ang value range mula 0 -1023 degrees. Sinusulat nito ang mapped value sa Servo object gamit ang function na myservo.write(val). Nagdadagdag din ito ng delay, tulad ng nakaraang halimbawa.

 

Maaari kang mag-upload ng code na ito sa iyong Arduino board gamit ang Upload button sa IDE. Dapat mong makita ang iyong servo motor na kumikilos ayon sa posisyon ng knob ng potentiometer.

 

Paggamit ng Joystick upang Kontrolin ang Servo Motor

 

Ang joystick ay isang digital na input device na maaaring detektiyin ang direksyon at magnitude ng paggalaw sa dalawang axis. Maaari kang gumamit ng joystick upang kontrolin ang servo motor sa pamamagitan ng pag-map ng x-axis ng joystick sa angle ng servo.

 

Upang kontrolin ang servo motor gamit ang joystick, kailangan mo ng sumusunod:

 

Isang Arduino board (tulad ng Arduino UNO)

 

Isang standard na servo motor (tulad ng SG90)

 

Isang joystick module (tulad ng KY-023)

 

Jumper wires

 

Isang breadboard

 

Ang wiring diagram para sa koneksyon ng joystick module at servo motor sa Arduino board ay ipinapakita sa ibaba:

 

!https://www.makerguides.com/wp-content/uploads/2019/01/Servo-motor-control-with-Arduino-and-joystick-wiring-diagram.png

 

Ang pulang wire mula sa joystick module ay konektado sa 5V sa Arduino board. Ang itim na wire mula sa joystick module ay konektado sa GND sa Arduino board. Ang berdeng wire mula sa joystick module ay konektado sa pin A0 sa Arduino board.

 

Ang pulang wire mula sa servo ay konektado sa 5V sa ibang row sa breadboard. Ang itim na wire mula sa servo ay konektado sa GND sa ibang row sa breadboard. Ang puting wire mula sa servo ay konektado sa pin D9 sa ibang row sa breadboard.

 

Para programin ang iyong Arduino board, kailangan mong gamitin ang parehong code ng nakaraang halimbawa ngunit baguhin ang ilang linya:

 

 

#include <Servo.h> // Include Servo library

 

Servo myservo; // Create Servo object

 

int joyX = A0; // Pin connected to joystick x-axis

int val = 0; // Variable for reading joystick value

 

void setup() {

  myservo.attach(9); // Ikinabit Servo object sa pin 9

}

 

void loop() {

  val = analogRead(joyX); // Basahin ang halaga mula sa joystick x-axis (0 - 1023)

  val = map(val, 0, 1023, 0, 180); // Imapa ang halagang saklaw (0 - 180)

  myservo.write(val); // Isulat ang iminapang halaga sa Servo object

  delay(15); // Maghintay ng 15 ms

}

 

 

Ang code na ito ay gumagamit ng analog. Read(joyX) function para basahin ang halaga mula sa joystick x-axis na konektado sa pin A0. Pagkatapos, ginagamit nito ang map(val, 0, 1023, 0, 180) function upang imapa ang halagang saklaw mula 0 – 1023 hanggang 0 – 180 degrees. Sumusunod nito ang pagsulat ng halagang ito sa Servo object gamit ang myservo.write(val) function. Nagdaragdag din ito ng delay na 15 ms sa pagitan ng bawat hakbang.

 

Maaari mong i-upload ang code na ito sa iyong Arduino board gamit ang Upload button sa IDE. Dapat mong makita ang iyong servo motor na kumikilos batay sa posisyon ng joystick.

 

Pagkontrol ng Servo Motor Gamit ang Servo Controller

 

Ang servo controller ay isang espesyal na device na maaaring lumikha at magpadala ng PWM signals sa maraming servo motors. Ang mga servo controller ay kapaki-pakinabang para sa mga proyekto na nangangailangan ng tumpak at komplikadong kontrol sa maraming servos, tulad ng robotic arms o hexapods.

 

Upang kontrolin ang servo motor gamit ang servo controller, kailangan mo ng sumusunod:

 

Isang servo controller (tulad ng Pololu Maestro)

 

Isang standard na servo motor (tulad ng SG90)

 

Isang USB cable

 

Isang power supply

 

Ang pulang wire mula sa servo ay konektado sa VSRV sa servo controller. Ang itim na wire mula sa servo ay konektado sa GND sa servo controller. Ang puting wire mula sa servo ay konektado sa isa sa mga signal pins sa servo controller.

 

Upang programin ang iyong servo controller, kailangan mong gamitin ang Maestro Control Center software.

 

Ang mga sumusunod na hakbang ay nagpapakita kung paano kontrolin ang servo motor gamit ang Maestro Control Center:

 

Konektahan ang iyong servo controller sa iyong computer gamit ang USB cable.

 

I-launch ang Maestro Control Center at piliin ang iyong device mula sa listahan.

 

Pumunta sa Status tab at ilipat ang slider na tumutugon sa signal pin na konektado sa iyong servo.

 

Dapat mong makita ang iyong servo motor na kumikilos batay sa angle na itinala sa slider.

 

Mga Application at Proyekto ng Servo Motor

 

Ang mga servo motor ay versatile at powerful na mga device na maaaring gamitin para sa maraming application at proyekto. Narito ang ilang halimbawa ng anong maaari mong gawin gamit ang mga servos:

 

Gumawa ng pan/tilt camera mount na maaaring i-rotate at i-tilt ang isang camera gamit ang dalawang servos.

 

Gumawa ng isang robotic arm na maaaring galawin at manipularin ang mga bagay gamit ang maraming servos.

 

Gumawa ng isang hexapod robot na maaaring lakad at magbalik-loob gamit ang maraming servos.

 

Gumawa ng isang robotic car na maaaring i-steer at i-drive gamit ang dalawang servos.

 

Gumawa ng isang animatronic puppet na maaaring galawin ang mga mata, bibig, at ulo gamit ang servos.

 

Kasimpulan

 

Sa artikulong ito, natutunan mo kung paano gumagana ang kontrol ng servo motor, ano ang iba't ibang uri ng servo motors, at kung paano kontrolin sila gamit ang iba't ibang paraan at devices. Nakita mo rin ang ilang halimbawa ng mga application at proyekto ng servo motor.

 

Ang mga servo motor ay napakaganda para idagdag ang motion at interactivity sa iyong mga proyekto. Madali silang gamitin at kontrolin gamit ang Arduino o iba pang microcontrollers. Widespread din sila at affordable.


Magbigay ng tip at hikayatin ang may-akda!
Inirerekomenda
Inquiry
I-download
Kumuha ng IEE-Business Application
Gamit ang app na IEE-Business upang makahanap ng kagamitan makuha ang mga solusyon makipag-ugnayan sa mga eksperto at sumama sa industriyal na pakikipagtulungan kahit kailan at saanman buong pagsuporta sa pag-unlad ng iyong mga proyekto at negosyo sa enerhiya