Arduino – Servo aansturen (SGXX)

Hardware

Servo SG90

   BESTELLEN

Deze mini servo’s kunnen 180 graden draaien (als je de beveiliging eruit haalt 360 graden), de servo wordt veelal gebruikt in vliegtuig modelbouw, andere toepassingen zijn uiteraard ook mogelijk.

Specificaties:

  • Modulatie: Analoog
  • Krachtkoppel: 1.80 kg-cm (op 4.8 volt)
  • Snelheid: 0.10 sec/60° (op 4.8 volt)
  • Motor Type: 3-polig
  • Tandwiel Type: Plastic
  • Maximale draairichting: 180°
  • Pulse breedte: 500-2400 µs

Pinout

Draadkleur:Functie:
Rood+5v
BruinGND
OranjeData (stuur signaal)

Hoe werkt het?

Deze mini servo werkt met PWM (Pulse Width Modulation), volgens de documentatie:

– ca. 2.5 ms puls voor positie naar rechts.
– 1.5 ms puls voor het midden.
– ca. 0.5 ms puls voor positie naar links.

Als je PWM gebruikt, kun je deze op 50 Hz zetten, dan heb je pulsjes van 1 sec / 50 Hz = 20 ms

Veelal is de duty-cycle in te stellen van 0% t/m 100%, dat geeft voor:

– rechts (2.5 ms) > duty-cycle = 100 / (20ms  / 2.5 ms) = 12.5%
– midden (1.5 ms) > duty-cycle = 100 / (20ms  / 1.5 ms) = 7.5%
– links (0.5 ms) > duty-cycle = 100 / (20ms  / 0.5 ms) = 2.5%

Let op: De waarden hierboven zijn theoretisch, voor mij werken deze waarden:

– rechts = duty-cycle van 11%
– midden = duty-cycle van 6%
– links = duty-cycle van 2.5%

Wat heb je nodig?

Voor het aansturen heb je de SERVO bibliotheek nodig, deze wordt standaard met de Arduino software geïnstalleerd!

Het aantal graden wat de servo moet draaien is eenvoudig in te stellen zoals:  myservo.write(pos); ,waar pos een getal tussen 0 en 180.

Aansluiten op de Arduino

Sluit de SG-90 servo aan zoals aangegeven op onderstaand schema:

Servo SG90 Arduino schema

Arduino pin:Draadkleur SG-90:
+5vRood
GNDBruin
D9Oranje

Script – Servo testen (automatisch draaien)

Onderstaand script laat de servo 180 graden draaien met de klok mee en tegen de klok in, een mooie manier om eenvoudig de servo te testen!

Script – Servo testen (hoek in seriële monitor)

Met onderstaand script kun je via de seriële motor een hoek opgeven (0-180 graden)

1) Open de seriële monitor.
2) Tik een getal in tussen de 0 en 180.
3) Druk op enter, de servo zal zich instellen op het aantal graden.

Script – Servo bedienen met een potmeter

Sluit een potmeter en een servo aan zoals aangegeven in het volgende schema:

Arduino servo met potmeter

Dit is de code om de servo te bedienen met de potmeter:

Dit is de console output via de seriële monitor:

Arduino servo met potmeter arduino seriele monitor