Servomotora kontrolēšana: Pilnīga rokasgrāmata
Galvenie iegūstēji:
Definēta servomotora kontrolēšana: Servomotora kontrolēšana ļauj precīzi manipulēt ar motora pozīciju, ātrumu un paātrinājumu elektronisku signālu rīkojumā.
Atgriezeniskā saite: Atgriezeniskās saites sistēma, parasti potenciometrs vai enkoderis, nodrošina, ka motora izvade precīzi atbilst kontroles ievadei.
PWM signāls: Impulsu platumas modulācija (PWM) ir būtiska servomotoram, lai uzstādītu tā pozīciju, mainot elektroimpulsu ilgumu.
Arduino un servomotori: Arduino plāksnes izmantošana ir populāra un efektīva veida programmatūras un servomotoru kontrolēšanai ar minimālo aparatūras sastāvu.
Servomotoru lietojumi: Servomotori ir būtiski projektos, kas prasa precīzu pozicionālo kontrolēšanu, piemēram, robotikā un automatizētajos sistēmās.
Servomotors ir motors, kas dizainots augstai precizitātei un rotācijas precizitātei. Tas atšķiras no tipiskiem DC motoriem savu spēju uzturēt konkrētu pozīciju, nevis nepārtraukti griezties. Šī īpašība padara servomotorus ideāliem robotikā, automatizācijā un hobija projektos.
Šajā rakstā tiek paskaidrots, kā darbojas servomotora kontrolēšana, dažādi servomotoru veidi, dažādi kontrolēšanas metodes un ierīces. Tiek sniegti arī servomotoru lietojumu un projektu piemēri.
Kas ir servomotors?
Servomotors definēts kā aktuatora, kas ļauj precīzi kontrolēt pozīciju (leņķi), ātrumu un paātrinājumu. Parasti servomotors sastāv no trim galvenajiem komponentiem: DC motora, kontrolēšanas shēmas un atgriezeniskās saites ierīces.
DC motors varētu palīdzēt servomotoram un savienojas ar dārgumiem, kas samazina ātrumu un palielina momentu uz izvades šaura.

Izvades šauris ir servomotora daļa, kas rotē un pārvieto slodzes.
Kontrolēšanas shēma ir atbildīga par ārēja kontrolētāja ievades signālu saņemšanu un apstrādi. Šie signāli norāda servomotoram, kādu pozīciju, ātrumu vai virzienā tam jāpārvietojas. Kontrolēšanas shēma arī nosūta enerģiju DC motoram, lai to palaistu.
Atgriezeniskās saites ierīce parasti ir potenciometrs vai enkoderis, kas mēra izvades šaura pašreizējo pozīciju.

Atgriezeniskās saites ierīce nosūta pozīcijas datus atpakaļ uz kontrolēšanas shēmu, kas tad pielāgo DC motoram enerģiju, lai saderītu ar reālo pozīciju un vēlamo pozīciju no ievades signāla.
Atgriezeniskās saites cikls starp kontrolēšanas shēmu un atgriezeniskās saites ierīci nodrošina, ka servomotors var precīzi pārvietoties un uzturēt jebkuru pozīciju tā kustības diapazonā.
Kā kontrolēt servomotoru?
Servomotorus kontrolē, nosūtot PWM (impulsu platumas modulācijas) signālu servomotora signāllīnijai. PWM ir tehnika, kas strādā, izslēdzot signālu ļoti ātri, lai radītu impulssu ar dažādu platumu. Impulssu platums noteicis izvades šaura pozīciju.
Piemēram, ja nosūtat PWM signālu ar impulsu platumu 1,5 milisekundes (ms), servomotors pārvietos uz nestrādājošo pozīciju (90 grādi).

Ja nosūtat PWM signālu ar impulsu platumu 1 ms, servomotors pārvietos uz minimālo pozīciju (0 grādi). Ja nosūtat PWM signālu ar impulsu platumu 2 ms, servomotors pārvietos uz maksimālo pozīciju (180 grādi).
PWM signāla frekvence ir 50 Hz, kas nozīmē, ka tas atkārtojas katros 20 ms. Impulssu platums var mainīties no 1 ms līdz 2 ms šajā periodā.
Ir daudz veidu, kā ģenerēt un nosūtīt PWM signālus servomotoriem. Daži no visbiežāk izmantotajiem metodiem ir:
Arduino plāksnes vai citas mikrokontrolētājas izmantošana
Potenciometra vai citas analoģās sensora izmantošana
Joystika vai citas digitālas ievades ierīces izmantošana
Dedikētas servomotora kontrolētājas vai pārveidotājas izmantošana
Nākamajos posmos mēs detalizēti izpētīsim katra no šiem metodiem un redzēsim, kā tie darbojas.
Servomotora kontrolēšana ar Arduino
Arduino ir viens no populārākajiem platformām servomotoru kontrolēšanai. Arduino plāksnēs ir iebūvētas PWM izvades, ko var izmantot, lai nosūtītu signālus servomotoriem. Arduino arī piedāvā Servo bibliotēku, kas padara vieglu koda rakstīšanu servomotoru kontrolēšanai.
Lai kontrolētu servomotoru ar Arduino, jums būs nepieciešams:
Arduino plāksne (piemēram, Arduino UNO)
Standarta servomotors (piemēram, SG90)
Savilktnes vadi
Maize (nav obligāti)
Servomotora sarkanais vaids savienojas ar 5V uz Arduino plāksnes. Servomotora melnais vaids savienojas ar GND uz Arduino plāksnes. Servomotora baltais vaids savienojas ar pin 9 uz Arduino plāksnes.
Lai programmatūru Arduino plāksnei, jums būs nepieciešama Arduino IDE (tiešsaiste vai bezsaiste). Jūs varat izmantot vienu no Servo bibliotēkas piemēriem vai rakstīt savu kodu.
Nākamais kods parāda, kā pārvietot servomotoru pa 180 grādiem, izmantojot for ciklu:
#include <Servo.h> // Iekļaut Servo bibliotēku
Servo myservo; // Izveidot Servo objektu
int pos = 0; // Mainīgais pozīcijai
void setup() {
myservo.attach(9); // Pielikt Servo objektu pie pin 9
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // Cikls no 0 līdz 180 grādiem
myservo.write(pos); // Rakstīt pozīciju Servo objektam
delay(15); // Gaidīt 15 ms
}
for (pos = 180; pos >= 0; pos -= 1) { // Cikls no 180 līdz 0 grādiem
myservo.write(pos); // Rakstīt pozīciju Servo objektam
delay(15); // Gaidīt 15 ms
}
}
Šis kods izmanto divus ciklus, lai palielinātu un samazinātu pozīcijas mainīgo no 0 līdz 180 grādiem un otrādi. Tad tas raksta šo vērtību Servo objektam, izmantojot myservo.write(pos). Tas arī pievieno 15 ms aizveršanu starp katru soli, lai lēni pārvietotos.
Augšupielādējiet šo kodu savā Arduino plāksnē, izmantojot IDE Augšupielādēšanas pogu, un skatieties, kā jūsu servomotors gludi pārvietojas pa kreisi un pa labi.
Servomotora kontrolēšana ar potenciometru
Potenciometrs ir analoģā sensora, kas var mainīt savu pretestību atkarībā no tā, cik jūs pagrieziet tā spraugu. Jūs varat izmantot potenciometru kā ievades ierīci servomotoru kontrolēšanai.
Lai kontrolētu servomotoru ar potenciometru, jums būs nepieciešams:
Arduino plāksne (piemēram, Arduino UNO)
Standarta servomotors (piemēram, SG90)
Potenciometrs (10k Ohmi)
Savilktnes vadi
Maize