MG946R-Servomotor: Vollständige technische Spezifikationen und Programmierhandbuch_Servo_Industry Insights_Kpower
Heim > Brancheneinblicke >Servo
TECHNISCHE UNTERSTÜTZUNG

Produktunterstützung

MG946R-Servomotor: Vollständige technische Spezifikationen und Programmieranleitung

Veröffentlicht 2026-04-22

Dieses Handbuch enthält die vollständigen technischen Spezifikationen und den Arduino-Programmiercode für den MG946RServoMotor. Sie lernen die genauen PWM-Signalparameter, Spannungsanforderungen, Drehmomentwerte und Schritt-für-Schritt-Codebeispiele kennen, um dies zu steuernServoin Ihren Robotik- oder RC-Projekten. Alle Daten werden anhand des Standards überprüftServoSpezifikationen und Praxistests.

01Kernspezifikationen auf einen Blick

Betriebsspannung: 4,8 V – 6,6 V (6,0 V empfohlen für optimales Drehmoment)

Stillstandsdrehmoment: 10 kg·cm bei 4,8 V / 12 kg·cm bei 6,0 V

Betriebsgeschwindigkeit: 0,17 Sek./60° bei 4,8 V / 0,14 Sek./60° bei 6,0 V

Drehwinkel: 180° (Impulsbreitenbereich 500–2500 µs)

Totbandbreite: 3µs

Getriebetyp: Metallgetriebe (3-stufiges Planetengetriebe)

Gewicht: 55g ± 5g

Abmessungen: 40,7 mm × 19,7 mm × 42,9 mm

02Das PWM-Steuersignal verstehen

Der MG946R wird durch ein standardmäßiges 50-Hz-PWM-Signal (Periode = 20 ms) gesteuert. Die Position wird durch die hohe Impulsbreite bestimmt:

Impulsbreite Winkel Typische Anwendung
500µs Ganz links / geschlossene Position
1000µs 45° Teildrehung
1500µs 90° Neutrale / mittlere Position
2000µs 135° Teildrehung
2500µs 180° Ganz rechts / Offene Position

Kritischer Hinweis: Der tatsächlich nutzbare Impulsbereich kann aufgrund von Fertigungstoleranzen zwischen ±50 µs variieren. Führen Sie vor dem Einsatz immer eine Kalibrierungsroutine durch.

03Arduino-Programmierbeispiel (häufigste Implementierung)

Nachfolgend finden Sie ein produktionsreifes Codebeispiel, das in Tausenden von Hobby- und Bildungsrobotikprojekten verwendet wird. Dieser Code vermeidet Blockierungsverzögerungen und ermöglicht eine reibungslose Servosteuerung.

#enthaltenServo mg946rServo; int servoPin = 9; // PWM-fähigen Pin verwenden (3,5,6,9,10,11 auf Uno) void setup() { mg946rServo.attach(servoPin, 500, 2500); // Expliziter Impulsbereich Serial.begin(9600); Serial.println("MG946R-Servotest gestartet"); // Mittentest – neutrale Position überprüfen mg946rServo.write(90); Verzögerung (1000); } void loop() { // Sweep von 0 bis 180 Grad for (int angle = 0; angle = 0; angle -= 5) { mg946rServo.write(angle); Verzögerung(20); } Verzögerung(1000); }

Erweiterte Steuerung ohne Servobibliothek (Direkt-PWM)

Für Projekte, die präzises Timing oder mehrere Servos erfordern, verwenden Sie die direkte Impulserzeugung:

int servoPin = 9; int pulsWidth = 1500; // Mikrosekunden (1500 = 90°) void setup() { pinMode(servoPin, OUTPUT); Serial.begin(9600); } void loop() { // 50-Hz-Signal generieren digitalWrite(servoPin, HIGH); VerzögerungMikrosekunden(pulseWidth); digitalWrite(servoPin, LOW); Verzögerung(20 - (pulseWidth / 1000,0)); // 20-ms-Periode // Beispiel: Sweep durch Ändern der PulseWidth von 500 auf 2500 }

04Häufige Anwendungsfälle und Kalibrierungstipps

Fall 1: Roboterarmgelenk

Problem: Der Servo zittert bei bestimmten Winkeln und zieht zu viel Strom.

Lösung: Fügen Sie einen 470µF–1000µF Elektrolytkondensator zwischen Strom und Masse in der Nähe des Servos hinzu. Verwenden Sie eine separate 5V/6V-Versorgung (mindestens 2A für ein Servo, 5A für mehrere).

Codeanpassung: Reduzieren Sie die Geschwindigkeit, indem Sie zwischen den Schreibbefehlen eine Verzögerung von 30–50 ms hinzufügen.

Fall 2: RC-Car-Lenkung

Problem: Servo kehrt nach dem Drehen nicht genau in die Mitte zurück.

Lösung: Problem mit der mechanischen Zentrierung – Verzahnung des Servohorns um einen Zahn anpassen. Kalibrieren Sie im Code den Mittelimpuls (normalerweise 1520 µs statt 1500 µs).

Verifizierungsmethode: Bringen Sie einen Zeiger an und markieren Sie die wahre Mittelposition bei 1500 µs. Passen Sie dann die Impulsbreite an, bis die mechanische Mitte übereinstimmt.

Fall 3: Schwenk-Neige-Mechanismus der Kamera

Problem: Servo überhitzt, wenn eine Nutzlast von 200 g bei 45° gehalten wird.

Lösung: Spannung auf 5,0 V reduzieren (Drehmoment nimmt ab, aber Strom sinkt deutlich). Passive Kühlung hinzufügen (kleiner Kühlkörper auf Metallgehäuse). Das maximale Dauerhaltemoment sollte 6 kg·cm nicht überschreiten, um eine thermische Abschaltung zu verhindern.

05Anforderungen an die Stromversorgung (kritisch für zuverlässigen Betrieb)

Anzahl der Servos Mindeststrom bei 6 V Empfohlenes Netzteil
1 MG946R 2A Spitze / 0,5A Leerlauf 6V 3A geregelt
2 MG946R 4A Spitze / 1A Leerlauf 6V 5A (z. B. 2S LiPo mit BEC)
3+ MG946R Berechnen Sie pro Servo Externer UBEC oder separater Akku

Versorgen Sie das Gerät niemals direkt über den 5-V-Pin des Arduino mit Strom– Der Blockierstrom (typisch 1,2 A) setzt Ihren Mikrocontroller zurück. Verwenden Sie immer eine separate Servostromquelle mit gemeinsamer Masse zum Arduino.

06Beheben häufiger Probleme

Symptom Höchstwahrscheinliche Ursache Fix
Keine Bewegung Impulsbreite außerhalb des zulässigen Bereichs (z. B. 300 µs) Setzen Sie attachment() mit min=500, max=2500
Unregelmäßiges Zucken Unzureichende Stromversorgung Fügen Sie einen 1000-µF-Kondensator hinzu und verwenden Sie eine 2A+-Versorgung
Bewegt sich nur um 90° Falscher Impulsbereich im Code Verwenden Sie writeMicroseconds() anstelle von write()
Summen an Endpunkten Mechanischer Stillstand vor elektrischer Begrenzung Reduzieren Sie den maximalen Winkel im Code um 5–10°
Überhitzt schnell Einschaltdauer zu hoch (ständige starke Belastung) Leerlaufzeiten einführen oder Drehmomentbedarf reduzieren

07Umsetzbare Empfehlungen für Ihr Projekt

1. Kalibrieren Sie immer zuerst: Führen Sie eine einfache Skizze aus, die in 10-µs-Schritten von 500 µs bis 2500 µs reicht, und beobachten Sie dabei die tatsächliche Hornbewegung. Notieren Sie sich die µs-Werte für 0° und 180° – das sind Ihre wahren Grenzen.

2. Nutzen Sie vom ersten Tag an eine separate Stromversorgung: Servo-VCC an eine 6V 3A-Versorgung anschließen (oder 4x AA-Batterien in Reihe). Verbinden Sie den Servo-GND mit dem Arduino-GND. Signalkabel zum PWM-Pin.

3. Fügen Sie einen 1000-µF-Kondensator mit niedrigem ESR hinzuan den Servostromklemmen angeschlossen – dies verhindert Spannungsabfälle bei plötzlichen Richtungsänderungen.

4. Für Multi-Servo-Projekte: Staffeln Sie ihre Bewegungsbefehle um 20–50 ms, um gleichzeitige Spitzenstromaufnahmen zu vermeiden.

5. Implementieren Sie Softwarelimits: Auch wenn das Servo 180° unterstützt, beschränken Sie Ihren Code auf 170° (z. B. 550 µs bis 2450 µs), um das interne Potentiometer vor mechanischem Verschleiß zu schützen.

08Zusammenfassung der Grundprinzipien

Der MG946R benötigt ein 20-ms-PWM-Signal (50 Hz) mit Impulsbreiten zwischen 500 µs und 2500 µs für eine vollständige Drehung um 180°.

Für einen zuverlässigen Betrieb ist eine 6-V-Stromquelle erforderlich, die mindestens 2 A für ein einzelnes Servo liefern kann.

Kalibrieren Sie vor der Endmontage immer den genauen Impulsbereich für Ihr spezifisches Gerät.

Verwenden Sie die Arduino Servo-Bibliothek mit expliziten Min/Max-Parametern oder direkter Impulserzeugung für erweiterte Anwendungen.

Letzter Aktionsschritt: Bevor Sie das Servo in Ihren endgültigen Bau integrieren, schließen Sie es an einen Arduino mit einer 6-V-3A-Versorgung an, laden Sie die oben bereitgestellte Kalibrierungsskizze hoch und notieren Sie die tatsächlichen 0°- und 180°-Impulswerte Ihres Geräts. Ändern Sie dann Ihren Produktionscode, um diese kalibrierten Werte für einen präzisen und zuverlässigen Betrieb zu verwenden.

Aktualisierungszeit: 22.04.2026

Die Zukunft vorantreiben

Wenden Sie sich an den Produktspezialisten von Kpower, um einen geeigneten Motor oder ein geeignetes Getriebe für Ihr Produkt zu empfehlen.

Mail an Kpower
Anfrage senden
WhatsApp-Nachricht
+86 0769 8399 3238
 
kpowerMap