ESP32-S3 Strommessungs-Layout: Shunt, Kelvin-Routing und Verstärkerplatzierung

Shunt-Widerstand, Kelvin-Leiterbahnen und Messeingänge auf einer ESP32-S3-Motorträgerplatine so entflechten, dass Motormasserauschen die ADC-Messwerte nicht verfälscht.

Ein Strommesssignal auf einer ESP32-S3-Motorträgerplatine ist ein winziges Millivoltsignal, das unmittelbar auf einem hochdynamischen Motorrückstrom im Ampere-Bereich aufsetzt. Am Shunt-Widerstand fallen bei Volllast typischerweise nur 50 bis 100 mV ab; die als Bezugspunkt dienende Motormasse springt zeitgleich mit massiven Schalttransienten; und der interne ADC des ESP32-S3 teilt sich seine analoge Massereferenz mit den empfindlichen Kamera- und Mikrofoneingängen der Edge-AI-Verarbeitung. Teilt sich der Messrückpfad auch nur wenige Millimeter Kupfer mit dem Leistungsrückstrom des Motors, wird der ADC-Wert komplett verfälscht — und auf diesen hochintegrierten Platinen äußert sich Masserauschen meist in unerklärlichen Inferenzfehlern, lange bevor es als Restwelligkeit im Netzteil auffällt. Die Lösung ist primär eine Frage der geometrischen Anordnung: Platzieren Sie den Shunt unmittelbar am Treiber-IC, führen Sie die Messleitungen als echtes Kelvin-Differenzialpaar, halten Sie die Messmasse als saubere Insel getrennt vom Motorstrom und synchronisieren Sie die ADC-Abtastung exakt auf die Mitte der PWM-Einschaltphase fernab der Schaltflanken.

Die nachfolgende Checkliste liefert präzise Platzierungs- und Entflechtungsregeln für die gängigen Motortreiber-Familien, während die DFM-Checkliste alle fertigungstechnischen Vorgaben für Stückliste und Fertigungszeichnung zusammenfasst. Richtlinien zur übergeordneten Platinenzonierung und zum Lagenaufbau finden Sie in unserer Trägerplatinen-Layout-Checkliste; Details zur Reglerauslegung und Massetrennung bietet der Leitfaden zur Power Integrity; und Maßnahmen gegen abgestrahltes Schaltrauschen deckt der Beitrag zur PWM-zu-HF-Isolation ab.

Warum die Strommessung auf ESP32-S3-Motorplatinen scheitert

Das Messsignal ist winzig, die Störspannung riesig. Ein typischer Shunt-Widerstand liegt zwischen 10 und 100 mΩ, sodass bei 1 A Phasenstrom lediglich 10 bis 100 mV Differenzspannung abfallen. Der Rückpfad des Motors hingegen führt mehrere Ampere getakteten Strom durch Leiterbahnen, die unvermeidbare parasitäre Widerstände und Induktivitäten besitzen; jeder ohmsche Spannungsabfall (IR-Drop) in diesem Rückpfad überlagert sich direkt dem Messsignal und wird vom ADC als scheinbarer Stromfehler interpretiert. Der Baustein brennt dabei nicht durch — vielmehr arbeitet die Firmware mit verfälschten Stromwerten. Beim ESP32-S3 potenziert sich das Problem, da die interne ADC-Masse gleichzeitig als Bezugspotenzial für den DVP-Kamerabus und das I2S-MEMS-Mikrofon dient. Eine verrauschte Messmasse hebt somit die gesamte analoge Referenz an und erzeugt Inferenzfehler im neuronalen Netz, die wie Software-Bugs wirken, jedoch rein layoutbedingt sind.

Die Ursache ist fast immer eine gemeinsame Rückleitungsimpedanz (Shared Return Impedance). Teilt sich die Masseleitung des Messverstärkers das Kupfer mit dem Motorrückstrom, erzeugt der Motorstrom einen transienten Spannungsabfall über dieser Fläche, den der Verstärker ungefiltert als Messsignal verstärkt. Die Abhilfe besteht in einer echten Vierleiter-Kelvin-Verbindung — zwei getrennte Pfade für den Laststrom, zwei eigenständige Pfade für die Spannungsmessung — sowie einer eigenständigen Messmasse, die von jeglichem Motorstrom freigehalten wird.

Shunt-Platzierung und Auswahl des Widerstandswerts

Platzieren Sie den Shunt-Widerstand so nah an den Strommess-Pins des Treiber-ICs, wie es die Footprints zulassen. Der Nennwert des Shunts ist ein klassischer Zielkonflikt zwischen Signal-Rausch-Abstand und thermischer Verlustleistung: Ein größerer Widerstand erzeugt eine höhere Spannung und erleichtert die ADC-Auflösung, dissipiert jedoch erhebliche Wärmeleistung (I²R); ein kleinerer Shunt reduziert die Verlustwärme, drückt das Signal jedoch gefährlich nahe an den Rauschflur des ADCs. Für einen 2A-Motor an einem S3-ADC stellt ein 50mΩ-Shunt einen bewährten Ausgangspunkt dar — er liefert 100 mV bei Volllast und erzeugt moderate 200 mW Verlustleistung, die ein 1206-SMD-Gehäuse sicher bewältigt. Bei kleinen Gimbal-Motoren mit 0,5 A bieten 100 bis 200 mΩ mehr Signalhub. Wählen Sie die Bauform stets nach der thermischen Belastbarkeit, nicht nur nach dem Nennstrom: Ein 0805-Shunt benötigt bei 200 mW bereits großflächige Kupferflächen zur Wärmeabfuhr, während eine 1206-Bauform diese Leistung problemlos aufnimmt.

Verwenden Sie ausnahmslos Shunts mit einer Toleranz von 1 % oder besser. Der Gesamtfehler der Messkette setzt sich aus Shunt-Toleranz, Verstärker-Offset und ADC-Linearitätsfehlern zusammen. Ein herkömmlicher 5%-Widerstand macht die Messung für eine sensorlose Vektorregelung (FOC) oder präzise Drehmomentsteuerung unbrauchbar. Vermerken Sie 1 % oder 0,5 % verbindlich in der Stückliste.

Das Kelvin-Prinzip: Vierleiter-Messung am Motortreiber-Shunt

Ein Kelvin-Anschluss nutzt vier separate Kontaktstellen am Shunt: zwei Anschlüsse führen den hohen Laststrom hinein und hinaus, zwei weitere greifen die Millivolt-Spannung hochohmig ab. Die Messabgriffe kontaktieren den Widerstandskörper an dessen Innenseite, getrennt von den stromführenden Lötflächen. Dadurch fließt der Laststrom nicht über den Messpunkt, und ohmsche Kontakt- und Zuleitungswiderstände verfälschen das Ergebnis nicht.

Der häufigste Layout-Fehler besteht darin, die Messleitung einfach an der Außenseite des großen Strom-Pads abzugreifen — der Motorstrom erzeugt über dem Pad-Kupfer einen Spannungsabfall, der unweigerlich mitgemessen wird. Die saubere Lösung ist ein Footprint mit dedizierten Kelvin-Pins oder das Abführen der Leiterbahn an der Innenkante der Lötfläche im exakten 90°-Winkel zur Stromflussrichtung.

Routing der Kelvin-Leiterbahnen: Breite, Länge, Lage und Vias

Führen Sie die Kelvin-Leitungen als streng gekoppeltes Differenzialpaar: kurz, schmal und parallel auf einer einzigen Lage direkt über der ungeschnittenen Masseebene. Die Gesamtlänge vom Shunt bis zum Verstärkereingang sollte unter 10 mm liegen — jeder zusätzliche Millimeter erhöht das Risiko elektromagnetischer Einkopplungen. Eine Leiterbahnbreite von 6 bis 8 mil ist optimal; da es sich um einen hochohmigen Verstärkereingang handelt, fließt praktisch kein Strom. Vermeiden Sie Durchkontaktierungen (Vias) auf den Messleitungen; falls unvermeidbar, setzen Sie ein symmetrisches Via-Paar mit durchgehender Masseunterstützung. Betten Sie das Leitungspaar nach Möglichkeit beidseitig in Begleitmasseleitungen (Ground Guard Traces) ein, um Gleichtaktstörungen abzuwehren.

Halten Sie die Kelvin-Bahnen strikt von der getakteten VM-Leiterplatte und dem PWM-Schaltknoten fern. Der hochohmige Eingang reagiert extrem empfindlich auf kapazitive Einstreuungen aus schaltenden Kupferflächen. Müssen Leistungsebenen gekreuzt werden, hat dies rechtwinklig (90°) auf kürzestem Weg zu geschehen.

DRV8313: Unabhängige PGND-Pins und externe Shunts je Low-Side

Der Dreiphasentreiber DRV8313 stellt für jeden Low-Side-Transistor einen separaten PGND-Pin (PGND1, PGND2, PGND3) bereit. Dadurch kann jede Motorphase einen eigenen externen Shunt mit dediziertem Kelvin-Rückpfad erhalten. Platzieren Sie den Shunt direkt zwischen dem Low-Side-Ausgang und dem zugehörigen PGND-Pad; führen Sie die Messbahnen direkt von den Shunt-Pads zum Messeingang. Durch die getrennten PGND-Pins wird die Messmasse einer Phase niemals vom Rückstrom der anderen Phasen durchflossen — dies ist die rauschärmste Messtopologie für BLDC-Baugruppen. Schließen Sie das PGND-Kupfer erst am Shunt an die Motormasse an, keinesfalls direkt am Treiber.

TMC2209: Interne vs. externe Shunt-Widerstände

Der Schrittmotortreiber TMC2209 bietet eine interne Strommessoption, die externe Shunts und aufwendiges Kelvin-Routing überflüssig macht, die Messgenauigkeit jedoch auf die Fertigungstoleranz der chipinternen Widerstände beschränkt. Bei Nutzung der internen Messung sind die Pins BRA und BRB über kurze, breite Bahnen direkt an das Massepapad des Treibers anzubinden. Bei Verwendung externer Shunts werden diese dicht an die Treiber-Pins gesetzt und BRA/BRB als Kelvin-Paar zu den Shunt-Pads geführt. Die interne Lösung reicht für StallGuard-Blockiererkennung und einfache Stromgrenzen aus; für mikroschrittgenaue Vektorregelung oder sensorbasierte AI-Feedbackschleifen ist der externe Shunt mit Kelvin-Entflechtung zwingend erforderlich.

A4988: Low-Side-Shunt-Layout

Der Schrittmotortreiber A4988 nutzt externe Low-Side-Shunts an den Pins RS1 und RS2 (typisch 0,1 Ω). Platzieren Sie die Widerstände unmittelbar zwischen den Treiberausgängen und Masse; führen Sie die Messleitung vom Widerstand direkt an den RS-Pin. Da der A4988 über eine geringere interne Störunterdrückung verfügt als modernere TMC-Treiber, schlägt ein unsauberes Masse-Layout hier sofort mit bis zu 20 % Messabweichung durch. Halten Sie die RS-Bahnen ultrakurz und fern von den 3,3V-Logiksteuerleitungen.

Externer Messverstärker INA240: Platzierung und Eingangsfilterung

Für hochpräzise Messungen unter extremen PWM-Schaltflanken empfiehlt sich der Strommessverstärker INA240. Er glänzt mit 105 dB Gleichtaktunterdrückung (CMRR) und 1,1 MHz Bandbreite. Platzieren Sie den INA240 maximal 5 mm vom Shunt entfernt, um die differenziellen Eingangsleitungen kurz zu halten. Schalten Sie ein schnelles Differenzial-RC-Filter (10–22 Ω Serienwiderstände mit 1–2,2 nF C0G-Kondensator) unmittelbar vor die Pins IN+ und IN-, um hochfrequentes Schwingen zu dämpfen, ohne die Signalanstiegszeit zu verschleifen. Vermeiden Sie überdimensionierte Filterglieder (wie 100 Ω mit 0,1 µF), da diese die 1,1MHz-Bandbreite auf wenige kHz abwürgen und gravierende Phasenverzögerungen bei der Motorregelung erzeugen. Führen Sie den Ausgang über eine kurze, geschirmte Bahn an den S3-ADC. Der REF-Pin des INA240 definiert den Nullstrom-Ausgangspegel und muss an einer stabilen, rauschfreien Referenzspannung liegen.

Messmassen-Strategie: Solide Insel mit Einpunktverbindung

Die Messmasse muss als durchgehende, solide Kupferinsel ausgeführt werden, die alle shunt- und verstärkerseitigen Massepunkte zusammenfasst. Es darf unter keinen Umständen Motorleistungsrückstrom über diese Kupferfläche fließen. Diese Messmasse wird an genau einem einzigen Punkt — dem zentralen Sternpunkt am Stromeingang — an die digitale Masse angebunden. Treffen Motorrückstrom und Messmasse erst am Sternpunkt zusammen, kann der Motorstrom keinen Spannungsabfall auf der Messmasse induzieren.

S3-ADC-Integration: Kanalwahl und Abtastzeitpunkt

Der ESP32-S3 besitzt zwei 12-Bit-SAR-ADCs (ADC1 und ADC2) mit DMA-Unterstützung bis 100 kSPS. Verwenden Sie für die Strommessung ausschließlich Kanäle von ADC1 — ADC2 teilt sich interne Schaltungsteile und Anschlüsse mit der Wi-Fi-Funkstufe und liefert bei Funkaktivität stark fehlerhafte Werte. Ebenso entscheidend wie das Routing ist der Abtastzeitpunkt: Die Messung muss exakt im beruhigten Abschnitt des PWM-Zyklus erfolgen, niemals während einer Schaltflanke. Erfolgt die Abtastung während der Flanke, misst der ADC lediglich induktive Spannungsspitzen. Triggern Sie die ADC-Wandlung über den MCPWM-Timer exakt in der zeitlichen Mitte der Einschaltphase (Center of PWM on-time). Ein sauberes Hardware-Layout liefert bei falschem Abtastzeitpunkt ebenso unbrauchbare Daten wie ein schlechtes Layout.

Routing-Regeln für die Strommessung auf ESP32-S3-Baugruppen

Routing-Regeln für die Strommessung auf ESP32-S3 Trägerplatinen

Verbindliche Entflechtungsvorgaben für Shunts, Kelvin-Paare, Messverstärker und Masseverbindungen.

  • Shunt-Platzierung: Shunt maximal 5 mm von den Mess-Pins des Treibers entfernt anordnen; je kürzer die Bahn, desto geringer die Störeinkopplung.
  • Shunt-Dimensionierung: Richtwert 50 mΩ für 2A-Motoren (100 mV Messsignal, 200 mW Verlustleistung, 1206-Bauform); bei Kleinströmen hochskalieren.
  • Toleranzvorgabe: 1 % oder 0,5 % in der Stückliste vorschreiben; 5 %-Widerstände sind für Vektorregelung oder KI-Feedback unbrauchbar.
  • Kelvin-Vierdrahtanschluss: Vier getrennte Kontaktflächen am Shunt — zwei für den Laststrom, zwei innenliegende für die Spannungsabnahme.
  • Leiterbahnbreite: 6 bis 8 mil; aufgrund des hochohmigen Messeingangs dient die Breite der Fertigungssicherheit, nicht der Stromtragfähigkeit.
  • Leiterbahnlänge: Maximal 10 mm vom Shunt zum Verstärkereingang; längere Bahnen fangen Schaltstörungen ein.
  • Lagenführung: Auf einer einzigen Lage über ungeschnittener GND-Ebene führen, Vias nach Möglichkeit vermeiden.
  • Differenzialführung: Beide Kelvin-Bahnen eng gekoppelt parallel führen, idealerweise beidseitig mit Masseleitungen geschirmt.
  • DRV8313-Entflechtung: Unabhängige PGND-Pins für phasenspezifische externe Shunts nutzen; PGND erst am Shunt mit der Motormasse verbinden.
  • TMC2209-Konfiguration: Bei Drehmomentregelung oder KI-Feedback externe Shunts mit Kelvin-Layout nutzen; interne Messung nur für einfachen Blockierschutz.
  • A4988-Anbindung: 0,1Ω-Shunts dicht an den Treiber setzen; RS-Bahnen kurz halten und von 3,3V-Logikleitungen trennen.
  • INA240-Eingangsfilter: Verstärker dicht an den Shunt setzen (≤5 mm); schnelles RC-Glied (10–22 Ω + 1–2,2 nF C0G) direkt vor IN+/IN− bestücken.
  • INA240-Referenzierung: REF-Pin an eine absolut saubere Spannungsreferenz legen, niemals an eine getaktete Schiene.
  • Masseinsel: Geschlossene Messmasse-Kupferfläche anlegen, die nur an einem einzigen Sternpunkt mit Digital-GND verbunden ist.
  • ADC-Kanal: Zwingend ADC1 für Strommessungen nutzen; ADC2 kollidiert hardwareseitig mit dem Wi-Fi-Betrieb.
  • Abtastsynchronisation: Exakt in der Mitte der PWM-Einschaltphase wandeln; Triggerung über den MCPWM-Timer sicherstellen.

DFM-Checkliste für Strommessungs-Schaltungen

DFM-Checkliste für Strommessungs-Layouts auf ESP32-S3 Trägerplatinen

Herstellungsspezifische Fertigungsparameter zur Sicherung der Messgenauigkeit und Bestückungsqualität in der Serie.

  • Symmetrische Shunt-Pads: Separate Kelvin-Messabgriffe innerhalb des Footprints vorsehen und Kupferanbindungen an beiden Lastpads thermisch exakt symmetrisch ausführen, um den Grabsteineffekt (Tombstoning) beim Reflowlöten zu verhindern.
  • Flussmittelrückstände: Hochwertige No-Clean-Lotpaste oder eine automatische Baugruppenreinigung vorschreiben, damit ionische Rückstände keine leitenden Nebenschlüsse über mΩ-Shunts bilden.
  • Stücklistenangaben (BOM): Herstellerteilenummer (MPN), 1 % oder 0,5 % Toleranz sowie einen niedrigen Temperaturkoeffizienten (TCR <50 ppm/°C) verbindlich hinterlegen.
  • Bauform und Verlustleistung: Gehäusegröße nach der Verlustleistung wählen (1206 ab 200 mW; 0805 nur bei ausreichender Kupferentwärmung).
  • Fertigungsabstände: Mindestens 4,5/4,5 mil Leiterbahn/Abstand einhalten, wenn für Motorströme eine 70µm-Endkupferkaschierung (2 oz) gewählt wird.
  • Via-Vorgaben: Falls Vias im Messpfad unvermeidlich sind, ein symmetrisches Via-Paar mit geschlossener Referenzebene einsetzen; Vias-in-Pad am Shunt strikt vermeiden.
  • Filterkondensator-Dielektrikum: Für das Eingangsfilter am INA240 zwingend C0G/NP0-Kondensatoren vorschreiben, um kapazitive DC-Bias-Verluste auszuschließen.
  • Treiber-Kühlpad: 0,3mm-Thermal-Vias im 1,0–1,2mm-Raster unter dem Treiber-Kühlpad vorsehen; unterseitig mit Lötstopplack abdecken (tented/plugged); AXI-Voiding unter 15 % fordern.
  • Einheitliche Kupferstärke: 70 µm (2 oz) Außenkupfer für VM und PGND über die gesamte Lage einheitlich spezifizieren; keine Mischkupferstärken anfragen.
  • Dokumentierte Messmasse (Net Tie): Die Einpunktverbindung zwischen Messmasse und Digitalmasse im Layoutplan eindeutig kennzeichnen, damit CAM-Prüfungen die Trennung nicht als Unterbrechung fehlinterpretieren.
  • Nutzenfertigung (Panel): CAM-Ingenieure anweisen, Mehrfachnutzen stets in gleicher Orientierung mit 15 mm Randsteg anzuordnen, damit empfindliche Shunts beim Funktionstest nicht an Leistungsstufen benachbarter Platinen grenzen.
  • Prüfplan-Vorgabe für ADC: Im Testplan dokumentieren, dass die Strommessung auf ADC1 liegt, um Pin-Kollisionen bei HF-Funktionstests zu vermeiden.

Fazit

Ein präzises Strommess-Layout auf einer ESP32-S3-Motorträgerplatine ist eine Frage disziplinierter Geometrie: Platzieren Sie den Shunt unmittelbar am Treiber, führen Sie die Messbahnen als Kelvin-Differenzialpaar, halten Sie die Messmasse als saubere Insel getrennt vom Motorstrom und tasten Sie das Signal exakt im Ruhezustand des PWM-Zyklus ab. Werden diese vier Grundregeln befolgt, misst der ADC den tatsächlichen Motorstrom statt Schaltrauschen — und dieselbe Massedisziplin hält zugleich die Sensorschnittstellen der Edge-AI-Inferenz störungsfrei.

Entwickeln Sie eine ESP32-S3-Motorträgerplatine mit präziser Stromregelung? Nutzen Sie unseren Service für PCB Assembly oder fordern Sie direkt ein Angebot an — unser Fertigungsteam prüft Ihr Kelvin-Routing, die Shunt-Entwärmung und ADC-Anbindung im Rahmen einer fundierten DFM-Analyse.

Häufig gestellte Fragen (FAQ)

Warum liefert der ADC meines ESP32-S3 verfälschte Motorstromwerte?

Die häufigste Ursache ist eine gemeinsame Rückleitungsimpedanz zwischen Messmasse und Motorleistungsmasse. Der geschaltete Motorstrom erzeugt über dem gemeinsamen Leiterbahnabschnitt einen Spannungsabfall im Millivolt-Bereich, den der Messverstärker fälschlicherweise als Signal interpretiert. Die Lösung besteht in einem Vierleiter-Kelvin-Anschluss direkt am Shunt und einer separaten Messmasse-Insel, die den Motorstrom vollständig meidet.

Sollte beim TMC2209 die interne Strommessung oder ein externer Shunt genutzt werden?

Nutzen Sie die interne Strommessung für einfachen StallGuard-Blockierschutz und grobe Stromgrenzen. Für präzise Drehmomentregelung, geräuscharmen Mikroschrittbetrieb oder sensorbasierte AI-Regelkreise ist ein externer Shunt mit Kelvin-Layout unverzichtbar, da chipinterne Widerstände breitere Toleranzen aufweisen und keinen sauberen Vierleiterabgriff ermöglichen.

Wo sollte der Strommessverstärker INA240 platziert werden?

Platzieren Sie den INA240 maximal 5 mm vom Shunt entfernt und bestücken Sie ein schnelles Differenzial-RC-Filter (10–22 Ω mit 1–2,2 nF C0G) unmittelbar an den Eingangspins IN+ und IN-. Je kürzer die differenziellen Eingangsleitungen sind, desto wirksamer arbeitet die 105dB-Gleichtaktunterdrückung des Bausteins. Verbinden Sie den Ausgang über eine kurze, geschirmte Bahn mit dem S3-ADC und legen Sie den REF-Pin an eine rauschfreie Referenz.

Welcher interne ADC des ESP32-S3 eignet sich für die Motorstrommessung?

Verwenden Sie ausschließlich ADC1. ADC2 teilt sich interne Schaltungen und GPIOs mit dem Wi-Fi-Funkteil und liefert während aktiver Funkübertragungen unbrauchbare Messwerte. ADC1 arbeitet stabil und sollte synchron über den MCPWM-Timer exakt in der Mitte der PWM-Einschaltphase abgetastet werden, um Schalttransienten auszublenden.

Wie wird verhindert, dass Motorströme die Messmasse kontaminieren?

Richten Sie eine eigenständige, geschlossene Messmasse-Insel ein, die erst am zentralen Sternpunkt (am Stromeingang) an die Digitalmasse angebunden wird. Über diese Messmasse darf kein Motorstrom fließen. Der Motorleistungsstrom fließt über eigene Kupferflächen direkt zum Pufferelko zurück und berührt die Messmasse nur am definierten Sternpunkt.