Datasheet & Pinout: MG90S Micro Servo (Metal Gear)

⚙️ MG90S Micro Servo (Metal Gear, 180°)

MG90S er den lille micro-servo i samme format som den blå SG90 – men med metaltandhjul, der ikke knaser, første gang robotarmen rammer bordet. Du beder den om en vinkel mellem 0 og 180°, og så holder den positionen. Perfekt til styretøj, låse, robotarme og kamera-pan/tilt.

Du skal bruge: MG90S, en Arduino/ESP32 og – ved mere end én servo – en ekstern 5 V-forsyning.

🛒 Køb MG90S 📄 Producentens specifikationer (TowerPro)
MG90S er oprindeligt TowerPro's design. TowerPro har ingen PDF på produktsiden, så knappen fører til deres specifikationsside. Tallene herunder er for originalen – kompatible udgaver ligger tæt på, men kan afvige lidt.

⚡ Hurtige specifikationer

Parameter Værdi
Type Analog micro-servo med metalgear
Vinkel ca. 0–180° (positionsstyret)
Driftsspænding 4,8–6 V (5 V er perfekt)
Moment (stall) 1,8 kg·cm ved 4,8 V – ca. 2,2 kg·cm ved højere spænding (TowerPro angiver 6,6 V)
Hastighed 0,10 s/60° ved 4,8 V, 0,08 s/60° ved 6 V
Vægt 13,4 g
Mål 22,8 × 12,2 × 28,5 mm
Dead band 1 µs
Styresignal PWM 50 Hz (20 ms periode). Ca. 1 ms = 0°, 1,5 ms = 90°, 2 ms = 180° – mange MG90S skal have ca. 0,5–2,5 ms for at nå hele vejen rundt
Tilbehør Servo-arme (horns) og skruer

📌 Pinout

Pin Navn Funktion Forbindes til
Brun ledning GND Minus GND (fælles med microcontrolleren)
Rød ledning (midten) V+ Forsyning 4,8–6 V 5 V (én servo) eller ekstern 5 V-forsyning
Orange ledning Signal PWM-styresignal Digital pin, fx D9

Stikket er et 3-pins 2,54 mm hunstik. Den røde ledning sidder i midten, så et omvendt stik ikke vender plus og minus – men signalet havner forkert, og servoen gør ingenting.

🔌 Sådan forbinder du den

Servo UNO / Nano ESP32
Brun (GND) GND GND
Rød (V+) 5V (kun én servo) – ellers ekstern 5 V 5V/VIN (kun én servo) – ellers ekstern 5 V
Orange (signal) D9 GPIO 13 (3,3 V-signal virker normalt fint)
Ekstern 5 V-forsyningens minus GND (fælles jord!) GND (fælles jord!)

💻 Eksempelkode

Arduino UNO/Nano: biblioteket Servo følger med Arduino IDE.

// MG90S sweep 0-180 grader (KompoNemt)
#include <Servo.h>

Servo servo;

void setup() {
  servo.attach(9, 500, 2400);   // pin, min- og max-puls i µs
}

void loop() {
  for (int v = 0; v <= 180; v++) { servo.write(v); delay(15); }
  delay(500);
  for (int v = 180; v >= 0; v--) { servo.write(v); delay(15); }
  delay(500);
}

ESP32: installer biblioteket ESP32Servo (Library Manager) og brug det samme sketch med disse ændringer:

#include <ESP32Servo.h>
Servo servo;

void setup() {
  servo.setPeriodHertz(50);       // standard servo-frekvens
  servo.attach(13, 500, 2400);    // GPIO 13
}

💡 KompoNemt-tip fra værkstedet

  • Strøm er alt: En servo kan trække langt over 100 mA, når den starter eller bliver blokeret. Én servo på Arduinoens 5V-pin går som regel, to eller flere → ekstern 5 V-forsyning (og fælles GND).
  • Kondensator: 470–1000 µF over servoforsyningen (tæt på servoen) tager de værste strømspidser og stopper mange mystiske genstarter.
  • Brummer i yderpositionen? Den presser mod sit mekaniske stop. Gør puls-intervallet lidt mindre (fx 600–2300 µs) eller kør kun til 5–175°.
  • Drej ikke akslen med hånden med kraft – metalgear er stærke, men ikke uforgængelige.
  • Spole-tip: En servo har sin egen driver indbygget, så du skal hverken bruge transistor eller flyback-diode – kun signal og en stabil forsyning.

🔧 Fejlfinding

  • Servoen rører sig ikke: Mangler fælles GND, eller signalledningen sidder på en anden pin end i koden.
  • Arduinoen genstarter, når servoen bevæger sig: Strømmangel. Ekstern 5 V-forsyning + kondensator.
  • Den når kun ca. 0–90° eller 0–150°: Puls-intervallet er for smalt. Brug attach(pin, 500, 2400).
  • Den ryster/jitter: Ustabil forsyning eller lange signalledninger. Kort ledning, kondensator og fælles GND.
  • Den bliver varm og brummer konstant: Den arbejder mod en blokering eller sit endestop. Ret vinklerne eller mekanikken.

Sidder du fast? Skriv til os – vi hjælper gerne.