Hvad er en servomotor? Hvordan bruger man den? Hvordan vælger man den?

Indledning

En servomotor er en motor, der er i stand til at forblive i en præcis position, der er defineret af brugeren. En servomotor kan ikke bevæge sig mere end 180 grader. Endelig udøver den et mere eller mindre betydeligt drejningsmoment i den angivne position.

Alle disse egenskaber gør den til en meget god motor til projekter som at åbne døre, ventiler eller styre en bil.

Men for at dreje helikopterpropeller, trække en bil eller drive en dynamo skal du bruge en DC-motor.

Hvis du leder efter en motor, der bevarer sin position og roterer 360 grader, kan du vælge en steppermotor.

I dette kursus vil vi se, hvordan man styrer servomotoren på to måder: et program, der roterer servomotoren fra 0° til 180° og derefter vender tilbage til sin oprindelige position, og et program, der giver dig mulighed for selv at styre din servomotor fra den serielle skærm.

Hvordan fungerer det?

En servomotor består af flere komponenter:

En lille DC-motor
En gearkasse, der reducerer DC-motorens hastighed, men øger drejningsmomentet for at give mere kraft til at opretholde positionen.
Et potentiometer, der genererer en variabel spænding, der er proportional med udgangsakslens vinkel.

Servomotoren styres med pulsbreddemodulation (PWM) med en fast frekvens på 50 Hz (T = 20 ms), og varigheden af ​​​​den høje tilstand af dette signal bestemmer positionen af ​​​​servomotoraksen.

Det betyder, at pulsvarigheden bestemmer den absolutte vinkel på udgangsakslen og dermed positionen af ​​servomotorens styrearm.

Signalet gentages periodisk, typisk hvert 20. millisekund, hvilket gør det muligt for elektronikken kontinuerligt at overvåge og korrigere udgangsakslens vinkelposition, som måles af potentiometeret.

En servomotor fungerer med tre ledninger:

En rød ledning: strømforsyning (3,5V til 5V)
En sort ledning: jord (0V)
Den gule ledning: signalindgang

Hvilken skal man vælge?

Hvis du vil bruge den til Arduino, anbefaler vi MG995 eller SG90. Disse to servoer har minimale størrelser og et drejningsmoment på 25 kg, hvilket gør dem ideelle til Arduino.

Hvis du har brug for en servomotor med et højere drejningsmoment, kan du dog vælge servomotorer på 35 kg.

Styr din servomotor

Her er kredsløbet til at lave de projekter, vi vil se lige nedenfor:

Drej servomotoren fra 0° til 180°, og derefter tilbage til 180°.

Her er programmet til at rotere din servomotor:

#include <Servo.h>

Servo monServomoteur;  
int pos = 0;    

void setup() {
  monServomoteur.attach(9);  
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { 
    monServomoteur.write(pos);      
    delay(15);                       
  }
  for (pos = 180; pos >= 0; pos -= 1) { 
    monServomoteur.write(pos);          
    delay(15);                       
}
}