Heim > Brancheneinblicke >Servo
TECHNISCHE UNTERSTÜTZUNG

Produktunterstützung

Tatsächlicher Kampf des Arduino SG-90-Servos: Verkabelungscode und Anleitung zur Grubenvermeidung

Veröffentlicht 2026-05-11

Lassen Sie uns zu Beginn über eine Tatsache sprechen: Wenn Sie mit Arduinos Auto, mit Arduinos Roboterarm oder mit Arduinos kleiner Zugangskontrolle spielen, werden Sie in neun von zehn Fällen auf das blaue 9g-Mikroservo oder das transparente 9g-Mikroservo, das SG-90, stoßen. Trotz seiner geringen Größe dreht es den Winkel, steuert den Schalter, nickt und schüttelt den Kopf – alles abhängig vom Impulsbreitensignal. Doch beim ersten Schritt stoßen viele auf Schwierigkeiten: Wie werden die Leitungen angeschlossen? Warum zittert der Code, nachdem er geschrieben wurde? Heute werde ich es für Sie im Detail klären und aus dem überwältigenden Erlebnis das Wesentliche herausgreifen.

01Schalten Sie nicht zuerst den Strom ein, sondern erkennen Sie die drei Linien

Brauner Draht: GND (Masse)

Rotes Kabel: VCC (5V-Stromversorgung)

Orange Linie: PWM-Signal-Pin (D9/D10 ist optional)

Das Folgende ist eine häufige Überschlagssituation: Schieben Sie die rote Linie auf 3,3 V, aber das Servo dreht sich nicht; Stecken Sie es in den Pluspol der Batterie, wodurch das interne Laufwerk verbrannt wird.

Sein sicherer Bereich liegt bei 5 V, was ausreicht, um ein Gerät über die USB-Stromversorgung zu betreiben. Bei mehr als zwei Fahrten ist ein externer Akku stabiler.

02Es gibt tatsächlich zwei Codeabschnitte

Verwenden Sie die Servo-Bibliothek, schreiben Sie den PWM-Arbeitszyklus nicht selbst.

#enthaltenServo myServo; void setup() { myServo.attach(9); // Die Signalleitung ist mit Pin 9 verbunden } void loop() { myServo.write(0); // 0 Grad Verzögerung (1000); myServo.write(90); // 90-Grad-Verzögerung (1000); myServo.write(180); // 180-Grad-Verzögerung (1000); }

Dieser Abschnitt dreht sich hin und her. Fragen Sie nicht, warum es zu den Situationen 0, 90 und 180 gehört, denn hier liegt seine physikalische Grenze.

03Die zugrunde liegende Logik, die SG-90 wirklich gehorsam macht

Darin befinden sich ein Potentiometer und ein Untersetzungsgetriebe. Wenn Sie eine Impulsbreite von 1 ms angeben, dreht es sich um 0 Grad, wenn Sie eine Impulsbreite von 1,5 ms angeben, dreht es sich um 90 Grad, und wenn Sie eine Impulsbreite von 2 ms angeben, dreht es sich um 180 Grad.

arduino Micro Servos SG-90_arduino Micro Servos SG-90_arduino Micro Servos SG-90

Die Servo-Bibliothek wandelt den Winkel beim Schreiben automatisch in die entsprechende Impulsbreite um.

Es ist jedoch zu beachten, dass SG-90 verschiedener Hersteller um einige Grad abweichen können, sodass der Kalibrierungsprozess nicht ausgelassen werden kann.

Schreiben Sie zuerst (90), um zu sehen, ob das Armstück vertikal ist

Wenn nicht, biegen Sie ihn manuell in die vertikale Position und installieren Sie den Arm erneut.

04Häufige Fehlerszenen, die Ihnen bestimmt schon einmal begegnet sind

Q/A-Bereich

F: Das Servo vibriert stark, wenn es angeschlossen ist. Wie lässt sich das Problem lösen?

A: Das Netzteil ist in einem instabilen Zustand. Der 5-V-Stromversorgungsbetrieb erfolgt ausschließlich über die rote Leitung. Der 5-V-Pin des Arduino dient nur als Signalreferenz.

F: Was soll ich tun, wenn write(180) nur auf 120 Grad gehen kann?

A: Führen Sie zuerst den Schreibvorgang (180) durch, unterbrechen Sie dann die Stromversorgung, biegen Sie dann den Arm manuell auf den maximalen Winkel und schalten Sie dann die Stromversorgung wieder ein.

F: Ist es normal, dass das Servo heiß wird, nachdem es mehrere Minuten lang ununterbrochen gedreht wurde?

A: Abnormal. SG-90 ist ein Positionsservo. Verwenden Sie es nicht als kontinuierlich rotierenden Motor.

F: Das Signalkabel ist richtig angeschlossen und der Code ist korrekt, aber es bewegt sich einfach nicht?

arduino Micro Servos SG-90_arduino Micro Servos SG-90_arduino Micro Servos SG-90

A: Überprüfen Sie die Gemeinsamkeiten. Arduino GND und Servo GND müssen verbunden sein.

F: Kann ich das PWM-Signal direkt anstelle der Servo-Bibliothek bereitstellen?

A: Ja, aber nicht notwendig. Die Bibliothek kapselt den 20-ms-Zyklus und es ist einfach, den Servo zu brennen, wenn Sie ihn selbst schreiben.

05Eine Sprungpraxis von „aktiv“ zu „genau“

Denken Sie nicht daran, in einem Schritt einen sechsbeinigen Roboter zu bauen. Erstellen Sie zunächst ein kleines Gerät:

Barriere aus Pappe

Lösen Sie den Knopf aus, drücken Sie einmal, um den Hebel anzuheben, und drücken Sie dann den unteren Hebel

Der Kernpunkt des Codes besteht darin, den aktuellen Status jedes Mal aufzuzeichnen, wenn write(0) oder write(90) aufgerufen wird.

Sie können eine Situation erkennen. Wenn er schnell von 0 auf 90 wechselt, scheint das Servo „nach vorne zu schießen“. Verzögerung hinzufügen? Nicht so, aber Lockerung hinzufügen.

void slowMove(int from, int to, int stepDelay) { if (from = to; i--) { myServo.write(i); Verzögerung(SchrittVerzögerung); } }

Auf diese Weise bewegt er sich langsam wie ein echter Arm und die Zahnräder neigen nicht dazu, zusammenzubrechen.

06Eine Einschränkung: Das Drehmoment des SG-90 beträgt nur 1,6 kg·cm

Was ist die Bedeutung? Zum Heben einer AA-Batterie reicht es völlig aus, aber Sie möchten ein Buch schieben? Muss stecken bleiben.

Bei der Herstellung eines Roboterarms muss für den großen Armteil ein Metallzahnservo wie MG995 verwendet werden. Allerdings eignet sich SG-90 nur zur Herstellung von Handgelenken oder Krallen.

Analoge Argumentation: SG-90 ist wie eine Fahrradkette. Wenn Sie damit ein Auto ziehen, wird es definitiv kaputt gehen.

07Abschließend gebe ich Ihnen eine Mindmap (Textversion)

SG-90-Debugging-Entscheidungsbaum ├─ Keine Reaktion beim Anschließen │ ├─ Prüfen: GND liegt auf der gleichen Masse? │ └─ Prüfen: 5V-Stromversorgung reicht für 1A? ├─ Jitter nach der Bewegung zur Zielposition │ ├─ Kondensator hinzufügen: 100uF Elektrolyse zwischen dem roten Kabel und GND │ └─ Verzögerung (15) nach dem Schreiben des Codes ├─ Der Winkel ist ausgeschaltet │ ├─ Weiche Kalibrierung: myServo.write (aktueller Winkel + Offset) │ └─ Harte Kalibrierung: entfernen └─ Befolgen Sie überhaupt nicht den Code. └─ Wechseln Sie zu einem digitalen Gerät und prüfen Sie, ob eine andere Bibliothek Timer1 belegt

08Handlungsvorschläge: Handeln Sie jetzt

1. Besorgen Sie sich ein Steckbrett, ein SG-90 und drei DuPont-Drähte.

2. Brennen Sie den Code zum Umkehren des ersten Absatzes oben.

3. Bestätigen Sie die Positionen 0 Grad, 90 Grad und 180 Grad.

4. Ändern Sie den Code so, dass er bei 45 Grad stoppt und 10 Sekunden lang anhält.

5. Bei Erfolg beherrschen Sie 80 % der Einsatzszenarien von Kleinservos.

Was sind die restlichen 20 %? Es dient dazu, mehrere Servos in Reihe zu schalten, das Potentiometer abzulesen, um einen geschlossenen Regelkreis zu erreichen, und die Aktionsgruppe einzustellen. Aber ich werde heute nicht darüber reden, denn das muss man erst einmal zum Laufen bringen.

Denken Sie daran: Alle komplexen Roboterprojekte beginnen mit einem SG-90, der sich nachgiebig um 30 Grad drehen kann. Probieren Sie es aus, warten Sie nicht nur ab.

Aktualisierungszeit: 11.05.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