Uzawi wa Mawazo ya Moto wa Servo: Uzoefu Kamili
Mada muhimu:
Uzawi wa Moto wa Servo Kama Inavyoelezwa: Uzawi wa moto wa servo unafanya kujenga mikakati za kudhibiti namba, mwendeleo na mwendo wa moto kwa kutumia ishara za umeme.
Mfumo wa Maoni: Mfumo wa maoni, ambao mara nyingi ni potentiometer au encoder, huchukua msingi kwamba tofauti za moto yanayotoka zinazopatana na vichwa vya kudhibiti kwa ufanisi.
Ishara ya PWM: Pulse-width modulation (PWM) ni muhimu sana kwa kuweka namba ya servo kwa kubadilisha muda wa ishara za umeme.
Arduino na Moto wa Servo: Kutumia Arduino board ni njia ya kawaida na inayofaa kusimamia na kudhibiti moto wa servo na viwango vya vifaa vya kiwango chache.
Matumizi ya Moto wa Servo: Moto wa servo ni muhimu kwa majukumu yenye kufunika kudhibiti namba kwa ufanisi, kama vile robotics na mfumo wa automation.
Moto wa servo ni moto uliojengwa kwa ajili ya ufanisi na usahihi mkubwa katika mzunguko. Inapoteza moto wa DC wa kawaida kwa uwezo wake wa kudumisha namba fulani badala ya kukuruka kwa muda mrefu. Sifa hii hutaja moto wa servo vyema kwa robotics, automation, na majukumu ya hobi.
Maelezo haya yanaelezea jinsi moto wa servo anavyofanya kazi, aina mbalimbali za moto wa servo, na njia tofauti za kudhibiti na vifaa. Pia huonyesha mifano ya matumizi na majukumu ya moto wa servo.
Nini Moto wa Servo?
Moto wa servo unaelezwa kama actuator unaokubalika kwa kudhibiti namba (kivuli), mwendeleo, na mwendo. Moto wa servo wa kawaida una sehemu tatu muhimu: moto wa DC, mfumo wa kudhibiti, na kitambulisho cha maoni.
Moto wa DC unahidhikisha servo na unahusiana na vitunguu vinavyobainisha mwenendo na kuboresha nguvu kwenye shaka la matumizi.

Shaka la matumizi ni sehemu ya servo iliyoruka na inayosogeza mizigo.
Mfumo wa kudhibiti unajukumu kwa kupokea na kutathmini ishara zinazotoka kutoka kwa kiongozi wa nje. Ishara hizo husema servo iende kwenye namba, mwendeleo, au mwenendo gani. Mfumo wa kudhibiti pia unatuma nguvu kwa moto wa DC ili kumkurusha.
Kitambulisho cha maoni kwa kawaida ni potentiometer au encoder ambayo hutathmini namba ya sasa ya shaka la matumizi.

Kitambulisho cha maoni kunatuma data ya namba kurudi kwa mfumo wa kudhibiti, ambayo kisha hunyanyasisha nguvu za moto wa DC ili kuhakikisha namba ya kweli imepatana na namba inayompendeza kutoka kwa ishara ya ingizo.
Mzunguko wa maoni kati ya mfumo wa kudhibiti na kitambulisho cha maoni unahakikisha servo anaweza kuharakisha na kudumisha namba yoyote ndani ya eneo lake la mzunguko.
Jinsi ya Kudhibiti Moto wa Servo?
Moto wa servo huditikiwa kwa kutuma ishara ya PWM (pulse-width modulation) kwenye mstari wa ishara wa servo. PWM ni teknolojia inayohutumu ishara kwa kufunga na kufungua haraka ili kujenga pulses zenye uzito tofauti. Uzito wa pulses hupata namba ya shaka la matumizi.
Kwa mfano, wakati utuma ishara ya PWM inayotumia pulse width ya sekunde 1.5 (ms), servo itaruka kwenye namba ya kati (90 digri).

Wakati utuma ishara ya PWM inayotumia pulse width ya sekunde 1 (ms), servo itaruka kwenye namba ya chini (0 digri). Wakati utuma ishara ya PWM inayotumia pulse width ya sekunde 2 (ms), servo itaruka kwenye namba ya juu (180 digri).
Ishara ya PWM ina ufanisi wa 50 Hz, ambayo inamaanisha inarepeat kila 20 ms. Pulse width inaweza kubadilika kutoka 1 ms hadi 2 ms ndani ya muda huo.
Kuna njia nyingi za kutengeneza na kutuma ishara za PWM kwa moto wa servo. Baadhi ya njia zinazokuwa zaidi za kawaida ni:
Kutumia Arduino board au microcontroller nyingine
Kutumia potentiometer au sensor analog nyingine
Kutumia joystick au vifaa vya ingizo digital nyingine
Kutumia kudhibiti wa servo mahususi au driver
Katika sehemu zifuatazo, tutajadili kila moja ya njia hizi kwa undani zaidi na kutazama mifano za jinsi wanavyofanya kazi.
Kudhibiti Moto wa Servo kwa Arduino
Arduino ni moja ya mitandao ya kawaida kwa kudhibiti moto wa servo. Arduino boards yana PWM outputs zinazotengenezwa kwa kutosha kwa kutuma ishara kwa servos. Arduino pia ana library ya Servo ambayo hinaweza kufanya kwa urahisi kutandika code kwa kudhibiti servo.
Kudhibiti moto wa servo kwa Arduino, utahitaji:
Arduino board (kama Arduino UNO)
Moto wa servo wa kawaida (kama SG90)
Mistari ya jumper
Breadboard (optional)
Mistari nyekundu kutoka kwa servo hutumika kwenye 5V kwenye Arduino board. Mistari nyeusi kutoka kwa servo hutumika kwenye GND kwenye Arduino board. Mistari nyeupe kutoka kwa servo hutumika kwenye pin 9 kwenye Arduino board.
Kutengeneza Arduino board, utahitaji kutumia Arduino IDE (online au offline). Unaweza kutumia mifano moja kutoka kwa library ya Servo au kutandika code yako mwenyewe.
Code ifuatayo inaelezea jinsi kutengeneza servo motor kulingana na kulingana na 180 digri kwa kutumia 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
}
}
Code huu unatumia loops mbili kwa kuboresha na kureduce variable ya namba kutoka 0 hadi 180 digri na kinyume chake. Kisha hunitumia kwa Servo object kutumia myservo.write(pos). Hupiga delay wa 15 ms kati ya kila hatua ili kuslow down mzunguko.
Tuma code huu kwenye Arduino board yako kutumia Upload button ya IDE, na angalia servo motor yako ikuruka kulingana na kulingana na 180 digri smooth.
Kudhibiti Moto wa Servo kwa Potentiometer
Potentiometer ni sensor analog unaoweza kubadilisha resistance yake kulingana na kiasi chako kuchukua knob yake. Unaweza kutumia potentiometer kama vifaa vya ingizo kwa kudhibiti moto wa servo.
Kudhibiti moto wa servo kwa potentiometer, utahitaji:
Arduino board (kama Arduino UNO)
Moto wa servo wa kawaida (kama SG90)
Potentiometer (10k Ohms)
Mistari ya jumper
Breadboard
Diagramu ya wiring kwa kutengeneza potentiometer na moto wa servo kwenye Arduino board inaonyeshwa chini:
Mistari nyekundu kutoka kwa potentiometer hutumika kwenye 5V kwenye Arduino board. Mistari nyeusi kutoka kwa potentiometer hutumika kwenye GND kwenye Arduino board. Mistari nyama kutoka kwa potentiometer hutumika kwenye pin A0 kwenye Arduino board.
Mistari nyekundu kutoka kwa servo hutumika kwenye 5V kwenye row nyingine kwenye breadboard. Mistari nyeusi kutoka kwa servo hutumika GND kwenye row nyingine kwenye breadboard. Mistari nyeupe kutoka kwa servo hutumika pin D9 kwenye row nyingine kwenye breadboard.
Kutengeneza Arduino board yako, utahitaji kutumia code sawa kama mifano ya awali lakini kubadilisha mistari machache:
#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
}
Code huu unatumia analogRead(potpin) function kutuma thamani kutoka kwa potentiometer unayotumia pin A0. Kisha unatumia map(val,0,1023,0,180) function kutumia thamani kutoka 0 -1023 digri. Kisha hutuma thamani hii kwa Servo object kutumia myservo.write(val) function. Hupiga delay, sawa kama mifano ya awali.
Unaweza kutuma code huu kwenye Arduino board yako kutumia Upload button IDE. Unapaswa kuona servo motor yako ikuruka kulingana na namba ya knob potentiometer.
Kudhibiti Moto wa Servo kwa Joystick
Joystick ni vifaa vya ingizo digital vinavyoweza kutathmini mwenendo na ukubwa wa mzunguko kulingana na magamba miwili. Unaweza kutumia joystick kudhibiti moto wa servo kwa kutumia axis ya x ya joystick kwa kugawa kivuli cha servo.
Kudhibiti moto wa servo kwa joystick, utahitaji:
Arduino board (kama Arduino UNO)
Moto wa servo wa kawaida (kama SG90)
Module ya joystick (kama KY-023)
Mistari ya jumper
Breadboard
Diagramu ya wiring kwa kutengeneza module ya joystick na moto wa servo kwenye Arduino board inaonyeshwa chini:
!https://www.makerguides.com/wp-content/uploads/2019/01/Servo-motor-control-with-Arduino-and-joystick-wiring-diagram.png
Mistari nyekundu kutoka kwa module ya joystick hutumika kwenye 5V kwenye Arduino board. Mistari nyeusi kutoka kwa module ya joystick hutumika kwenye GND kwenye Arduino board. Mistari nyama kutoka kwa module ya joystick hutumika kwenye pin A0 kwenye Arduino board.
Mistari nyekundu kutoka kwa servo hutumika kwenye 5V kwenye row nyingine kwenye breadboard. Mistari nyeusi kutoka kwa servo hutumika GND kwenye row nyingine kwenye breadboard. Mistari nyeupe kutoka kwa servo hutumika kwenye pin D9 kwenye row nyingine kwenye breadboard.
Kutengeneza Arduino board yako, utahitaji kutumia code sawa kama mifano ya awali lakini kubadilisha mistari machache:
#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); // Attach Servo object to pin 9
}
void loop() {
val = analogRead(joyX); // Read value from joystick x-axis (0 - 1023)