So stellen Sie IDs und Nullpunkt-Offsets von Feetech-STS3215-Servos mit Waveshare ein

Jeder Feetech-STS3215-Servo wird mit ID 1 und einem zufälligen Nullpunkt-Offset ausgeliefert, daher müssen Sie vor dem Zusammenbau Ihres Roboterarms eindeutige IDs vergeben und die Nullstellungen kalibrieren. Der Waveshare Bus Servo Adapter enthält Windows-Software und eine USB-C-Schnittstelle für diese Einrichtung. Sie brauchen die Adapterplatine, die FD-Software und jeweils einen Servo.

In dieser Anleitung verwendete Teile, versandt ab Singapur mit Sendungsverfolgung:

Waveshare Bus Servo Adapter (A) → Starter-Kit mit 1 Servo 3-polige Servokabel

Was Servo-IDs und Nullpunkt-Offsets bewirken

Der Feetech STS3215 nutzt einen Halbduplex-TTL-Seriellbus mit 1 Mbps. Jeder Servo braucht eine eindeutige ID zwischen 1 und 253. Alle Servos haben ab Werk die ID 1, daher führt das Anschließen von zwei Servos ohne geänderte IDs zu Konflikten und verstümmelten Antworten.

Der Nullpunkt-Offset gleicht den Encoder-Wert mit der physischen Position des Horns ab. Die Werks-Offsets sind wegen Fertigungstoleranzen zufällig. Ist der Offset richtig eingestellt, bewegen die LeRobot-Kalibrierbefehle die Servos in ihre tatsächliche Nullstellung.

Schritt Zweck Wann
Eindeutige ID vergeben Mehrere Servos an einem Bus ermöglichen Vor dem Einbau in den Arm
Nullpunkt-Offset einstellen Encoder-Null mit Horn-Null abgleichen Nach dem Aufsetzen des Horns, vor der Endmontage
ID-Zuordnung festhalten Nachverfolgen, welcher Servo in welches Gelenk gehört Während des Vorgangs, in einem Notizbuch oder einer Tabelle

Waveshare-Software installieren und den Adapter anschließen

Laden Sie die FD-Software herunter. Die Software läuft nur unter Windows. Verbinden Sie den Waveshare Bus Servo Adapter per USB-C mit Ihrem Computer und schließen Sie dann die externe Stromversorgung an die DC-Hohlbuchse an. Verwenden Sie 12 V für C018-Servos oder 7.4 V für die Varianten C001, C044 und C046. Prüfen Sie den Aufkleber Ihres Servos, bevor Sie einschalten. Die falsche Spannung zerstört den Servo sofort.

Schließen Sie mit einem 3-poligen Servokabel einen Servo an den Adapter an. Schließen Sie beim Ändern der IDs immer nur einen Servo gleichzeitig an. Die FD-Software erkennt die Baudrate automatisch und sucht nach IDs.

Eine neue Servo-ID vergeben

  1. Schalten Sie Adapter und Servo ein. Öffnen Sie die FD-Software und klicken Sie auf „Search“. Neue Servos erscheinen als ID 1.
  2. Wählen Sie den Servo in der Liste aus. Klicken Sie auf das Feld „ID“ und geben Sie die neue ID ein (die so101-Konfigurationen von LeRobot erwarten pro Arm die IDs 1–6, von der Basis zum Greifer; Leader und Follower hängen an getrennten Adaptern, daher verwenden beide 1–6). Klicken Sie auf „Write“.
  3. Klicken Sie erneut auf „Search“. Der Servo erscheint unter seiner neuen ID. Wird die alte ID weiterhin angezeigt, schalten Sie den Servo aus und wieder ein.
  4. Beschriften Sie das Servogehäuse mit einem Stift mit der neuen ID.

Wiederholen Sie dies für jeden Servo. Führen Sie schriftlich Buch, welche ID in welches Gelenk gehört.

Den Nullpunkt-Offset kalibrieren

Bringen Sie das Servohorn an, bevor Sie kalibrieren. Richten Sie es senkrecht nach oben aus (parallel zum Servogehäuse). Die 25-zahnige Verzahnung rastet in Schritten von 14,4 Grad ein. Bringen Sie es so nah wie möglich in die Senkrechte und ziehen Sie dann die mittlere Schraube fest.

Klicken Sie in der FD-Software beim Parameter „Offset“ auf „Read“ und dann auf „Calibrate Center“. Die Software berechnet den Offset so, dass die aktuelle Position als null Grad gilt. Klicken Sie auf „Write“, um ihn zu speichern.

Testen Sie mit dem Befehl „Go to position 0“. Der Servo sollte in die kalibrierte Position zurückkehren. Weicht er um mehr als ein paar Grad von der Senkrechten ab, prüfen Sie das Horn erneut und kalibrieren Sie neu.

Häufige Fehler

Wenn Sie Offsets vor dem Aufsetzen der Hörner einstellen, driftet die Kalibrierung. Ziehen Sie das Horn fest, bevor Sie den Offset einstellen. Die doppelte Vergabe derselben ID führt zu inkonsistenten Positionsdaten und fehlgeschlagenen Kalibrierungen. Beschriften Sie jeden Servo sofort, nachdem Sie seine ID vergeben haben.

Das Mischen von 12-V- und 7.4-V-Servos am selben Strombus zerstört Servos. Das SO-ARM101-Kit hat zwei getrennte Busse (Follower mit 12 V, Leader mit 5–7.4 V). Prüfen Sie vor dem Verdrahten den Aufkleber auf jedem Servo.

Nach dem Einstellen von IDs und Offsets

Sobald alle Servos eindeutige IDs, kalibrierte Offsets und Beschriftungen haben, können Sie den Arm zusammenbauen. Halten Sie Ihre ID-Zuordnung bereit, damit Sie jeden Servo in das richtige Gelenk einbauen. Die jetzt eingestellten Offsets sorgen dafür, dass lerobot-calibrate korrekt funktioniert.

Wenn Sie später einen Servo ersetzen, wiederholen Sie das Verfahren für ID und Offset, bevor Sie ihn einbauen. Welche Servo-Varianten in welche Gelenke gehören, lesen Sie in der Anleitung Feetech STS3215 vs. STS3250. Teile finden Sie in der Kollektion Roboterarm-Teile und Zubehör.

Beginnen Sie mit einem Servo auf dem Tisch.

Das Starter-Kit mit 1 Servo enthält einen STS3215-C018, den Waveshare-Adapter und Kabel, genug, um das Einstellen einer ID und eines Nullpunkt-Offsets zu üben, bevor Sie das komplette Set kaufen.

Starter-Kit kaufen → Waveshare-Adapter Metallhörner × 6

FAQ

Kann ich Servo-IDs mit der BusLinker-Platine statt mit dem Waveshare-Adapter einstellen?

Die Hiwonder-BusLinker-V3.0-Platine funktioniert mit Servos, enthält aber keine Software zum Einstellen von IDs. Zum Ändern von IDs und Offsets brauchen Sie den Waveshare-Adapter und seine FD-Software. Sobald die IDs eingestellt sind, können Sie beide Platinen zur Ansteuerung der Servos in LeRobot verwenden.

Was passiert, wenn zwei Servos am selben Bus dieselbe ID haben?

Der Controller sendet einen Befehl an ID 3, und beide Servos antworten gleichzeitig. Die vermischten Antworten verfälschen die Daten, sodass Positionsabfragen fehlschlagen oder Zufallswerte liefern. Die LeRobot-Kalibrierung scheitert dann mit „servo not found“ oder inkonsistenten Positionsfehlern. Beheben Sie das, indem Sie einen Servo abtrennen, seine ID ändern und ihn wieder anschließen.

Muss ich die Nullpunkt-Offsets nach dem Zerlegen und erneuten Zusammenbauen des Arms neu kalibrieren?

Nein, solange Sie denselben Servo in derselben Ausrichtung und mit dem Horn in derselben Position wieder einbauen. Der Offset wird im Speicher des Servos gespeichert, nicht im Controller des Arms. Wenn Sie das Horn abnehmen und auf einem anderen Zahn wieder aufsetzen, müssen Sie den Offset neu kalibrieren.

Zurück zum Blog