Zum Inhalt springen

Stromverteilung ​

Die Stromverteilung nimmt einen Akku und erzeugt daraus die richtige Spannung für jedes Teil, mit Schutz gegen Fehler, die sonst einen Draht schmelzen oder eine Platine zerstören würden. Strido teilt seine Versorgung in eine Servo-Domäne mit 6,0 V und eine Logik-Domäne mit 5 V / 3,3 V, die sich eine Masse teilen; diese Seite verfolgt den Strom vom XT60 bis zum letzten Servo.

In Strido

  • Maßgebliche Quelle: hardware/wiring.yaml (jedes Kabel W00–W23 und die Servokabel, durch das CAD geführt; Zuschnittliste in der Verkabelungsprüfung), hardware/electronics.yaml (power, rails, supplies, fuses, wire_ampacity_a) und docs/electronics.md (Verkabelungsliste, Tabelle der Nennwerte). python -m strido_verify.electronics liest die Stromkabel aus wiring.yaml und prüft jeden Draht, jede Sicherung und jeden Wandler gegen seine Last (docs/verification/electronics.md). Wie der Kabelbaum aufgebaut ist: Kabelmanagement.
  • Teile: XT60H-Steckverbinder (Akkueingang, Arming-Port, Loop-Key), 2 × ATO-Inline-Sicherungshalter mit 25-A- und 7,5-A-Sicherungen, 2 × Hobbywing UBEC-10A (6,0 V), 8 × WAGO 221-415, Pololu #2813 Einschalttaster, Adafruit INA260, Pololu D36V50F5 5-V-Spannungsregler, Silikonlitze 14 / 18 / 22 AWG.
  • Schienen: pack 6,0–8,4 V, servo_6v 5,4–6,0 V, logic_5v 4,8–5,2 V, logic_3v3 3,2–3,4 V.

Der Versorgungsbaum ​

Diagramm wird gezeichnet…

Zwei Zweige verlassen die Hauptsicherung:

  • Servozweig: Arming-Port → zwei UBECs → WAGO-Busse → 12 Servos. Er führt bis zu etwa 21 A und wird nur über den Loop-Key geschaltet.
  • Logikzweig: Logiksicherung → Einschalttaster → INA260 → 5-V-Spannungsregler → Pi 5, der den XIAO und das LiDAR über USB versorgt. Der eigene 3,3-V-Spannungsregler des XIAO versorgt dann die I²C-Platinen und das LCD. Dieser Zweig zieht höchstens etwa 2,7 A.

Die Trennung gibt es, weil sich die beiden Lasten stark unterscheiden. Servos ziehen große, sprunghafte Ströme, die die Akkuspannung einbrechen lassen. Ein Raspberry Pi gerät bei einem Spannungseinbruch in einen Brownout und beschädigt seine SD-Karte. Getrennte Spannungsregler halten Servo-Transienten vom Computer fern, und Sie können die Motoren entschärfen, während der Computer weiterläuft.

Steckverbinder und die Scharfschaltschleife ​

XT60 ​

Der XT60 ist der Standard-Hochstromsteckverbinder im RC-Bereich, ausgelegt für 30 A Dauerstrom. Strido verwendet drei XT60H-Hälften:

SteckverbinderAufgabe
Akkueingangunter dem Deck, in der Tasche neben dem Akku; die eigene Leitung des Akkupacks (W00) wird dort eingesteckt
Arming-Portin der Rückschale, Blende arming_port_bezel; seine beiden Kontakte sind die beiden Enden der Servoversorgung
Loop-Keyein loser XT60 mit einer 14-AWG-Brücke: Einstecken schließt den Servozweig

Der Loop-Key ist ein physischer, sichtbarer Notaus für jeden Servo. Ziehen Sie ihn ab, und kein Servo kann Strom bekommen, egal was die Software tut. Der Einschalttaster ist kein Not-Halt: Pololu sagt das ausdrücklich, und er schaltet nur den Logikzweig.

Der Loop-Key darf niemals auf den Akku passen

Der Loop-Key ist ein kurzgeschlossener Steckverbinder. Würde er mit dem Akkupack zusammenpassen, schlösse er den Akku kurz. Geben Sie ihm den gleichen Kontakttyp wie der eigene Steckverbinder des Akkupacks (Stifte oder Buchsen), damit er sich physisch nicht einstecken lässt. Testen Sie mit einem unüberbrückten Gehäuse, bevor Sie die Brücke löten (docs/electronics.md, „XT60 contact rule“).

Reihenfolge beim Scharfschalten ​

Die sichere Startreihenfolge (docs/electronics.md, Sicherheitsregeln):

  1. Logik ein (Einschalttaster). Pi und XIAO starten, die Servos bleiben kraftlos.
  2. Roboter liegt in der Ruhepose, Beine eingeklappt.
  3. Stecken Sie den Loop-Key ein. Die Servos erhalten noch keine Pulse: Die Output-Enable-Leitung des PCA9685 ist gesperrt.
  4. Starten Sie ros2 launch strido_bringup robot.launch.py: Ruhepose, dann ein Aufstehen in 3 s.

Stecken Sie den Stecker nie ein, während Positionsbefehle laufen: Alle zwölf Servos würden gleichzeitig springen.

Sicherungen: Sie schützen den Draht, nicht das Gerät ​

Eine Sicherung soll verhindern, dass ein Draht bei einem Kurzschluss überhitzt. Ihr Nennwert muss beides erfüllen:

Iload≤Ifuse≤Iwire

(Laststrom, Nennwert der Sicherung und der Strom, den der Draht tragen kann).

SicherungNennwertSchütztLast im ungünstigsten FallDrahtgrenze
Haupt (ATO)25 AW02, W03, W04/front, W04/rear (14 AWG)23,6 A (Servo + Logik)32 A
Logik (ATO)7,5 AW09, W10, W11 und die Logik-Masserückleitungen W24, W04/logic (18 AWG)2,74 A16 A

Die „Drahtgrenze“ ist die des dünnsten Drahts hinter der Sicherung. Der Logik-Sicherungshalter wird über seine eigene 14-AWG-Leitung versorgt, die in der Rückschale an W02 gespleißt ist; so liegt kein Draht dünner als 14 AWG allein hinter der 25-A-Sicherung, und alles nach der 7,5-A-Sicherung hat mindestens 18 AWG. (Ein früheres Design verwendete dort einen 60 mm langen 18-AWG-Abgriff: nur durch die 25-A-Sicherung abgedeckt, über den 16 A dieses Drahts, weshalb er ersetzt wurde.)

W01 vom Akkueingang zur Hauptsicherung ist ungesichert, wie die eigene Leitung des Akkupacks. Der Sicherungshalter sitzt am hinteren WAGO-Bus, wo seine 14-AWG-Leitungen Platz zum Biegen haben, etwa 0,15 m vom Akkueingang entfernt; daher wird W01 so kurz gehalten, in Spiralschlauch und fern von beweglichen Teilen. Details: Kabelmanagement.

Spannungsregler: die richtige Spannung erzeugen ​

WandlerTypAusgangNennwertVersorgt
Hobbywing UBEC-10A ×2Schaltregler (Abwärtswandler), 2–6S Eingang6,0 V (Jumper offen)je 10 A Dauer, 15 A Spitzeje 6 Servos
Pololu D36V50F5Schaltregler (Abwärtswandler), 5,5–50 V Eingang5 V ± 4 %5,5 APi 5 (und über USB: XIAO, LiDAR)
XIAO ESP32-S3 on-boardLinearregler3,3 VgeringPCA9685 VCC, LSM6DSOX, INA260 VS, LCD

Warum Schaltregler ​

Zwei Gesetze liegen jeder Zahl auf dieser Seite zugrunde. Das ohmsche Gesetz verknüpft die Spannung über einem Widerstand mit dem Strom durch ihn, und elektrische Leistung ist Spannung mal Strom:

V=IR,P=VI=I2R=V2R

Ein Linearregler ist ein veränderlicher Widerstand in Reihe mit der Last: Der volle Laststrom fließt durch ihn, während an ihm die Spannungsdifferenz abfällt, also verheizt er Ploss=(Vin−Vout)I. 7,4 V bei 3 A auf 5 V abzusenken würde verschwenden:

Ploss=(7.4V−5V)×3A=7.2W

Das ist mehr, als der Pi selbst im Mittel verbraucht. Ein Buck-Wandler (Abwärts-Schaltregler) zerhackt den Eingang mit einem Transistor und glättet ihn mit einer Spule und einem Kondensator. Ein idealer Buck mit Tastgrad D liefert Vout=DVin, und weil Energie erhalten bleibt, gilt VinIin=VoutIout/η mit Wirkungsgrad η: Er wandelt Leistung um, statt sie zu verheizen. Die Verifikation nimmt 90 % Wirkungsgrad an (converter_efficiency: 0.9). Zurückgerechnet auf den Akkustrom bei der niedrigsten Akkuspannung werden aus den 15,8 W Spitze des Logikzweigs bei 5 V:

Ipack=PoutηVpack=15.8W0.9×6.4V≈2.74A

Gegen diesen Wert werden Schalter, INA260 und Logiksicherung geprüft.

Dropout ​

Ein Buck kann nur abwärts wandeln. Sein Ausgang bleibt etwas unter dem Eingang, wenn sich der Eingang dem Sollwert nähert. Mit leerem Akkupack (6,4 V) und 10 A fällt die 6,0-V-Servoschiene voraussichtlich auf etwa 5,4 V ([ESTIMATE] in rails.servo_6v). Das ist ein Grund, warum eine 7,4-V-Servoschiene aus 2S unmöglich ist, wie docs/bom/sources.md anmerkt.

Die 5-V-Versorgung des Pi ​

Der Pi 5 wird über seine GPIO-5-V-Pins (2 und 4, Masse an 6 und 14) versorgt, nicht über USB-C. Das umgeht USB Power Delivery, daher weiß der Pi nicht, dass seine Versorgung 5 A liefern kann. Teilen Sie es ihm mit:

bash
sudo rpi-eeprom-config --edit        # add:  PSU_MAX_CURRENT=5000

Ohne diese Einstellung begrenzt der Pi den Strom, den seine USB-Ports ziehen dürfen, und an diesen Ports hängen LiDAR und XIAO.

Drahtquerschnitt und Spannungsabfall ​

AWG-Nummern (American Wire Gauge) werden kleiner, je dicker der Draht ist. Der Widerstand eines Leiters wächst mit seiner Länge L und sinkt mit seinem Querschnitt A:

R=ρLA

mit dem spezifischen Widerstand von Kupfer ρ≈1.72×10−8Ωm. Für 18 AWG gilt ρ/A=1.72×10−8Ωm/0.82×10−6m2≈21mΩ/m, der Wert in der Tabelle. Dicker Draht hat einen geringeren Widerstand, erwärmt sich also weniger (P=I2R) und verliert weniger Spannung.

QuerschnittKupferfläche (ca.)Widerstand (ca.)In der Prüfung verwendete StrombelastbarkeitVerwendet für
14 AWG2,1 mm²8,3 mΩ/m32 AAkku-Hauptstrang W01–W04, Leitung des Logik-Sicherungshalters
18 AWG0,82 mm²21 mΩ/m16 AUBEC-Ausgangsverlängerungen W05/W06, Bus-Brücken W07/W08, Logikzweig W09–W11, Logikmassen W24 und W04/logic
20 AWG0,52 mm²33 mΩ/m11 AUBEC-Ausgangsleitungen
22 AWG0,33 mm²53 mΩ/m7 APi-5-V-Versorgung W12, Servokabel (die eigenen 260-mm-Servokabel, auf Länge gekürzt; keine Verlängerungen), Signale

Die Werte der Strombelastbarkeit stammen aus wire_ampacity_a in hardware/electronics.yaml. Sie sind für kurze Strecken im Chassis an freier Luft bewusst konservativ.

Der Spannungsabfall folgt dem ohmschen Gesetz, ΔV=IR, und der Strom fließt hin und zurück, also zählen beide Leiter. Derselbe Strom erwärmt den Draht mit P=I2R: Die Verlustleistung wächst mit dem Quadrat des Stroms, weshalb der Hochstrom-Servozweig die dicksten, kürzesten Drähte bekommt.

Die folgenden Längen stammen aus der Zuschnittliste in der Verkabelungsprüfung. Die Zuschnittlänge als Kupfer im Stromkreis anzusetzen ergibt eine obere Schranke.

  • W05, UBEC vorne zum WAGO-Bus: 18-AWG-Paar, verlegt 190 mm, zugeschnitten 222 mm, bei 10 A.

    R=0.222m×21mΩ/m≈4.7mΩ per conductorΔV≈10A×4.7mΩ×2≈93mV,P≈(10A)2×9.3mΩ≈0.93W
  • Der Stromzweig eines Servokabels: das eigene rot/braune 22-AWG-Paar des Servos vom Servo zu seinem WAGO-Paar, ohne Verlängerung. Das längste ist das der Hüfte vorne links, 60 mm bis zu seinem Kabelbinder plus 88 mm bis zur WAGO = 148 mm verlegt, beim Blockierstrom von 3,5 A.

    R=0.148m×53mΩ/m≈7.8mΩ per conductorΔV≈3.5A×7.8mΩ×2≈55mV

    Eine 300-mm-Verlängerung aus demselben Draht, wie sie der Roboter früher verwendete, hätte etwa 0,11 V zusätzlich gebracht, und pro Servo einen Stecker und eine Buchse.

  • W12, die Pi-Versorgung: 2 × 22 AWG parallel pro Schiene, verlegt 104 mm, zugeschnitten 123 mm, 1,6 A pro Draht (0.123m×53mΩ/m≈6.5mΩ pro Draht).

    ΔV≈1.6A×6.5mΩ×2≈21mV

Kurze, ausreichend dicke Drähte halten jeden Abfall deutlich unter 0,2 V. Die Pi-Versorgung ist trotzdem doppelt ausgeführt, weil der Pi unter 4,63 V Unterspannung meldet und die untere Toleranz des Spannungsreglers bereits 4,8 V beträgt.

Leistung messen: der INA260 ​

Der INA260 ist ein Strom-, Spannungs- und Leistungsmonitor mit eingebautem 2-mΩ-Shunt-Widerstand. Er sitzt high-side im Logikzweig: Der Strom tritt an VIN+ ein und an VIN− aus, und der Chip misst die winzige Spannung über seinem internen Shunt, Vshunt=IRshunt, und teilt durch den bekannten Wert Rshunt=2mΩ, um den Strom zu erhalten. Bei den 2,74 A des Logikzweigs sind das nur 5.5mV, und der Shunt setzt I2R≈15mW um.

Was er misstWozu
Busspannung an VIN− (= Akkuspannung abzüglich kleiner Verluste)die Warnung bei niedrigem Akkustand (6,8 V) und die Abschaltung (6,4 V)
Strom des Logikzweigs (Auflösung 1,25 mA, bis 15 A)Logik-Leistungsaufnahme in /battery_state

Den Servostrom sieht er nicht, der über den Arming-Port an ihm vorbeifließt. Seine Aufgabe ist hier vor allem die des Voltmeters, das den Akkupack schützt. Die Firmware verweigert daher das Ansteuern der Servos, wenn der INA260 auf I²C an Adresse 0x41 nicht antwortet: Ohne ihn gibt es keine Unterspannungsabschaltung.

Masseführung ​

Alle Domänen teilen sich eine Masse, sternförmig am Akkueingang verbunden (W04: Akkueingang − → Massestern daneben → beide UBEC-Eingänge in 14 AWG und die Schaltermasse in 18 AWG). Die Massen von Spannungsregler und INA260 gehen an die Schaltermasse, die Massepins des Pi an den Spannungsregler.

Eine gemeinsame Masse ist wichtig, weil ein Signal nur eine Spannung relativ zur Masse ist. Der 3,3-V-Puls des PCA9685 muss vom Servo gegen dieselbe Referenz gemessen werden. Ein Sternpunkt verhindert, dass die großen Servo-Rückströme durch die dünnen Logikmassen fließen. Täten sie es, würden die 21 A von sechs blockierten Servos die Logikreferenz um I × R verschieben und könnten Signale verfälschen.

Selbsttest ​

  1. Welche Komponenten schaltet das Ziehen des Loop-Keys ab, und welche laufen weiter?
  2. Warum darf die Logiksicherung 7,5 A haben, aber nicht 20 A?
  3. Schätzen Sie den Spannungsabfall (hin und zurück) von W06 (18-AWG-Paar, verlegt 151 mm) bei 10 A.
  4. Warum verweigert die Firmware ohne den INA260 das Ansteuern der Servos, obwohl der INA260 keinen Servostrom misst?
  5. Warum wird der Pi über zwei 5-V-Pins statt über einen versorgt?
Antworten
  1. Der Loop-Key öffnet den Servozweig, sodass die UBECs und alle 12 Servos stromlos werden. Der Logikzweig (Pi, XIAO, Sensoren, LCD) läuft weiter.
  2. Die Sicherung darf nicht über dem liegen, was der geschützte 18-AWG-Draht tragen kann (16 A). 7,5 A liegt über der Last von 2,74 A und unter 16 A; bei 20 A würde der Draht überhitzen, bevor die Sicherung auslöst.
  3. R≈0.151m×21mΩ/m≈3.2mΩ pro Leiter; ΔV≈10A×3.2mΩ×2≈63mV (mit der Zuschnittlänge von 180 mm als obere Schranke etwa 76 mV).
  4. Er misst die Akkuspannung. Ohne ihn kann die Unterspannungsabschaltung nicht arbeiten, und der Akkupack könnte tiefentladen werden.
  5. Um den Strom pro 22-AWG-Draht und Dupont-Kontakt (je etwa 1,6 A) und den Spannungsabfall zu halbieren, damit der Pi über seiner Unterspannungsschwelle bleibt.

Weiterführende Literatur ​

MIT-Lizenz. Mechanik abgeleitet von Yertle (Jerome Graves). CAD, Simulation und native Tests sind kein Hardware-Nachweis – siehe Verifikation.