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


Servomotorearen kontrola: Oinarrizko gida

Encyclopedia
Eremua: Entziklopedia
0
China

Servo Motor Kontrola: Orokorra Gida

 

Nagusiko Ikuspegiak:

 

Servo Motor Kontrolaren Definizioa: Servo motor kontrolak elektroniko segnalekin motor posizioa, abiadura eta azelerazioa zehazki manipulatzea ahalbidetzen du.

 

Feedback Mekanismoa: Feedback sistema, askotan potentiometro edo kodekatzaile bat, motorren irteera zehazki kontrol sarbidea egokitzen duela ziurtatzen du.

 

PWM Segnala: Pulse-width modulation (PWM) teknika elektrikoko pulsu enparrutza aldatuz servoaren posizioa ezarriko da.

 

Arduino eta Servo Motorak: Arduino taula baten erabilera servo motorak programatzeko eta kontrolatzeko modu arrakasta eta hardware txikiagorekin egiteko modu oso erabili beharrezkoa da.

 

Servo Motorren Aplikazioak: Servo motorrek posizio kontrol zehatza behar duten proiektuetan, robotikan eta sistemen automatizatuak bezalako.

 

Servo motorea biraketa zehatz eta zehatzentasunez diseinatutako motore bat da. DC motore tipikoa berdina da, baina biraketa jarraitua egin beharrean posizio jakin bat mantentzea dute. Eremu hori servo motorak robotikarako, automatizazioa eta hobion proiektuetan ideala bihurtzen ditu.

 

Artikulu honek servo motor kontrola funtzionatzen duen moduaz, servo motor mota desberdinak, eta kontrol metodo eta gailu desberdinak azaltzen ditu. Gainera, servo motor aplikazioen eta proiektuen adibideak ematen ditu.

 

Zer Da Servo Motorea?

 

Servo motorea posizioa (angelua), abiadura eta azelerazioa kontrolatzeko aktuatzailea da. Servo motore tipikoak hiru osagai nagusi ditu: DC motore bat, kontrol zirkuitua eta feedback gailua.

 

DC motoreak servoari indar eman eta gearren artean konexioa egiten du, abiadura murriztuta eta momentua handituz output shaft-ean.

图片2.gif

Output shaft-a servoaren zati bat da, biraketa egiten duena eta karga mugitzen duena.

 

Kontrol zirkuituak kanpo kontrolagaitik jasotako eta prozesatutako sarrera segnalekin burutzen du. Segnal hauek servoari zer posizio, abiadura edo norabidean joateko esaten dizkie. Kontrol zirkuituak ere DC motoreari indar eman nahi duenean.

 

Feedback gailua askotan potentiometro edo kodekatzaile bat da, output shaft-aren uneko posizioa neurtzen duena.

图片3.png

Feedback gailuak posizio datuak kontrol zirkuituan itzultzen ditu, orduan DC motorearen indarra egokitu eta posizio erreala sarrera segnalarekin bat etorri dadin.

 

Kontrol zirkuituaren eta feedback gailuaren arteko feedback buklerak servoak bere mugimendu barruko edozein posizio zehatz eta mantentzea ahalbidetzen du.

 

Servo Motorra Nola Kontrolatu?

 

Servo motorak PWM (pulse-width modulation) segnala bidali izan behar du servoaren signal line-an. PWM teknika segnala aktibatzen eta desaktibatzen da neurri askotan, pulsu enparrutza desberdinak sortzeko. Pulsu enparrutza determinatzen du output shaft-aren posizioa.

 

Adibidez, 1.5 milisekundo (ms) enparrutza duen PWM segnala bidali duzunean, servo neutral posizioa hartuko du (90 gradua).

图片4.png


1 ms enparrutza duen PWM segnala bidali duzunean, servo minimo posizioa hartuko du (0 gradua). 2 ms enparrutza duen PWM segnala bidali duzunean, servo maximo posizioa hartuko du (180 gradua).

 

PWM segnala 50 Hz-en maiztasunarekin, hau da, 20 ms-en periodo bakoitzeko. Enparrutza 1 ms-tik 2 ms-ra bitartean aldakorrean alda daiteke.

 

PWM segnalen generatzeko eta bidalitzeko modu anitz daude. Batzuk dira:

 

Arduino taula edo beste microcontroler bat erabiliz

 

Potentiometro edo beste sensor analogik bat erabiliz

 

Joystick edo beste sarrera digital bat erabiliz

 

Dedikatutako servo kontrolagailu edo driver bat erabiliz

 

Hurrengo atalean, metode horiek ulertzeko xehetasun gehiago ikusiko ditugu eta adibide batzuk ikusiko ditugu.

 

Servo Motorra Arduino Bidez Kontrolatzea

 

Arduino servo motorak kontrolatzeko plataforma arrakasta da. Arduino taulak PWM irteera barne ditu, servoei segnala bidali ahal izateko. Arduino Servo liburutegia servo kontrola kodea idazteko erraza egin dezake.

 

Servo motorea Arduino bidez kontrolatzeko beharko dituzu:

 

Arduino taula bat (Arduino UNO bezala)

 

Servo motore estandarra (SG90 bezala)

 

Jumper kableak

 

Breadboard bat (aukerakoa)

 

Servoaren kable gorria 5V-ren ardatzari lotzen da Arduino taulan. Servoaren kable beltza GND-ren ardatzari lotzen da Arduino taulan. Servoaren kable zuria pin 9-n lotzen da Arduino taulan.

 

Arduino taula programatzeko, Arduino IDE (online edo offline) erabiliz egin behar duzu. Servo liburutegiko adibide bat erabil dezakezu edo zure kodea idatzi.

 

Kode hau servo motorea 180 gradutan atzerantz eta aurrerantz mugitzea erakusten du for loop baten bidez:

 

 

#include <Servo.h> // Inkludeatu Servo liburutegia

 

Servo myservo; // Sortu Servo objektua

 

int pos = 0; // Aldagai posizioa

 

void setup() {

  myservo.attach(9); // Lotu Servo objektua pin 9-rekin

}

 

void loop() {

  for (pos = 0; pos <= 180; pos += 1) { // Loop 0-tik 180 gradu arte

    myservo.write(pos); // Idatzi posizioa Servo objektuan

    delay(15); // Itxaron 15 ms

  }

 

  for (pos = 180; pos >= 0; pos -= 1) { // Loop 180-tik 0 gradu arte

    myservo.write(pos); // Idatzi posizioa Servo objektuan

    delay(15); // Itxaron 15 ms

  }

}

 

 

Kode hau bi loop erabiltzen ditu posizio aldagaiak 0-tik 180 gradu arte eta alderantziz. Orduan balio hau Servo objektuan idatzi egiten du myservo.write(pos) erabiliz. Gainera, 15 ms itxaropena gehitzen du mugimendua lasterretu dezan.

 

Kode hau Arduino taulara IDE-ko Upload botoiarekin igazi, eta zure servo motorea 180 gradu arte mugitzen duela ikusiko duzu.

 

Servo Motorra Potentiometro Bidez Kontrolatzea

 

Potentiometroa sensor analogik bat da, zinean errotatzearen arabera resistentzia aldatzen duena. Potentiometroa servo motore bat kontrolatzeko sarrera gailu gisa erabil daiteke.

 

Servo motorea potentiometro bidez kontrolatzeko beharko dituzu:

 

Arduino taula bat (Arduino UNO bezala)

 

Servo motore estandarra (SG90 bezala)

 

Potentiometro bat (10k Ohm)

 

Jumper kableak

 

Breadboard bat

 

Potentiometro eta servo motore bat Arduino taularekin konektatzeko diagrama honakoa da:

 

Potentiometroaren kable gorria 5V-ren ardatzari lotzen da Arduino taulan. Potentiometroaren kable beltza GND-ren ardatzari lotzen da Arduino taulan. Potentiometroaren kable berdea pin A0-n lotzen da Arduino taulan.

 

Servoaren kable gorria 5V-ren ardatzari lotzen da breadboard-en beste hilobaten batean. Servoaren kable beltza GND-ren ardatzari lotzen da breadboard-en beste hilobaten batean. Servoaren kable zuria pin D9-n lotzen da breadboard-en beste hilobaten batean.

 

Arduino taula programatzeko, aurreko adibideko kodea erabil behar duzu, baina lerro batzuk aldatu behar dira:

 

 

#include <Servo.h> // Inkludeatu Servo liburutegia

 

Servo myservo; // Sortu Servo objektua

 

int potpin = A0; // Pin potentiometroarekin konektatuta

int val = 0; // Aldagai potentiometroaren balioa irakurtzeko

 

void setup() {

myservo.attach(9); // Lotu Servo objektua pin D9-rekin

}

 

void loop() {

val = analogRead(potpin); // Irakurri potentiometroaren balioa (0 -1023)

val = map(val,0,1023,0,180); // Mapatu balio eremua (0 -180)

myservo.write(val); // Idatzi mapatutako balioa Servo objektuan

delay(15); // Itxaron 15 ms

}

 

 

Kode hau analogRead(potpin) funtzioa erabiltzen du potentiometroaren balioa irakurtzeko, pin A0-rekin konektatuta. Ondoren, map(val,0,1023,0,180) funtzioa erabiltzen du balio eremua 0-1023-tik 0-180 gradu arte mapatzeko. Ondoren, mapatutako balioa Servo objektuan idatzi egiten du myservo.write(val) funtzioa erabiliz. Gainera, 15 ms itxaropena gehitzen du, aurreko adibidean bezala.

 

Kode hau Arduino taulara IDE-ko Upload botoiarekin igazi. Zure servo motorea potentiometroaren zinearen posizioaren arabera mugitzen duela ikusiko duzu.

 

Servo Motorra Joystick Bidez Kontrolatzea

 

Joystick sarrera digital bat da, bi ardatzen direkzioa eta magnitudea detektatzeko aukera ematen duena. Joystick servo motore bat kontrolatzeko erabil daiteke, joystick-en x ardatza servoaren angeluarekin mapatuz.

 

Servo motorea joystick bidez kontrolatzeko beharko dituzu hurrengoak:

 

Arduino taula bat (Arduino UNO bezala)

 

Servo motore estandarra (SG90 bezala)

 

Joystick modulua (KY-023 bezala)

 

Jumper kableak

 

Breadboard bat

 

Joystick modulua eta servo motore bat Arduino taularekin konektatzeko diagrama honakoa da:

 

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

 

Joystick moduluko kable gorria 5V-ren ardatzari lotzen da Arduino taulan. Joystick moduluko kable beltza GND-ren ardatzari lotzen da Arduino taulan. Joystick moduluko kable berdea pin A0-n lotzen da Arduino taulan.

 

Servoaren kable gorria 5V-ren ardatzari lotzen da breadboard-en beste hilobaten batean. Servoaren kable beltza GND-ren ardatzari lotzen da breadboard-en beste hilobaten batean. Servoaren kable zuria pin D9-n lotzen da breadboard-en beste hilobaten batean.

 

Arduino taula programatzeko, aurreko adibideko kodea erabil behar duzu, baina lerro batzuk aldatu behar dira:

 

 

#include <Servo.h> // Inkludeatu Servo liburutegia

 

Servo myservo; // Sortu Servo objektua

 

int joyX = A0; // Pin joystick-en x ardatzarekin konektatuta

int val = 0; // Aldagai joystickaren balioa irakurtzeko

 

void setup() {

  myservo.attach(9); // Lotu Servo objektua pin 9-rekin

}

 

void loop() {

  val = analogRead(joyX); // Irakurri joystick-en x ardatzaren balioa (0 - 1023)

  val = map(val, 0, 1023, 0, 180); // Mapatu balio eremua (0 - 180)

Ordaintza ematea eta egilea bermatzea
Gomendioa
Eskaera bidali
Jeitsi
IEE Business aplikazioa lortu
IEE-Business aplikazioa erabili ekipamendua bilatzeko, soluzioak lortzeko, adituekin konektatzeko eta industria lankidetzan parte hartzeko edonon eta edonoiz — zure energia proiektu eta negozioen garapenerako laguntza osoa ematen du.