Forum: Mikrocontroller und Digitale Elektronik ESP8266 stört ADC


von Cyclon (Gast)


Angehängte Dateien:

Lesenswert?

Moin Moin,
ich glaube, ich habe hier ein "kleines" Layout-Problem mit einem ESP8266 
und einem STM32 auf der selben Platine.

Ich will euch kurz meine Leidensgeschichte erläutern.
Das System besteht aus zwei Platinen: Einmal der mit dem STM32, ESP8266 
und USB-UART Wandler und einer zweiten Platine mit mehrere Opamps, die 
eine Spannung im unteren mV Bereich um etwa 13fach verstärken.
Der STM32 ließt die verstärkten Spannungen und gibt sie per Uart-USB an 
den PC weiter.

Das Problem, mit dem ich mich jetzt bereits knappe zwei Wochen rumärgere 
ist, dass der interne ADC des STM32, wie wild um mehrere 100mV schwankt 
- und dass obwohl ich die entsprechenden Eingäge des OpAmps auf Masse 
gelegt habe.

Mein Oszi zeigte, dass ich starke Spannungsschwankungen auf den 
Versorungsleitungen und Masseflächen! habe (Masse vom Oszi an Masse an 
einer Ecke der Platine geklemmt und die Prüfspitze irgendwo anders auf 
der Platine an Masse gehalten).
Erste Vermutung war, dass ich beim Layout des Step-Down Wandlers, mit 
dem ich das System Versorge, Mist gebaut habe und der mir irgendwie die 
Masse hochzieht. Also mehrere Kondensatoren auflöten. Als das nichts 
gebracht hat, wurde der Wandler halt einfach mal gegen einen 
Linearreagler getauscht. Ergebnis: Auch nichts...
Zweiter Schritt: Mal den PC und das Netzteil an die selbe Steckdose 
hängen, könnte ja sein, das irgendeine Art Ausgleichsströme fließen. 
Ergebnis: Schwankungen auf der Masse sind verschwunden, aber 
Versorgungsspannung und Ausgänge der OpAmps rauschen noch stark.
Also noch mehr Kondensatoren und die Opamp zusätzlich von der normalen 
Spannungsversorgung abgeklemmt und eine extra stabilisierte und 
gefilterte Spannung erzeugt. Hat nix gebracht...
Dann halt einen Tiefpass ins Ausgangsignal. Ergebnis: Immer noch nicht 
besser.
Nächster Gedanke war, dass die Platine sich irgendwelche Frequenzen über 
die externen Kabel einfängt. Also alle Kabel eingekürzt: Ergebnis: 
Nichts...
Einziges nicht kürzbares Kabel was das am USB-Anschluss. Aus lauter 
Verzweifelung habe ich das gegen eines, was mal bei so einem 3€ 
Billig-Gerät aus China dabei war, getauscht. Und siehe da, laut Oszi nur 
noch Schwankungen von 6mV auf den OpAmp Ausgängen. Ebenso auf der 
Spannungsversorgung.

Der ADC springt dennoch über 100mV hin und her.

Heute mein letzte verwzeifelt Versuch: Alles abschalten, was nicht 
gebraucht wird. Das Wifi-Modul zu erst.
Und kaum ist das Ding aus, ist der ADC wunderbar stabil und genau.

Ich habe gerade richtig Lust, die Platine an die Wand zu schmeißen!!

Aber immerhin habe ich eine Menge über OpAmps, Filter und USB-Kabeln 
gelernt :) Auch, wenn ich die Platinen jetzt wegschmeißen und neu machen 
kann, so verbastelt wie die nun sind...

Was ich allerdings noch nicht verstanden habe, ist wie es der ESP8266 
schafft, den ADC zu stören. Sämtliche Spannungen sehen auf dem Oszi 
absolut stabil aus.

Sitzt der zu dicht am STM32 und streut da Funkwellen rein?
Hat vielleicht jemand einen Tipp für mich, was ich am Layout ändern 
könnte, um das zu beheben?

von K. J. (Gast)


Lesenswert?

Wenn ich das richtig sehe läuft Deine Spannungsversorgung unter der 
Antenne des ESPs Längs, und das Massefeld ebenfalls als Masse-Insel

D.H. du hast da zwei Antennen unter die Antenne des ESPs gebaut.

von Antworter (Gast)


Angehängte Dateien:

Lesenswert?

Wieviele Lagen hat das Layout? Mit 4 Lagen oder mehr werden die 
HF-Eigenschaften deutlich besser.
Auf jeden Fall ist das Layout nicht gut so. Masseflächen sind zerissen 
und nicht auf andere Layer angebunden (google dazu auch Via Fencing und 
Via Stitching). Ich hab als Beispiel eine Leiterbahn hervorgehoben, vmtl 
GND. Auf den ersten Blick sehe ich zuwenige Ablock-ICs und die wenigen 
schlecht angebunden, siehe zB 
http://www.lothar-miller.de/s9y/categories/14-Entkopplung
Die Versorgung der Komponenten ist auch nicht sauber. Gerade der ESP 
zieht gern hohe Spitzenströme von ein paar hundert mA, das muss das 
Layout hergeben. Siehe auch 
http://akizukidenshi.com/download/ds/espressifsystems/0B-ESP8266__Hardware_User_Guide__EN_v1.1.pdf
Application Notes und Datenblätter zu allen verwendeten Bauteilen besser 
lesen, zB Hardwarebeschaltung STM32. Beispiel: 
http://www.st.com/content/ccc/resource/technical/document/application_note/c9/19/d7/b8/6b/0e/4c/d3/DM00051986.pdf/files/DM00051986.pdf/jcr:content/translations/en.DM00051986.pdf
Der Quarz am STM32 ist zB nicht gut.
Die Antenne sollte vielleicht besser am Rand und weit weg von allem 
Anderen sitzen und kein Kupfer unter sich haben. Beispiel: 
http://colinkarpfinger.com/blog/2010/the-dropouts-guide-to-antenna-design/

Das nur so auf die Schnelle. Solltest du das Layout überarbeiten wollen, 
geh am Besten etappenweise vor und präsentier die Zwischenstände (mit 
Schaltplan) hier, dann kann man die Fehler vorm Bestellen finden.

von Klaus (Gast)


Lesenswert?

Cyclon schrieb:
> Was ich allerdings noch nicht verstanden habe, ist wie es der ESP8266
> schafft, den ADC zu stören.

Einen Sender (8266) neben einen empfindlichen ADC zu bauen ist ein 
Problem. Und der Sender ist direkt im Chip, der koppelt zusätzlich zur 
Antenne über jeden Pin nach draußen. Da gibts nur Abstand und 
Abschirmen.

MfG Klaus

von Cyclon (Gast)


Lesenswert?

Danke für die Links, werde versuchen das alles in der nächsten 
Layout-Version zu berücksichtigen.

> Wieviele Lagen hat das Layout? Mit 4 Lagen oder mehr werden die
> HF-Eigenschaften deutlich besser.

Die Platine hat hat zwei Lagen. Die eine habe ich nur ausgeblendet, da 
sie keine Bauteile enthält sondern nur Verbindungsleitungen und große 
Masseflächen und daher die Sicht auf die wichtigen Dinge versperren 
würde.

>Wenn ich das richtig sehe läuft Deine Spannungsversorgung unter der Antenne des 
ESPs Längs, und das Massefeld ebenfalls als Masse-Insel
>D.H. du hast da zwei Antennen unter die Antenne des ESPs gebaut.

Das habe ich auch schon befürchtet, allerdings liegt zwischen Antenne 
und meinen Leiterbahnen ja noch die Platine des ESP, und die hat von 
unten auch eine durchgehende Massefläche. Daher hatte ich 
gedacht/gehofft, dass die genug abschirmt.

>Gerade der ESP zieht gern hohe Spitzenströme von ein paar hundert mA, das muss 
das Layout hergeben.

Stimmt, am ESP habe ich Kondensatoren vergessen.

von Hmm (Gast)


Lesenswert?

Bei dem Layout kein Wunder, denn effektiv hast du keine Massefläche.

Mach eine der Lagen als kompakte Massefläche, die andere nur Bauteile 
und Signalleitungen.
Die kompakte Massefläche darf nicht zerschnitten sein. Wenn dürfen nur 
sehr kleine Löcher rein. Tillsitter, kein Emmentaler - wenn du in die 
Massefläche reinmusst, müssen die Wege um das Loch so kurz wie möglich 
sein. Der Sinn ist, einen niederimpedanten GND auf der gesamten Platine 
zur Verfügung zu haben.

Die Masseflutungen von Leerrämuen kannst du dir schenken, das bringt 
nichts. Das tut man nur, wenn der Hersteller der Leiterplatte das 
benötigt.

Besser ist 4 Lagig, die Innenlagen machst du als VCC <> GND Flächen 
(unzerschnitten).

Bei der Antenne des ESP wirst du die Massefläche freistellen müssen. 
Dazu bitte das Datenblatt des ESP betrachten. Sinnvoll dürfte sein, den 
ESP an den Rand zu setzen.

Beim Schaltregler gibt es besondere Anforderungen an das Layout, bitte 
auch das beachten.

Und ja, zweilagig ist möglich, ich habe Platinen mit Schaltregler und 
16-Bit-ADC auf 2 Lagen umgesetzt, ohne viel Sauereien in den Rohwerten. 
Es ist aber schwieriger als auf 4 Lagen.

von Stefan F. (Gast)


Lesenswert?

Kannst du eventuell die WLAN Schnittstelle während der ADC Messung 
pausieren? So weit ich mich erinnere, hat der ESP8266 dafür extra eine 
Funktion. Die ist zwar eher dafür gedacht, den interen ADC des ESP8266 
nutzbar zu machen, aber ich ich schätze, dass sie auch in deinem Fall 
helfen könnte.

von Michael U. (amiga)


Lesenswert?

Hallo,

Der ESP8266-03, den er wohl benutzt, hat keine Abschirmung. Der läßt 
sich auch von extern sehr gut stören, mit einer Zuleitung zwischen 
elektronischem Halogen-"Trafo" und Lampe in 15cm Abstand bekommt er z.B. 
keinen WLAN-connect mehr obwohl das Programm selbst läuft. Ich denke, 
man kann auch den Umkehrschluß ziehen: er saut auf allen möglichen 
Frequenzen direkt vom Chip nach draußen.
Ein geschirmtes ESP-Modul ließ sich im obigen Fall nicht stören, auch 
mit der Leitung in 3cm Abstand nicht.

Unabhängig davon halte ich auch die GND-Fläche unter der Keramikantenne 
für die Reichweite nicht so sinnvoll.

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.