Project 2.5 Servo motor

Alles over Servo’s: Compacte Nederlandse Uitleg

 

Wat is een servo?

Een servo is een speciale motor met een ingebouwde controller en meestal een feedback-potentiometer (zoals een volumeknop). Hierdoor kun je de positie nauwkeurig regelen. Servo’s zijn eenvoudig te bedienen met een microcontroller, zoals een Arduino.

 

Soorten servo’s

1. Standaard servo’s

• Grootte: Ongeveer 1.5” x 1.5” x 0.75”.

• Rotatie: 90°, 180° of soms continue rotatie.

• Constructie: Kunststof of metalen tandwielen (voor snelheid of kracht).

• Gebruik: Robotarmen, animatronics en precieze bewegingen.

 

2. Nano-servo’s

• Zeer klein, ter grootte van een munt.

• Gebruik: Kleine robots en mechanismen zoals knoppen indrukken.

 

3. Micro-servo’s

• Iets groter dan nano-servo’s, met meer kracht.

• Gebruik: Kleine constructies en modelbouw.

 

4. 1/4-schaal servo’s

• Groot en krachtig, vaak gebruikt in modelauto’s.

• Ideaal voor zware lasten, maar minder geschikt voor continue rotatie (tenzij aangepast).

 

Tandwielconstructie (Gearbox)Plastic tandwielen: Licht en goedkoop, maar breekbaar.

• Metalen tandwielen: Sterk en geschikt voor zware belasting.

• Koppel (Torque): Hoeveel kracht de motor kan leveren. Wordt gemeten in oz-in, kg-cm, of N-m.

 

Typen servo’s

1. Standaard servo’s

• Kunnen draaien tot een specifieke hoek (bijv. 112° van 180°).

• Beperkt door een potentiometer en een fysieke stop in de tandwielen.

• Ideaal voor robotarmen, grijpers en nauwkeurige posities.

 

2. Continue rotatie-servo’s

• Kunnen vrij draaien zonder beperking.

• Besturing: Richting en snelheid, geen positie.

• Geschikt voor aandrijfwielen van robots.

• Nadeel: Lage snelheid vanwege focus op koppel.

 

Voeding van een servo

 

Servo’s hebben drie draden:

Signaal: Verbonden met een digitale pin op de Arduino.

Voeding: 4.5V tot 6V.

Aarde (Ground): Gedeeld met de Arduino.

 

Belangrijke tips bij voeding:

1. Gebruik niet de 5V-pin van de Arduino om de servo van stroom te voorzien (beperkte stroomsterkte, risico op schade door terugstroom).

2. Gebruik een aparte stroomvoorziening, zoals een 6V batterij.

3. Verbind de gronddraden (GND) van de Arduino en de batterij.

 

Samenvatting

• Servo’s zijn veelzijdige motoren voor precieze besturing.

• Kies de juiste servo voor jouw project: standaard, nano, micro of 1/4-schaal.

• Zorg voor een correcte voeding en deel de grond (GND) tussen componenten.

• Gebruik standaard servo’s voor posities en continue servo’s voor bewegingen.

 

Met deze kennis kun je eenvoudig servo’s gebruiken in je Arduino-projecten!!

We gaan nu bouwen,

de benodigde componenten zijn

 

Deze staat niet bij de standaard componenten, je moet in alle componenten zoeken, Maak de volgende afbeelding na

Juiste bekabeling van de servo

Initialiseren

We voegen de bibliotheek Servo.h toe met

#include <Servo.h>

 

we zetten het variabel positie op 0 met de code

int pos = 0;

 

Void setup

 

servo_9.attach(9, 500, 2500);

 

wordt gebruikt in Arduino-programmering om een servomotor aan een specifiek pin te koppelen en het bereik van de PWM (Pulse Width Modulation)-signalen te definiëren waar de servo op zal reageren.

 

Uitleg van de functie:

servo_9: Dit is een instantie van de Servo-klasse, die gebruikt wordt om de servomotor te besturen.

attach(9): Dit vertelt het programma dat de servo verbonden is met pin 9 op de Arduino. Deze pin zal nu de controle-signalen (PWM) naar de servomotor sturen.

500: Dit is de minimum pulsduur (in microseconden) die de servo zal accepteren. Het geeft de servo aan hoe kort de tijd is dat hij een puls moet ontvangen om de ene uiterste positie aan te geven (meestal 0 graden of volledig tegen de klok in).

2500: Dit is de maximum pulsduur (in microseconden) die de servo zal accepteren. Het vertelt de servo hoe lang de puls moet duren om de andere uiterste positie aan te geven (meestal 180 graden of volledig met de klok mee).

 

Wat gebeurt er:

• De 500 microseconde puls zal de servo naar zijn minimumpositie (0 graden) bewegen.

• De 2500 microseconde puls zal de servo naar zijn maximumpositie (180 graden) bewegen.

• De servo zal naar elke positie tussen de 0 en 180 graden bewegen, afhankelijk van de pulsduur binnen dit bereik (tussen 500 en 2500 microseconden).

 

Void loop

  // beweeg de servo van 0 naar 180 graden in stappen
// van 1 graad
for (pos = 0; pos <= 180; pos += 1) {
  // geef de servo de opdracht naar de positie in de variabele 'pos' te gaan
  servo_9.write(pos);
  // wacht 15 ms totdat de servo de positie heeft bereikt
  delay(15); // Wacht 15 milliseconde(s)
}
for (pos = 180; pos >= 0; pos -= 1) {
  // geef de servo de opdracht naar de positie in de variabele 'pos' te gaan
  servo_9.write(pos);
  // wacht 15 ms totdat de servo de positie heeft bereikt
  delay(15); // Wacht 15 milliseconde(s)
}