Ich habe den TX eines Atmega328P, der mit 5V betrieben wird, an den RX eines ESP-01 angeschlossen, der mit 3,5V betrieben wird, und zwar über einen Spannungsteiler: 1,8kOhm in der Leitung, 3,9kOhm nach Masse. Hin und wieder wird ein Byte falsch übertragen und ich frage mich, ob es an einer parasitären Kapazität vor dem Eingang des ESP-01 liegt. Der 1,8kOhm-Widerstand würde mit dieser Kapazität einen Tiefpassfilter bilden. Nun braucht man nach Nyquist für n Baud mindestens eine Bandbreite n/2, also folgt für 250kBaud ein fc >= 125kHz. Daraus folgt nach C = 1 / (2 * pi R fc) für den parasitären C ein Wert von 707pF. Das halte ich für völlig ausgeschlossen, da die Verbindungen nur ca. 8cm lang sind (wenn auch über drei Steckverbindungen). Aber es gibt auch Leute, die als Faustregel sagen, für eine störungsfreie Übertragung muss die Eckfrequenz fünfmal höher als die Baudrate sein, das wären hier 1,25MHz. Dann würde für C folgen 70,7pF. Das scheint mir immer noch viel, oder?
Das lässt sich mit einem Oszilloskop vernünftiger untersuchen, als mit einer Diskussion.
Kapazitätsbeläge: RG-58 (koax) ~100 pF/m "Doppelader" 30-50 pF/m
Justin S. schrieb: > 70,7pF. Alles, was da nach dem Komma kommt, kannst du getrost weglassen. Das ändert sich schon, wenn du nur mit der Hand in der Nähe wedelst.. > Ich habe den TX eines Atmega328P, der mit 5V betrieben wird, an den RX > eines ESP-01 angeschlossen Wie lang sind die Kabel/Leitungen? Wie sind sie verlegt? Wie ist die zugeörige Masse geführt? > über einen Spannungsteiler: 1,8kOhm in der Leitung, 3,9kOhm nach Masse. Damit belastest du den TX-Ausgang schon merklich. Ich würde zuallererst mit einem Oszilloskop sicherstellen(!!), dass die Flanken- und das Bittiming am RX-Pin gut aussehen. Bekommst du auch Übertragungsfehler, wenn du mit (deutlich) niedrigerer Baudrate kommunizierst?
:
Bearbeitet durch Moderator
Stefan ⛄ F. schrieb: > Das lässt sich mit einem Oszilloskop vernünftiger untersuchen, als mit > einer Diskussion. Lothar M. schrieb: > Ich würde zuallererst mit einem Oszilloskop sicherstellen(!!), dass > die Flanken- und das Bittiming am RX-Pin gut aussehen. Ich hab ein Rigol DS 1054 Z, bekomme es aber nicht hin, damit das Signal am RX-Pin zu sehen. Es ist singulär, ich muss jedesmal in der fertigen Software per Menü auslösen. Mir fehlen dazu die Kenntnisse beim 1054. Ich hatte vorher nur mit Analog-Oszis zu tun und da war alles ganz einfach. Jetzt sehe ich nicht, wie ich triggern kann. Hat da jemand zufällig einen Link für mich oder einen Tipp, wie ich den Trigger einstellen muss (vermutlich mit Speichern)? Hmmm schrieb: > Taktquelle? 16Mhz Quarz. Lothar M. schrieb: > Wie lang sind die Kabel/Leitungen? Wie sind sie verlegt? Wie ist die > zugeörige Masse geführt? Ca. 8cm insgesamt, davon wenige cm auf Lochrasterplatine, sonst Ader mit relativ dicker Isolierung, so dass keine andere Ader näher als 1mm kommen kann. Die Masse ist nicht genau daneben geführt. Lothar M. schrieb: > Bekommst du auch Übertragungsfehler, wenn du mit (deutlich) niedrigerer > Baudrate kommunizierst? Das kann ich schwer testen, weil ich dazu die Software umschreiben und neu auf den Arduino laden muss und den ESP-01 ausbauen, umprogrammierne und wieder einbauen. Das alles hat früher schon oft genug nicht gut funktioniert, so dass ich es mir gerne ersparen würde.
Lothar M. schrieb: >> über einen Spannungsteiler: 1,8kOhm in der Leitung, 3,9kOhm nach Masse. > Damit belastest du den TX-Ausgang schon merklich. Das sind doch weniger als 1mA. Ich hatte gedacht, ich gehe auf 330 Ohm und 820 Ohm und wäre dann bei 4,3 mA. Man ließt im Web, dass Ausgänge niemals über 40mA, besser unter 20mA belastet werden sollten. Bei 4,3 mA wäre ich da weit drunter; wo ist das Problem bei den jetzigen <1mA?
Justin S. schrieb: > Es ist singulär, ich muss jedesmal in der fertigen > Software per Menü auslösen. Wieso das denn? Im Gegensatz zum analogen Oszilloskop braucht das digitale kein sich regelmäßig wiederholendes Signal. Serielle Kommunikation beginnt mit einer fallenden Flanke. Also stellst du das Gerät so ein, dass auf der fallenden Flanke z.B. bei 2V triggert. Ich benutze Spannungsteiler aus 1kΩ + 2,2kΩ, damit sind 115.200 Baud auf jeden Fall tadellos machbar. Das ist nicht weit von deinen Werten entfernt. Deine 250.000 Baud halte ich im konkreten Fall sogar für weniger problematisch weil die 16 Mhz CPU Takt des AVR glatt durch 250.000 teilbar sind. Ebenso sind die 80 Mhz des ESP glatt durch 250.000 teilbar. Justin S. schrieb: > wo ist das Problem bei den jetzigen <1mA? Ich sehe keins. Im Gegenteil, ich habe schon mal die ISP Pins bei 4 Volt mit 30 mA (durch besonders helle LED) belastet, ohne dass sie sich negativ ausgewirkt haben. Da war ich selbst erstaunt.
Hallo, sind die Drähte verdrillt? Masse beider Boards die Selbe? Wenn nein, dann Massepotential ausgleichen. Klappt das mit niedrigeren Baudraten 125k ... 9600 ?
Justin S. schrieb: > Hat da jemand zufällig einen Link für mich oder einen Tipp, wie ich den > Trigger einstellen muss Variante 1: du sendest einfach mal dauernd und drückst dann auf den Autoset-Knopf ;-) Variante 2: du setzt den Trigger auf die fallende Flanke und den Triggerpegel auf 1,5V. Dann sollte das klappen. Denn genau so funktioniert die SIO auch: fallende Flanke am RX erkennen und dann die Pegel abtasten. > (vermutlich mit Speichern)? Irrweg. > Die Masse ist nicht genau daneben geführt. Hier wirds interessant... Denn diese Masse gehört natürlich als Rückleitung zum Signalpfad mit dazu. > Das kann ich schwer testen, weil ich dazu die Software umschreiben und > neu auf den Arduino laden muss und den ESP-01 ausbauen, umprogrammierne > und wieder einbauen. Nein du musst nur den Arduino "neu laden", denn es juckt ja das Signal nichts, ob der ESP richtig reagiert... > ich muss jedesmal in der fertigen Software per Menü auslösen. Erhöhe die Fehlerwahrscheinlichkeit. Sorge dafür, dass dein Programm andauernd sendet. Nur dann kannst du einen Fehler finden. Denn wen der Fehler schon dann auftritt, wenn du kaum was sendest, dann ist noch was im Busch. Justin S. schrieb: > Man ließt im Web, dass Ausgänge > niemals über 40mA, besser unter 20mA belastet werden sollten. Damit der Pin nicht kaputt geht. Dein Problem ist aber nicht, dass Pins kaputt gehen... > wo ist das Problem bei den jetzigen <1mA? Vergiss es. Ich denke nicht, dass das hier konkret ein Problem ist. Stefan ⛄ F. schrieb: > benutze Spannungsteiler aus 1kΩ + 2,2kΩ, damit sind 115.200 Baud ... > Das ist nicht weit von deinen Werten entfernt. Dein Spannungsteiler ist Faktor 2 niederohmiger. Und du bist Faktor 2 langsamer. Also Faktor 4 unkritischer... ;-) Justin S. schrieb: > Der 1,8kOhm-Widerstand würde mit dieser Kapazität einen Tiefpassfilter > bilden. Korrekt ist es so: die Parallelschaltung aus 1k8 und 3k9 würde diesen Tiefpass bilden, denn diese Parallelschaltung ist der Innenwiderstand des spanungsgeteilten Signals. Und dann nächster Schritt mit den 100pF, die du angenommen hast: t = RC = 1k2*100p = 120ns. Diese 120ns sind also etwa die Flankenanstiegszeit. Das ist bei einer Bitdauer von 4µs vernachlässigbar. Fazit: dein Problem liegt woanders. Nochmal zurück zum Anfang: Justin S. schrieb: > Hin und wieder wird ein Byte falsch übertragen Wie oft? Ist es immer das selbe?
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Also Faktor 4 unkritischer... Ja, das meinte ich mit "nicht weit entfernt". Bei mir sahen die Signale mit 115.200 noch sehr gut aus, dann wird es bei ihm wegen dem geringen Unterschied (Faktor 4) kaum in Richtung "sehr schlecht" gehen. Aber nachgucken ist besser. Vielleicht ist da ja noch etwas anderes, was die Kommunikation beeinträchtigt.
Stefan ⛄ F. schrieb: > Serielle Kommunikation beginnt mit einer fallenden Flanke. Also stellst > du das Gerät so ein, dass auf der fallenden Flanke z.B. bei 2V triggert. Lothar M. schrieb: > du setzt den Trigger auf die fallende Flanke und den > Triggerpegel auf 1,5V. Ja vielen Dank, das ist es. Lothar M. schrieb: > Korrekt ist es so: die Parallelschaltung aus 1k8 und 3k9 würde diesen > Tiefpass bilden, denn diese Parallelschaltung ist der Innenwiderstand > des spanungsgeteilten Signals. Und dann nächster Schritt mit den 100pF, > die du angenommen hast: t = RC = 1k2*100p = 120ns. Diese 120ns sind also > etwa die Flankenanstiegszeit. das ist ebi einer Bitdauer von 4µs > vernachlässigbar. Er sagt mir Rise=69ns, daraus errechne ich dann C=56pF. Das ist wenig. Lothar M. schrieb: > Dein Problem liegt woanders. Hmm, vielleicht wird anders herum ein Schuh draus: die Leitungen fangen sich zu viele Störungen ein und ich sollte parallel zum 3,9k-Widerstand z.B. einen 47pF Kondensator (oder gleich 100pF) schalten?
Justin S. schrieb: > Hmm, vielleicht wird anders herum ein Schuh draus: die Leitungen fangen > sich zu viele Störungen ein und ich sollte parallel zum 3,9k-Widerstand > z.B. einen 47pF Kondensator (oder gleich 100pF) schalten? Solangs da ein "vielleicht" steht, ist das Murks. Die Lösung ist: du musst den Fehler finden und dann dient "möglicherweise" so ein Kondensator der Problembehebung. Aber solange du nicht weißt, warum und wo es überhaupt klemmt, ist das wie wenn du Bauchweh hast und einfach mal ein Pflaster irgendwo draufklebst in der Hoffnung, das könne helfen... Denn generell müssen solche digitalen Verbindungen mit dieser überschaubaren Geschwindigkeit auch ohne Bastelkondensatoren funktionieren. Justin S. schrieb: > Lothar M. schrieb: >> du setzt den Trigger ... > Ja vielen Dank, das ist es. De nada! Wie sieht das Signal aus? Klingelt da was?
:
Bearbeitet durch Moderator
Hier mal ein Überblick über einen ganzen String
Justin S. schrieb: > Hier mal ein Überblick über einen ganzen String Das ist zu eng gequetscht, da kann man die steigenden und fallenden Flanken nicht erkennen. Aber immerhin ist zu sehen, dass die HIGH und LOW Pegel gültig sind. Jetzt wäre natürlich viel spannender, wie sie hinter dem Spannungsteiler aussehen, nicht davor.
Stefan ⛄ F. schrieb: > Jetzt wäre natürlich viel spannender, wie sie hinter dem > Spannungsteiler aussehen, nicht davor. Das ist direkt am "RX"-Pin des ESP-01 abgegriffen, mit dem Originaltastkopf auf 1:10 eingestellt. Stefan ⛄ F. schrieb: > Das ist zu eng gequetscht, da kann man die steigenden und fallenden > Flanken nicht erkennen. Ja. War mein erster Versuch eines Screenshots. Außerdem wollte ich das Decoding vollständig zeigen. Kann man eigentlich die vertikale Position der Decoding-Ausgabe verändern?
Ich würde einen Augenmustertest machen. - am Oszilloskop auf zwei bis drei Signalwechsel einstellen - Oszilloskop auf nachleuchtenden Betrieb einstellen - großen Datenblock mit Zufallszahlen überzragen Es sollte ein Augenmuster mit möglichst großem freien Bereich zwischen den Flanken entstehen. Siehe: https://de.m.wikipedia.org/wiki/Augendiagramm
Justin S. schrieb: > Das ist direkt am "RX"-Pin des ESP-01 abgegriffen, mit dem > Originaltastkopf auf 1:10 eingestellt. Dann ist die Schaltung vielleicht fehlerhaft. Ich lese am Bild fast 4 Volt HIGH Pegel ab! Stelle das mal so ein, dass man die Spannungspegel besser erkennen kann. Das Gerät kann sie ja sogar messen und anzeigen.
Stefan ⛄ F. schrieb: > Ich lese am Bild fast 4 Volt HIGH Pegel ab! Ich hab das Gitter für den Screenshot etwas zu dunkel eingestellt, aber es werden 500mV/Div gezeigt und vertikal werden insgesamt 8 Divisions gezeigt, folglich von ganz oben bis ganz unten 4 Volt. Unten und oben fehlen etwa 0.3 Volt, also sind es etwa 3.4 Volt, wie geplant. Stefan ⛄ F. schrieb: > Das Gerät kann sie ja sogar messen und anzeigen. Und wie?
Stefan ⛄ F. schrieb: > Dann ist die Schaltung vielleicht fehlerhaft. Ich lese am Bild fast 4 > Volt HIGH Pegel ab! Da hast du dich um eins verzählt. Das Signal ist weniger als 7 Kästchen hoch und bei 500mV/div ist das doch nicht so verkehrt. Der Nullpunkt hängt irgendwo in der Wallachei. Das macht das Ablesen nicht einfacher.
Justin S. schrieb: > also sind es etwa 3.4 Volt, wie geplant. Ok, in der Tat konnte ich das Raster kaum erkennen. > Das Gerät kann sie ja sogar messen und anzeigen. Und wie? Ich kenne dieses Gerät nicht, dabei kann ich dir nicht helfen. Was wir jetzt brauchen ist ein Bild, auf dem man horizontal einen kleineren Ausschnitt sieht, und zwar mindestens eine steigende Flanke und eine fallende. Wir wollen sehen, wie sauber und steil sie sind.
Im Bild ist ein Bit bei 250kBaud zu sehen (Impulsdauer 4µs). Wenn ich weiter hineinzoome, erhalte ich Rise=60.5ns und Fall=67.5ns
Justin S. schrieb: > Im Bild ist ein Bit bei 250kBaud zu sehen Super, das meinte ich. Sieht tadellos aus. Du hast ganz sicher kein elektrisches Problem.
So, da haben wir zumindest mal eine Störung. Nach den Zeichen "0,2," sollte wieder "0" kommen, d.h. die fallende Flanke sollte eigentlich bis unten fallen und nicht zwei Bits lang bei ca. 2.6V bleiben. Der Fehler liegt offenbar nicht an zu geringer Bandbreite. PS.: Ich kann hier die Dubletten leider nicht löschen. Es sind nur zwei verschiedene Bilder (Sysop?).
Hallo Justin Schön mal wieder einen Thread zu haben, wo sich Leute helfen lassen wollen. Da macht es Spass mitzulesen :) Justin S. schrieb: > Aber es gibt auch Leute, die als Faustregel sagen, für eine > störungsfreie Übertragung muss die Eckfrequenz fünfmal höher als die > Baudrate sein, das wären hier 1,25MHz. Dann würde für C folgen 70,7pF. > Das scheint mir immer noch viel, oder? Nein, eigentlich sagen die Meisten sogar 10x Baudrate. Der Hintergrund ist trivial (wenn man es weiss ;): Nyquist bezieht sich ja auf Sinussignale, Baudraten meist auf digitale, also rechteckige, Signale. Damit das passt nutzt man aus, dass ein Rechteck durch eine (unendliche) Summe von Sinussignalen verschiedener Frequenzen dargestellt werden kann (https://de.wikipedia.org/wiki/Fourierreihe). Nicht von den Formeln abschrecken lassen ;) Je höher die Frequenzen der "Oberwellen" sind, desto besser wird der Rechteck abgebildet. Wann man "genug" hat ist halt Geschmackssache ;) Hope that helps /regards
Andreas H. schrieb: > Da macht es Spass mitzulesen :) Freut mich sehr. Ich bin auch wirklich daran interessiert dazuzulernen. Bis heute hab ich das Rigol, wohl aus Respekt, nur entstaubt, jetzt macht es sogar Spaß. Lothar M. schrieb: > t = RC = 1k2*100p = 120ns das zusammen mit der gemessenen Flankensteilheit von ca. 65ns ergibt zusammen mit fc = 1 / (2 pi t) für fc einen Wert von 2,45 MHz und das ist natürlich extrem im grünen Bereich. Ich tippe mittlerweile auf Schwankungen der Spannungsversorgung, da der ESP-01 ja in seinem Strombedarf zwischen 5mA und 0.5A abrupt wechseln kann ...
Justin S. schrieb: > So, da haben wir zumindest mal eine Störung. Wie das vorbildlich angefertigte Oszilloskopbild zeigt, wird die fallende Flanke durch irgend etwas vom vollständigen Fallen aufgehalten, um dann doch noch bis nach unten fallen zu können. mfg
Oszillographiere mal die beiden Betriebsspannungen 5 und 3,5 Volt.
Und gibt es irgendeine Möglichkeit, dass der "Eingang" RX in Wirklichkeit bidirektional ist und "dagegen schreibt"? Mir sieht das sehr nach einer Kollision zweier Signale aus. Die etwa 2,6 Volt sind ja im "verbotenen Bereich" zwischen hi und low.
Nichtverzweifelter schrieb: > Mir sieht das sehr nach einer Kollision zweier Signale aus. Die etwa 2,6 > Volt sind ja im "verbotenen Bereich" zwischen hi und low. Vielleicht, aber nur 2 Bits lang? Das wäre sehr merkwürdig. Nichtverzweifelter schrieb: > Oszillographiere mal die beiden Betriebsspannungen 5 und 3,5 Volt. Sehr schwierig, die 5V sind von einem 25kHz-Signal mit ca. 50mV-Ripple überlagert, an die 3.5V komme ich gerade gar nicht ran.
Mal eine Störung, bei der zusätzlich die 5V zu sehen sind
Justin S. schrieb: > Nichtverzweifelter schrieb: >> Mir sieht das sehr nach einer Kollision zweier Signale aus. Die etwa 2,6 >> Volt sind ja im "verbotenen Bereich" zwischen hi und low. > > Vielleicht, aber nur 2 Bits lang? Das wäre sehr merkwürdig. Wenn Du den RX-Pin des ESP vom Spannungsteiler abtrennen kannst und dann den das Scope an den Spannungsteiler hängst, dann würdest Du nur die "Effekte" des ATMega + Aufbau, aber nicht eventuelle Effekte des ESP, sehen. Das würde die Fehlerquelle deutlich einschränken, oder? /regards
Stefan ⛄ F. schrieb: > Du hast ganz sicher kein elektrisches Problem. Sehe ich auch so. Nichtverzweifelter schrieb: > Mir sieht das sehr nach einer Kollision zweier Signale aus. Sieht für mich auch so aus. Andreas H. schrieb: > Das würde die Fehlerquelle deutlich einschränken, oder? Ich würde einfach mal mit dem einen Tastkopf am Ausgang TX vom AVR und mit dem zweiten Tastkopf am Eingang RX vom ESP messen (also ist da der 1k8 dazwischen). Dann sieht man an den Pegeln ganz deutlich, wer wann was treibt.
:
Bearbeitet durch Moderator
Ich habe mir die 5V noch etwas globaler angesehen: Etwa alle 100ms gibt es eine deutliche Störung. Ist das vielleicht der ESP, der aus Protokollgründen regelmäßig ins WLAN senden muss? Jedenfalls steigt da die Spannung am ESP RX Eingang an und ist dabei deutlich verrauschter. Während der Störung ist der Ripple größer und hat eine andere Frequenz. Deswegen tippe ich mittlerweile auf den Spannungsregler. Am Ende der Störung ist der Ripple fast nicht vorhanden und die Ripple-Frequenz hoch und schnell wieder abnehmend auf die ca. 25kHz. Wenn dieses Ende mit einem zu übertragenden Bit ungünstig zusammenkommt, entsteht eine Fehlübertragung ...
Justin S. schrieb: > Deswegen tippe ich Mein Tipp: tippe nicht so früh auf irgendwas. Du hast dich hier im Thread schon einige Male vertippt... ;-) > Ich habe mir die 5V noch etwas globaler angesehen: Etwa alle 100ms gibt > es eine deutliche Störung. Miss mal "Masse gegen Masse". Ja richtig: lass mal die Masseklemme dort wo sie jetzt ist und miss mal die 5V-GND des AVR, also von "Masse ESP" zu "Masse AVR". Was siehst du da? > Etwa alle 100ms gibt es eine deutliche Störung. Ist das vielleicht der ESP, > der aus Protokollgründen regelmäßig ins WLAN senden muss? Das musst du wissen, du hast das Programm dafür geschrieben. BTW: es könnte auch helfen, wenn du mal ein Foto vom ganzen Mess- und Schaltungsaufbau zeigst...
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Mein Tipp: tippe nicht so früh auf irgendwas. Du hast dich hier im > Thread schon einige Male vertippt... ;-) Und bevor ich diesen Fehler jetzt noch einmal mache (und viele neue), höre ich für heute auf und bin morgen früh wieder dabei. Vielen Dank an die netten Helfer!
Lothar M. schrieb: >> Etwa alle 100ms gibt es eine deutliche Störung. Ist das vielleicht der ESP, >> der aus Protokollgründen regelmäßig ins WLAN senden muss? > Das musst du wissen, du hast das Programm dafür geschrieben. Dazu gerade in der Wikipedia gefunden, denn es lässt mir keine Ruhe (https://de.wikipedia.org/wiki/Wireless_Local_Area_Network): "Ein Wireless Access Point, oft in Form eines Routers, übernimmt die Koordination aller Clients und sendet in einstellbaren Intervallen (üblicherweise zehnmal pro Sekunde) kleine Datenpakete, sogenannte englisch „Beacons“ ‚Funkfeuer‘, an alle Stationen im Empfangsbereich." Das macht der ESP-01 also ganz von allein und dafür zieht er alle 100ms sehr viel Strom. Kann das jemand bestätigen?
Justin S. schrieb: > und dafür zieht er ... sehr viel Strom. Kann das jemand bestätigen? Ja. Das ist bekannt, da sind ein paar hundert mA fällig, die Versorgung muss dementsprechend gepuffert werden: https://www.ondrovo.com/a/20170207-esp-consumption/ https://esp32.com/viewtopic.php?t=2662
Andreas H. schrieb: > Je höher die Frequenzen der "Oberwellen" sind, desto besser wird der > Rechteck abgebildet. > Wann man "genug" hat ist halt Geschmackssache ;) Das ist weit weg von Geschmackssache. Auf einem gestörten Übertragungskanal nehmen die Störungen mit der Bandbreite zu. Wie hübsch die Rechtecke aussehen, ist völlig egal. Für den Empfänger ist entscheidend, dass der Störabstand ausreichend groß ist, d.h. dass die Augen weder durch die Bandbreitenbegrenzung noch durch die Störungen zugeschmiert werden.
Justin S. schrieb: > Das macht der ESP-01 also ganz von allein und dafür zieht er alle 100ms > sehr viel Strom. Es sind knapp 400mA - ob das "sehr viel" Strom ist, liegt im Auge des Betrachters.
Justin S. schrieb: > Das macht der ESP-01 also ganz von allein und dafür zieht er alle 100ms > sehr viel Strom. Kann das jemand bestätigen? Aber nur, wenn Du ihn im AP Mode betreibst... Eine WLAN STA sendet idR nur, wenn Daten übertragen werden. Da gibt's keine Beacons.
> Stefan ⛄ F. schrieb: >> Du hast ganz sicher kein elektrisches Problem. Lothar M. schrieb: > Sehe ich auch so. Ich bin mir inzwischen nicht mehr so sicher > Nichtverzweifelter schrieb: >> Mir sieht das sehr nach einer Kollision zweier Signale aus. Lothar M. schrieb: > Sieht für mich auch so aus. Eben deswegen. Vielleicht besteht eine unabsichtliche Verbindung zwischen dem Rx Eingang des ESP und einem anderen I/O Pin. Vielleicht eine Zinn-Brücke oder so.
Justin S. schrieb: > Etwa alle 100ms gibt > es eine deutliche Störung. Ist das vielleicht der ESP, der aus > Protokollgründen regelmäßig ins WLAN senden muss? Die Intervalle sehen sehr verdächtig danach aus. Ist dein Netzteil oder der Spannungsregler zu schwach? Alleine für den ESP musst du schon 500mA einkalkulieren (tatsächlich ist es etwas weniger).
Schnix schrieb: > Eine WLAN STA sendet idR nur, wenn Daten übertragen werden. Die Station muss sich (in der Standard Konfiguration) mindestens einmal alle 300 ms beim AP melden: "ich bin erreichbar". Ich würde gerne mal ein Fotos vom Aufbau sehen, insbesondere die Leitungsführung der Stromversorgung.
Beitrag #6911870 wurde vom Autor gelöscht.
Justin S. schrieb: > Ich habe mir die 5V noch etwas globaler angesehen: Etwa alle 100ms gibt > es eine deutliche Störung. Hast du die +5V auch gut mit Stützkondensatoren versehen? Und zwar bei allen +5V-Verbrauchern? Dabei ist auch die richtige Verdrahtung des GND sehr wichtig.
Nichtverzweifelter schrieb: > Und gibt es irgendeine Möglichkeit, dass der "Eingang" RX in > Wirklichkeit bidirektional ist und "dagegen schreibt"? > > Mir sieht das sehr nach einer Kollision zweier Signale aus. Die etwa 2,6 > Volt sind ja im "verbotenen Bereich" zwischen hi und low. Lothar M. schrieb: > Sieht für mich auch so aus. > > Ich würde einfach mal mit dem einen Tastkopf am Ausgang TX vom AVR und > mit dem zweiten Tastkopf am Eingang RX vom ESP messen (also ist da der > 1k8 dazwischen). Dann sieht man an den Pegeln ganz deutlich, wer wann > was treibt. Ich denke, das ist ein guter Gedanke, den ich noch verfolgen muss! Stefan ⛄ F. schrieb: > Vielleicht besteht eine unabsichtliche Verbindung > zwischen dem Rx Eingang des ESP und einem anderen I/O Pin. Vielleicht > eine Zinn-Brücke oder so. Heute vormittag hatte ich alles auseinander genommen, gereinigt und mit der Lupe inspiziert, gerade hinsichtlich einer ungewollten Verbindung zum RX des ESP. Bisher aber nichts gefunden ... Dietrich L. schrieb: > Hast du die +5V auch gut mit Stützkondensatoren versehen? Und zwar bei > allen +5V-Verbrauchern? Jeder Chip hat mindestens einen 1µF SMD dicht bei seinen Stromversorgungspins, der AVR auf jeder Seite einen. Zusätzlich sind über 600µF mittels fünf Elkos auf den Platinen verteilt. Natürlich könnte ich da noch aufstocken ... Dietrich L. schrieb: > Dabei ist auch die richtige Verdrahtung des GND sehr wichtig. Ja, das ist aber bei Lochraster auch eine Kunst. Ich habe für die Stromversorgungen und GND immerhin fast immer Draht mit 0.5mm² verwendet. Ich könnte noch ein paar Abkürzungen hinzufügen. Lothar M. schrieb: > Miss mal "Masse gegen Masse". Ja richtig: lass mal die Masseklemme dort > wo sie jetzt ist und miss mal die 5V-GND des AVR, also von "Masse ESP" > zu "Masse AVR". Was siehst du da? Ja, das ist ein weiterer Weg, den ich noch verfolgen muss! Keller schrieb: > Die olle Stromversorgung ! Scheint darauf hinauszulaufen. Habe ich noch irgendeinen Fehlersuchhinweis übersehen? Die Stromversorgung kommt von einem: DC-DC-Abwärtswandler LM2596S Eingangsspannung: 4V-35V Ausgangsspannung: 1,23V-30V Mindestdifferenz: 1,5V Eingangsstrom: 3A (max.) Konversionseffizienz: 92% Schaltfrequenz: 150kHz Ausgangswelligkeit: 30mA (max.) https://www.ebay.de/itm/164538302178 Der liefert 5V (für den AVR und diverse Chips) und für einen zusätzlichen: DC-DC-Abwärtswandler MP2307DN Eingangsspannung: 4,75-23V Ausgangsspannung: 1-17V Ausgangsstromstärke: 1,8A (max. 3A) Frequenz: 340kHz https://www.ebay.de/itm/184157588852 der wiederum nur für den ESP zuständig ist.
Beitrag #6912015 wurde vom Autor gelöscht.
Justin S. schrieb: > über 600µF mittels fünf Elkos auf den Platinen verteilt. Natürlich > könnte ich da noch aufstocken Nee lass mal. Wenn man es übertreibt versagt der Spannungsregler.
Justin S. schrieb: > ich gehe auf 330 Ohm > und 820 Ohm und wäre dann bei 4,3 mA. Man ließt im Web, dass Ausgänge > niemals über 40mA, besser unter 20mA belastet werden sollten. Bei 4,3 mA > wäre ich da weit drunter Spricht etwas dagegen, den Spannungsteiler so zu verändern? Jetzt wo klar ist, dass es kein Bandbreitenproblem gibt, würden niedrigere Widerstände 1) die Bandbreite leicht erhöhen und 2) die Robustheit gegenüber Hochfrequenzeinstrahlung verbessern. Der Strom am TX des Atmega328P würde von unter 1mA auf 4,3mA ansteigen.
Justin S. schrieb: > Spricht etwas dagegen, den Spannungsteiler so zu verändern? Ja: Damit arbeitest du an der Problemursache vorbei. Probleme die man nicht löst kommen immer irgendwann wieder hoch. Wenn deine Hose zu eng ist, ziehst du dann einfach so feste daran, bis du drin bist?
Stefan ⛄ F. schrieb: > Wenn deine Hose zu eng ist, ziehst du dann einfach so feste daran, bis > du drin bist? Meistens schon. Die Frage mit dem Spannungsteiler bezog sich darauf, was noch geändert wird, wenn das Problem gelöst ist. Die Datenübertragung dauert nämlich zu lang und ich würde gerne von 250kBaud auf 1MBaud gehen, um in einer Millisekunde 100 Bytes übertragen zu können und nicht nur 25. Oder soll ich für diese Spannungsteilersache einen eigenen Thread aufmachen? Es war ja zu Beginn hier doch sehr zentral.
Du kannst die Widerstände ruhig verringern, aber erst nachdem die Problemursache gelöst ist.
Justin S. schrieb: > Jetzt wo klar ist, dass es kein Bandbreitenproblem gibt, würden > niedrigere Widerstände 1) die Bandbreite leicht erhöhen und 2) die > Robustheit gegenüber Hochfrequenzeinstrahlung verbessern. Nebelkerzen werfen. Ersatzhandlungen durchführen. Ausreden suchen. 1) ist nicht nötig, weil es ja kein Bandbreitenproblem ist 2) ist nicht sicher, denn die Probleme können ja auch von der Masseführung kommen Der Witz ist: das Problem ist doch noch gar nicht erkannt. Man sieht nur Symptome. Selbsbewusste Frickler basteln da jetzt was drumrum, dass es dann "ausreichend gut geht". Deine Übertragungsstrecke ist nicht das Problem. Die Versorgung oder das WLAN, das da hineinfunkt oder wasauchsonstnoch da die Finger im Spiel hat, das ist das Problem. Funktioniert deine Kamera?
Stefan ⛄ F. schrieb: > ... aber erst nachdem die Problemursache gelöst ist. Lothar M. schrieb: > Nebelkerzen werfen. Ersatzhandlungen durchführen. Ausreden suchen. Ja, stimmt ja. Also habe ich tatsächlich mal GND und Spannungen an verschiedenen Stellen angesehen. Für GND ist die einfachste erklärende Regel des Gesehenen: Je weiter der Tastkopf von seiner der Krokodilklemme entfernt an eine der Masseleitungen gehalten wird, desto mehr mV auf den Spikes. Für die Versorgungsspannungen ist es komplizierter. Also habe ich zum Test mal das Hauptnetzteil ausgewechselt. Das Ergebnis sind die beiden Oszillogramme: Die gelbe Kurve bei beiden Diagrammen ist Vcc direkt am ESP, die blaue ist die Versorgungsspannung direkt am Ausgang des Hauptnetzteils. Im ersten Fall (wo man einen leichten Badewannenkurvenverlauf hineindeuten könnte) handelt es sich um Linearregler nach dem Motto 78xx, im zweiten um ein Schaltnetzteil.
Und so (blau) sieht das Signal am +OUT des LM2596S aus. Das ist übrigens einer der alle 100ms erfolgenden Beacons. Mittlerweile frage ich mich, warum das Ganze nahezu fehlerfrei funktioniert. Ich wollte doch nur einen sporadisch auftretenden Fehler beseitigen (um ihn wie ganz oben im Oszilloskop zu fassen zu kriegen, brauche ich teilweise eine Viertelstunde wildes Herumspielen in den Menüs der Software).
Justin S. schrieb: > desto mehr mV auf den Spikes. Gibt's das auch als Zahl oder gar als Bild? Justin S. schrieb: > brauche ich teilweise eine Viertelstunde wildes Herumspielen in den > Menüs der Software Du sollst die Software so schreiben, dass sie laufend selber was schickt. Dann musst du nicht in den Menüs herumtippen und auch keine Viertelstunde warten. Du müsstest übrigens überhaupt nicht mehr warten, denn solang du da so eine lausige Versorgung hast, wirst du auch Fehler haben. Aber ich kenne das von unseren Softies auch: statt systematisch einen Fehler zu suchen wird da wild herumprobiert. Irgendwann wird dann erklärt, dass man einen Würgaraund gefunden hat und der Fehler jetzt so selten auftritt, dass er nicht mehr relevant ist... Justin S. schrieb: > nur einen sporadisch auftretenden Fehler Klingt wie: nur die Spitze eines Eisbergs
:
Bearbeitet durch Moderator
Beitrag #6912654 wurde vom Autor gelöscht.
Abgesehen von dem oben nachgewiesenen Übertragungsfehler denke ich, ich habe beim Messen ähnliche Probleme wie z.B. hier Beitrag "Power Supply "glätten"". Vermutlich verwende ich die Tastköpfe falsch. Meine Schaltung ist und bleibt ohne Kontakt zu PE. Ich habe mit dem ESP-01 einen starken WLAN-Sender, der unglücklicherweise alle 100ms nicht nur mit voller Energie sendet, sondern in dieser Zeit auch abrupt viel Strom verbraucht. Das WLAN-Funksignal dürfte in allen Leitungen in der Nähe (alles ist zwischen 1cm und 7cm von der WLAN-Antenne entfernt ) zu sehen sein. Wenn ich den Tastkopf an den auf der Oberfläche des ESP-01 vorstehenden Vcc-Pin klemme und die Krokodilklemme der Masse des Tastkopfes an eine Masseleitung 2cm entfernt, dann habe ich ja auch das ca. 7cm lange Massekabel des Tastkopfs als Schleife in unmittelbarer Nähe der WLAN-Antenne. Tja, und so stellt sich mir die Frage, wie ich den im Tastkopf induzierten Strom von dem in den Leitungen meiner Schaltung unterscheiden soll. Klemme ich den ESP-01 ab, habe ich ja auch keinen großen Verbraucher mehr. Wenn ich mit zwei Tastköpfen arbeite und die zugehörigen Krokodilklemmen an zwei weit voneinander entfernten Massepunkten anschließe, dann fließt ja auch ein gewisser Strom durch die Koaxkabel und das Oszilloskop, oder nicht?
Justin S. schrieb: > Nun braucht man nach Nyquist Lass mal den ollen Nyquist erstmal schön in Ruhe. Überprüfe die Stabilität Deines Uart Clocks. Mehr als 2% Abweichung zwischen ESP und ATmega führt zu Fehlern. Flanken und Pegel direkt an den Eingängen des Chips messen, mit Oszi GND direkt am GND des jeweiligen Chips. Ist da alles okay, frage Dich welcher Art die Störungen sind. Was ist an dem Byte kaputt? Fehlt das komplett, weil es nicht rechtzeitig abgeholt wurde, oder meldet der Uart einen Frame Error?
Justin S. schrieb: > Tja, und so stellt sich mir die Frage, wie ich den im Tastkopf > induzierten Strom von dem in den Leitungen meiner Schaltung > unterscheiden soll. Tastkopf mit Massefeder verwenden: https://www.google.com/search?q=tastkopf+massefeder&tbm=isch Falls es nicht schon irgendo von irgendwem gesagt wurde: ein Foto vom Aufbau wäre für konkrete Tipps sicher auch sinnvoll..
Max M. schrieb: > Überprüfe die Stabilität Deines Uart Clocks. > Mehr als 2% Abweichung zwischen ESP und ATmega führt zu Fehlern. Getestet. Gut. > Flanken und Pegel direkt an den Eingängen des Chips messen, mit Oszi GND > direkt am GND des jeweiligen Chips. Getestet, Gut. > Ist da alles okay, frage Dich welcher Art die Störungen sind. > Was ist an dem Byte kaputt? > Fehlt das komplett, weil es nicht rechtzeitig abgeholt wurde, oder > meldet der Uart einen Frame Error? Siehe meine Oszilloskopien z.B. hier: Beitrag "Re: Störungen der Übertragung bei 250kBaud durch zu kleine Bandbreite?" Hier wurde öfter eine Kollision vermutet. Aber der ESP-01 empfängt über seinen RX-Pin und legt doch nicht mal kurz für 8µs einen Hi-Pegel auf den Eingang, oder ist da etwas bekannt?! Ich arbeite mit der Standard AT-Firmware. Lothar M. schrieb: > Tastkopf mit Massefeder verwenden: > https://www.google.com/search?q=tastkopf+massefeder&tbm=isch Ja, aber irgendwo fängts dann an, wackelig zu werden. Ich muss, um den Fehler zu erwischen, immer "Single" am Oszi drücken und das Signal dann inspizieren, ob ein Fehler aufgetreten ist. Wenn nicht, ein Menü in der Software wählen und wieder "Single" drücken u.s.w. Dabei dann mit der anderen Hand den Tastkopf samt Feder an die richtigen zwei Pins ohne Abrutschen und das Ganze im schlimmsten Fall 15 Minuten lang?
Die weit mehr als 100 mV Rauschen auf der Versorgungsspannung sind jedenfalls inakzeptabel.
Justin S. schrieb: > Aber der ESP-01 empfängt über > seinen RX-Pin und legt doch nicht mal kurz für 8µs einen Hi-Pegel auf > den Eingang, oder ist da etwas bekannt?! Nichts dergleichen ist mir bekannt
Stefan ⛄ F. schrieb: > Die weit mehr als 100 mV Rauschen auf der Versorgungsspannung sind > jedenfalls inakzeptabel. Ja. Im Beitrag Beitrag "Re: Störungen der Übertragung bei 250kBaud durch zu kleine Bandbreite?" hatte ich ja die Ausgänge von zwei verschiedenen Hauptnetzteilen gezeigt, die über ein längeres Kabel an den Eingang des von mir im Beitrag Beitrag "Re: Störungen der Übertragung bei 250kBaud durch zu kleine Bandbreite?" gezeigten DC-DC-Konverters auf Basis des LM2596S gehen. Bei beiden Netzteilen zeigen sich die heftigen negativen Spikes. Da wird also impulsartig Strom gezogen und die Netzgeräte reagieren nicht schnell genug, so dass die Spannung geringfügig einbricht. Natürlich fällt mir eine Kombi aus Drossel und Elko direkt vor dem DC-DC-Konverter ein, damit das längere Kabel nicht so starke Verschutzungen womöglich sendet. Natürlich hat der DC-DC-Konverter direkt am Eingang einen 100µF Elko und viel hilft nicht immer viel, aber vielleicht würde die Drossel zwischen Kabel und DC-DC-Konverter ja schon reichen? Klar, das betrifft nicht das Falsche-Bits-Problem ...
Justin S. schrieb: > Lothar M. schrieb: >> Tastkopf mit Massefeder verwenden: >> https://www.google.com/search?q=tastkopf+massefeder&tbm=isch > Ja, aber irgendwo fängts dann an, wackelig zu werden. Es gibt auch Massefedern und Tastkopfspitzen zum Anlöten. Und man kann dahingehend auch selber tätig werden: https://community.element14.com/technologies/test-and-measurement/b/blog/posts/building-solderable-in-circuit-oscilloscope-probes Und es gibt Tastkopfhalter mit Zentralklemmung: Beitrag "Quelle für Tastkopf-Halterung" > Ich muss, um den Fehler zu erwischen, immer "Single" am Oszi drücken und > das Signal dann inspizieren, ob ein Fehler aufgetreten ist. Wenn nicht, > ein Menü in der Software wählen und wieder "Single" drücken u.s.w. Wie gesagt: du must den Fehler automatisieren oder einfach schauen, ob du noch immmer diese Spikes auf der ganen Schaltung hast. Denn die sind ja auch leicht zu sehen, ohne dass du 1 einziges Byte überträgst, oder nicht? Wie ich schon schrieb: >>> Du müsstest übrigens überhaupt nicht mehr warten, denn solang du da so >>> eine lausige Versorgung hast, wirst du auch Fehler haben. > das Ganze im schlimmsten Fall 15 Minuten lang? Auch dafür habe ich schon einen Ansatz. Du musst den Fehler "automatisieren". Statt nur bei Tastendruck zu Senden sendest du einfach dauernd. Dafür musst du ja nur alle 50ms einen Tastendruck simulieren. Aber letztlich musst du selber entscheiden, was du machen willst. Es ist deine Schaltung und dein Fehlerbild, womit du kämpfst.
Justin S. schrieb: > vielleicht würde die Drossel zwischen > Kabel und DC-DC-Konverter ja schon reichen? Probiere es aus. Wobei Step-Down Wandler so etwas normalerweise nicht brauchen, denn deren Spule liegt ja schon ein Reihe zur Stromversorgung. Willst du uns immer noch keine Fotos von der Leitungsführung zeigen?
Hallo, Justin sendet nicht auf Tastendruck er misst auf Tastendruck. Nur muss man beim Rigol nicht immer wieder in ein Menü, es reicht nur auf den Taster 'Single' wiederholt zu drücken. Dann wartet das Oszi auf die nächste eingestellte Flankenerkennung. Ich wüßte jetzt aber nicht wie man diese Messung automatisieren könnte, sodass er nur beim fehlerhaften Signal stehen bleibt und ansonsten permanent misst bis dahin.
Justin S. schrieb: > as Ganze im schlimmsten Fall 15 Minuten > lang? Nein, sogar noch viel Länger. Du wirst doch wohl ein Koax Kabel als 1/1 Tastkopf ans Oszi hängen und die abisolierten Enden in Deine Schaltung löten können? Nicht perfekt abgeschlossen, aber wie ein Tastkopf aufgebaut ist wirst Du doch wohl googeln können. Wie Lothar sagte, automatisiere das und sende dauern. Dann logge mit wann der Fehler kommt und schau Dir an ob der in einem bestimmten Rhythmus auftritt. Der RX pin des ESP ist auch nur ein normaler logig Pin mit mehreren Funktionen und wenn was amokt, kann der natürlich auch ein Ausgang sein. Wenn z.B. der ESP beim Wlan senden immer kurze Einbrüche auf der VCC sieht, kann alles mögliche passieren. Wie konstant ist denn der ESP in seiner Frequenz? Sender und Empfänger dürfen max 2% fehler ZUEINANDER haben. Wie groß ist Dein Fehler auf beiden Seiten weil sich die Clock Frequenz bei 250K nicht mit exakt 0% Fehler in Werte für den baudratengenerator umsetzen lässt? Wie groß ist der Jitter und die Frequenzabweichung der Oszillatoren auf BEIDEN Seiten? Verändert sich etwas wenn du das ganze Gelumpe erwärmst, abkühlst, oder mal einen der Baudratengeneratoren etwas in eine Richtung verstimmst? Geht, okay, passt schon und Oszi Bilder auf denen man nichts oder eine intakte Übertragung sieht, sind keine Aussagen mit denen ich arbeiten kann. Du hast einen Fehler den Du nicht verstehst, also geh in die Materie und klopf jeden einzelnen Punkt ab, bis du es verstehst. Oder bau ein Protokoll das Fehler erkennt, mit NAK quittiert und neue Daten anfordert. Das ist dann der Workarround, der ein schlampiges Design per Software gesundbetet. Das geht dann vieleicht oder oder der nie verstandene Fehler verschlechtert sich, bis es nicht mehr geht. Aber Arbeit reinstecken wirst Du wohl müssen und wenn Du Hilfe willst wirst Du auch Zahlen und Fotos liefern müssen.
Justin S. schrieb: > Zusätzlich sind über 600µF mittels fünf Elkos auf den Platinen verteilt. Hoffentlich VOR dem Spannungsregler des ESP8266 ... Wie sehen die 3.3V des ESP aus?
Tastköpfe waren die letzten Tage mein Thema. Nun habe ich mit der Masseklammer direkt am ESP-01 Vcc und GND gemessen und die Spikes sind weg. Man sieht die Welligkeit des MP2307DN und wie er auf die erhöhte Stromanforderung des ESP-01 bei den „Beacons“ reagiert.
Da sackt die Spannung also um 100 mV ab um dann um 150 mV zu steigen. Das halte ich für grenzwertig. Mache mal einen 100µF Elko direkt an das ESP Modul, falls noch nicht geschehen.
Ich sehe dagegen, dass ohne große Last die Welligkeit des Output mit den angegebenen ca. 340kHz bei ca. 40mVpp liegt. Von der Mittellinie dieser Schwingung aus geht es im Moment der abrupten Lastanforderung 65mV abwärts und von da ca. 130mV aufwärts und dann auf einem ungefähr um 50mV erhöhten Niveau ungefähr waagerecht mit stärkeren unregelmäßigen Schankungen mit maximal +-50mV weiter. Das Raster ist ja auf 50mV eingestellt, das hast Du gesehen, oder? Ich habe da einen 220µF-Elko, aber Wolfgang schrieb: >> Zusätzlich sind über 600µF mittels fünf Elkos auf den Platinen verteilt. > > Hoffentlich VOR dem Spannungsregler des ESP8266 ... die 220µF sind also NACH dem MP2307DN. Der hat nur einen SMD-C unmittelbar am Ausgang, und der ESP-01 hat direkt am ESP8266EX einen SMD-C. Es gibt aber noch einen 220µF-Elko im Abstand von ca. 3cm.
Justin S. schrieb: > Das Raster ist ja auf 50mV eingestellt, das hast Du gesehen, oder? Jaja, das habe ich schon gesehen. Ich habe das aber aus Sicht des ESP betrachtet weil ich weiß, dass er bei 300 mV Sprüngen zuverlässig Fehlfunktionen bekommt. Dabei ist ihm egal, wo der Mittelwert liegt.
Justin S. schrieb: > Es gibt aber noch einen 220µF-Elko im Abstand von ca. 3cm. Zu weit weg. Löte ihn direkt auf das Modul drauf.
Im Anhang mal ein Versuch eines Fotos, auf dem man die beiden Tastköpfe sehen kann und das dazugehörige Oszillogramm. Der linke Tastkopf ist an Vcc des ESP-01 (gelbes Signal), der rechte am Eingang des zugehörigen DC-DC-Wandlers MP2307DN (blaues Signal).
Das blaue Signal hat zu viel Rauschen. Stefan ⛄ F. schrieb: > Willst du uns immer noch keine Fotos von der Leitungsführung zeigen? Schaltplan wäre auch gut.
Stefan ⛄ F. schrieb: > Willst du uns immer noch keine Fotos von der Leitungsführung zeigen? > > Schaltplan wäre auch gut. Alles handgezeichnet, nicht besonders toll, noch schlimmer als das Bild meiner Lötkünste. Ist mir wirklich peinlich, hier öffentlich. Ist das denn mit den zwei Masseklammern so richtig? Muss man für jeden Tastkopf die Masseklammer benutzen?
Justin S. schrieb: > Alles handgezeichnet, nicht besonders toll, noch schlimmer als das Bild > meiner Lötkünste. Ist mir wirklich peinlich, hier öffentlich. Tja dann ... Wir sehen nicht was du siehst und gemacht hast. Wir können dir so nur sehr schlecht helfen. Du könntest die Zeichnung nochmal neu machen. > Ist das denn mit den zwei Masseklammern so richtig? Kann ich nur anhand des Fotos nicht sagen. Vermutlich hast du sie mir irgendeinem Massepunkt verbunden. Aber ob das der ist, den du messen wolltest - wer weiß? > Muss man für jeden Tastkopf die Masseklammer benutzen? Ja. Es sei denn du blendest Frequenzen oberhalb von 100 kHz aus, aber das ist ja gerade der spannende Bereich.
Stefan ⛄ F. schrieb: > Das blaue Signal hat zu viel Rauschen. Ja, es hat diese 300mV-Spikes und ist das Ausgangssignal des oben genannten weit verbreiteten LM2596-Moduls (und das Eingangssignal des MP2307DN). In diesem Beitrag (Beitrag "ESP8266 an LM2596 -> TX-Müll") sagt Dan N., dass der ESP durch den LM2596 gestört wird. Leider finde ich zur tatsächlichen Anwendung der Module recht wenig. Es scheint, als wenn die sonst allgemein sehr gut laufen.
Die Ausgangsspannung von Step-Down Wandlern ist normalerweise ein regelmäßiger dreieckiger Verlauf mit höchstens 50mV Ripple. Ich vermute, dass der LM2596 Chip nicht die Problemursache ist. Der Chip läuft sogar im manuellen Aufbau auf Lochraster Platinen ohne Probleme. Vielleicht ist aber der Aufbau drumherum mangelhaft. Schade dass du weder Schaltplan noch Fotos zeigen willst. So kann es nur ein nerviges Ratespiel bleiben.
Was ich persönlich schon zu Beginn gemacht hätte ist es, die serielle Verbindung von der Software her zu testen. Sprich: -nur- die Kommunikation. Ohne Menu, ohne den ganzen Aufbau. Zwei Controller die sich ohne die kompletten Altlasten über uart unterhalten. Dann kann man die 200 Zeilen Code ggf auch einmal hier angucken.
Justin S. schrieb: > So, da haben wir zumindest mal eine Störung Und hier mal zwei Störungen. Diesmal zeigen alle Bilder oben in blau den TX-Ausgang des ATMEGA328 und unten den RX-Eingang des ESP-01 (wie gefordert). Die ersten beiden Bilder zeigen, wie genau am Ende eines „Beacons“ (zu erkennen am Ende der Welligkeit im gelben Signal) eine bei 3 Volt beginnende langsam fallende Flanke die logischen "0" des blauen Signals zerstört. Beim Hereinzoomen kann man sehen, dass diese "Zerstörung" ziemlich genau 10µs andauert. Im schlimmsten Fall sind also drei Bits zerschossen. Das dritte und vierte Bild zeigen das gleiche Phänomen: auch wieder mit diesem 10µs-Nachläufer, wie er exakt auf das Ende des Strombedarfs für den „Beacon“ zwei Bits verfälscht. Was ist das? Sven schrieb: > Was ich persönlich schon zu Beginn gemacht hätte ist es, die serielle > Verbindung von der Software her zu testen. Sprich: -nur- die > Kommunikation. Da ist alles perfekt, siehe Beitrag "Re: Störungen der Übertragung bei 250kBaud durch zu kleine Bandbreite?"
Probiere mal eine alte Version der Firmware auf dem ESP-01. Ich habe welche dort aufbewahrt: http://stefanfrings.de/esp8266/index.html#atfirmware Wenn es damit gut funktioniert, wäre ein Softwarefehler denkbar.
Da wird wohl die Masseleitung zwischen den beiden Meßstellen eine Potentialverschiebung erhalten? Was zu dieser Zeit 10microsec. lang gedauert? Blackbird
Stefan ⛄ F. schrieb: > Probiere mal eine alte Version der Firmware auf dem ESP-01. Hm, ich nutze die AT-Version 1.2.0.0 vom SDK 1.5.4.1 Dürfte sich nicht wesentlich von Deiner unterscheiden (1.1.0.0 vom SDK 1.5.4). Lothar J. schrieb: > Da wird wohl die Masseleitung zwischen den beiden Meßstellen eine > Potentialverschiebung erhalten? Ich messe zwischen den beiden Massepunkten, an denen ich die Masseklammern angeschlossen habe, ca. 0,9 Ohm. Verbinde ich die Messkabel direkt miteinander, messe ich 0,1 Ohm. Können diese 0,8 Ohm Ursache des Problems sein?
Mit I=U/R wären das 4V/0,8Ohm = 5A (Ausgleichsstrom). Für 10µs durchaus möglich. Aber woher? Was hängt denn noch alles an der Elektronik dran und wie sind die Netzteile primär und sekundär verbunden? Blackbird
Justin S. schrieb: > Können diese 0,8 Ohm Ursache des Problems sein? Ja sicher. Überlege mal: Bei 400mA Sprüngen in der Stromaufnahme fallen dort 320mV ab! Dazu kommt noch der HF Anteil.
Justin S. schrieb: > Ich messe zwischen den beiden Massepunkten, an denen ich die > Masseklammern angeschlossen habe, ca. 0,9 Ohm. Ohne Witz? Die schaltungstechnisch selbe Masse hat zwischen 2 Punkten 0,9 Ohm "Widerstand"? Dann wird das niemals stabil laufen. > 0,8 Ohm. Das sind einige Meter Kabel, denn bei 0,34mm² hast du einen Widerstand von 60 Ohm/km, was für 0,8 Ohm dann immerhin 75m Kabel ergibt. Oder führt diese Masse über zig Stecker? Oder ist sogar ein IC mit drin (es gab schon welche, die haben das als "Brücke" verwendet: am einen GND-Pin rein, am anderen raus)?
:
Bearbeitet durch Moderator
Stefan ⛄ F. schrieb: > Justin S. schrieb: >> Können diese 0,8 Ohm Ursache des Problems sein? > > Ja sicher. Überlege mal: Bei 400mA Sprüngen in der Stromaufnahme fallen > dort 320mV ab! Lothar M. schrieb: > Dann wird das niemals stabil laufen. Lothar M. schrieb: > Oder führt diese Masse über zig Stecker? Über drei Stecker: Den ESP-01-Modul-Stecker und zwei Stecker für ein 7cm-Kabel, das zur CPU-Platine führt. Dieses Kabel war die Ursache für den hohen Widerstand, möglicherweise Kabelbruch. Jedenfalls hab ich es neu hergestellt und nun sind die Massepunkte auf dem gleichen Niveau (<=0.1 Ohm). Aber das Problem hat sich nicht (kaum?) geändert (siehe Oszillogramm eines Fehlers direkt am ESP-01 gemessen).
Dann werden wohl noch ein paar andere Kabel Probleme bereiten. Der Tx-Ausgang ist niederohmig genug, den Eingangsspannung des ESP auf Masse zu ziehen. Entweder ein Tx-Rx-Kabelproblem, oder irgendein Programmteil im ESP schaltet für 10us den Rx-Eingang auf treibenden Ausgang. Blackbird
Justin S. schrieb: > möglicherweise Kabelbruch. Der einzige? > Aber das Problem hat sich nicht (kaum?) geändert (siehe Oszillogramm > eines Fehlers direkt am ESP-01 gemessen). Mach mal die zweite Klemme an den AVR ran wie im Beitrag "Re: Störungen der Übertragung bei 250kBaud durch zu kleine Bandbreite?" vorgeschlagen. Dann sieht man, wer da wann an den Leitungen herummzerrt.
:
Bearbeitet durch Moderator
Könnte auch eine ungewollte Brücke auf einem der Boards sein zwischen einem anderen Pin und Rx (oderTx). Blackbird
Lothar M. schrieb: > Justin S. schrieb: >> möglicherweise Kabelbruch. > Der einzige? Es gibt nur dieses eine Kabel, das ich nun neu gemacht habe (nur noch 5cm und 2x 24AWG parallel, also 0.41mm²) und das nun ja auch funktioniert. Lothar M. schrieb: > Mach mal die zweite Klemme an den AVR ran wie im > Beitrag "Re: Störungen der Übertragung bei 250kBaud durch zu kleine Bandbreite?" vorgeschlagen. Dann > sieht man, wer da wann an den Leitungen herummzerrt. Hatte ich bereits geliefert: Beitrag "Re: Störungen der Übertragung bei 250kBaud durch zu kleine Bandbreite?" Lothar J. schrieb: > Könnte auch eine ungewollte Brücke auf einem der Boards sein zwischen > einem anderen Pin und Rx (oderTx). Hatte ich oben alles schon visuell und mit Ohmmeter im zerlegten Zustand getestet. War alles OK. Lothar J. schrieb: > irgendein Programmteil im ESP schaltet für 10us den Rx-Eingang auf treibenden Ausgang Das geht in Richtung von Stefans Idee, als er schrieb: Stefan ⛄ F. schrieb: > Probiere mal eine alte Version der Firmware auf dem ESP-01.
Justin S. schrieb: > als das Bild > meiner Lötkünste. Sieht doch ordentlich aus. Mach mal die GND-Pins alle ab und ziehe zu einem Punkt, wo deine Betriebsspannung reinkommt. Je einen Draht und verbinde sie dort. Nur dort. Dann fließt schonmal der Strom, der in ein Modul reingeht, auch auf seinem Draht wieder zurück und stört niemanden anderen. (ich schreib das mal so). Dann kannst du auch an jedem Verbraucher DIREKT einen Elko anlöten. Sieh Dir mal (nur mal so) die "BestCap" Serie von AVX an. Die sind genau dafür gemacht. nierohmig, hochkapazitiv, ungepolt. schön flach, passen gut auf die Unterseite deiner Aufbauten. https://www.digikey.de/de/products/detail/kyocera-avx/BZ054B223ZSB/1014114 Also Plus und Minus jeder Baugruppe einzeln mit drähten wegführen. Da brauchst auch nix "abkürzen". ganz vorn zusammenlegen. Minus auf einen gemeinsamen Punkt.
der MH-360 scheint ungeeignet. Kannst den ESP nicht mit aus dem anderen versorgen? sonst mach da 100µH in Reihe und 10nF gegen GND am Regler. Ach: man muss da mal den gesamtaufbau sehen
Muss man alles HF-technisch betrachten. Masseleitung bei 2.4Ghz und viertel Wellenlänge ist elektrisch hochohmig. man muss es jetzt mit der Betrachtungsweise auch nicht übertreiben, aber so in der Art.
Axel R. schrieb: > Ach: man muss da mal den gesamtaufbau sehen Vergiss es, danach habe ich schon 5x gefragt. Bei so viel Geheimnistuerei hat er meiner Meinung nach nicht verdient, dass wir uns noch weiter damit befassen.
Stefan ⛄ F. schrieb: > Vergiss es, danach habe ich schon 5x gefragt. Bei so viel > Geheimnistuerei hat er meiner Meinung nach nicht verdient, dass wir uns > noch weiter damit befassen. Stefan hat ganz recht - da haben wir auch keine Lust zu, bei soviel Geheimniskrämerei. Das hat nun davon, der TO.
Hm, hier wird bereits den ganzen Thread lang auf hardwareseitigen Fehlern herumgeritten. Wie wäre es denn mal einen Logic Analyzer dazwischenhängen und schauen, ob da die Bytes evtl. auch fehlen oder fehlerhaft sind.
Justin S. schrieb: > Lothar M. schrieb: >> wer da wann an den Leitungen herummzerrt. > Hatte ich bereits geliefert: Und das sieht jetzt nach der Reparatur immer noch gleich aus?
Harald A. schrieb: > Wie wäre es denn mal einen Logic Analyzer dazwischenhängen und schauen, > ob da die Bytes evtl. auch fehlen oder fehlerhaft sind. Der kann erst sinnvoll drauflos gelassen werden, wenn der physical Layer der Übertragung ok ist. Vorher ist der Einsatz eines LA Unfug.
Lothar M. schrieb: > Und das sieht jetzt nach der Reparatur immer noch gleich aus? Ja, vielleicht minimal verbessert (jeder kann ja vorher nachher anhand der Bilder vergleichen). Aber ich denke, ich habe nun die Geduld Vieler überstrapaziert. Tut mir leid, Stefan, Jester. Es ist nicht immer Geheimniskrämerei (nein, auch ich weiß, dass ich nur rekombiniert habe, was andere vor mir auch schon zig-mal in den letzten Jahr(zehnt)en getan haben). Vielmehr existiert kein kompletter Schaltplan, sondern nur für diverse Abschnitte handgezeichnete Skizzen. Das in eine vernünftige Form zu bringen, dürfte mich zusätzlich Tage wenn nicht Wochen kosten, da ich mich mit Layout-Programmen gar nicht auskenne. Vielen Dank für das Hineindenken in meine Problematik und die vielen Vorschläge, das Problem in den Griff zu bekommen. So konnte ich viel lernen und systematisch diverse Dinge testen. Meine nächsten Schritte werden sein, die Stromversorgung des ESP-01 noch einmal zu überarbeiten (Elko näher an Vcc und Gnd des ESP-01) und den Spannungsteiler, wie schon oben angedeutet, zu ändern (vielleicht wird das Signal ja dann in den Low-Bereich gezogen). Ich gehe davon aus, dass das Problem dann beseitigt ist und es sich nicht um einen so offensichlichen Softwarefehler des ESP-01 handelt (den hätten nämlich andere vor mir schon lange gefunden).
Harald A. schrieb: > Wie wäre es denn mal einen Logic Analyzer > dazwischenhängen und schauen, ob da die Bytes evtl. auch fehlen oder > fehlerhaft sind. Hast du die Oszilloskop-Bilder (samt Logic analyse) nicht gesehen? Hast du überhaupt die Beiträge des TO gelesen? Scheint mir nicht so. Softwarefehler habe ich übrigens längst vermutet und einen Vorschlag zur Kontrolle gemacht. Aber darauf hat der Justin keine Lust - er vertraut lieber darauf, dass Version 1.5.4.1 nicht schlechter sein kann als 1.5.4 (alleine wegen der Nummer). Eine strukturierte Fehlersuche ist ohne Plan gar nicht möglich, doch den will Justin nicht erstellen. Er will nicht einmal Fotos zeigen. Vielleicht schämt er sich für den leicht chaotischen Aufbau. Aber andere kochen auch nur mit Wasser, da gibt es nichts, wovor man sich schämen muss. Die Lötstellen die wir bisher sehen durften sind schließlich ordentlich gemacht worden. Justin S. schrieb: > Aber ich denke, ich habe nun die Geduld Vieler überstrapaziert Allerdings. Justin S. schrieb: > Tut mir leid, Stefan, Jester. Letztendlich blockierst du dich selbst mit dieser Vorgehensweise. Versorge den ESP doch erstmal mit einer garantiert sauberen externen Quelle, und schau ob das dein Problem löst! Du vergeudest sonst nur Zeit und Geld, womöglich an der falschen Stelle. Wenn ein Auto nicht startet, würdest du dann den ganzen Motor zerlegen bevor du sicher bist, dass er gut Benzin und Zündung bekommt?
Hi Stefan, reg' dich nicht auf so kurz vor Weihnachten - alles gut. Ja, die Scope-Bilder habe ich gesehen, die Beiträge auch teilweise gelesen. Nicht in aller Tiefe muss ich zugeben. Übertragung nicht toll, aber meiner Meinung nach müsste man auch immer genau wissen, wie die Tests durchgeführt wurden. Ja, teilweise kurze Feder benutzt, aber war das immer so? Ein LA Test würde ich persönlich auch auch immer machen. Ich beanspruche nicht, dass das die einzig richtige Vorgehensweise ist. Tut aber auch nicht weh. Habe schon oft genau solche Szenarien gehabt und es war dann manchmal ein Timing-Ding. Bytes verschluckt im Interrupt, etc. Die gezeigten Störungen müssen aber auch weg, keine Frage! Und wenn der TO sagt, das seien fertige Libs, bei denen Fehler schon anderen Leuten vorher aufgefallen wären, dann kann ich nur sagen, dass viel Mist mit bekannten Bugs für Ewigkeiten kursiert.
:
Bearbeitet durch User
Harald A. schrieb: > Hi Stefan, reg' dich nicht auf so kurz vor Weihnachten - alles gut. Ich rege ich nicht auf, keine Sorge.
>Was ich persönlich schon zu Beginn gemacht hätte ist es, die serielle >Verbindung von der Software her zu testen. Sprich: -nur- die >Kommunikation. Ohne Menu, ohne den ganzen Aufbau. Zwei Controller die >sich ohne die kompletten Altlasten über uart unterhalten. Dann kann man >die 200 Zeilen Code ggf auch einmal hier angucken. Ich würde das echt als Tip noch mal ins Rennen werfen. Denn wenn tatsächlich fertige Libs werkeln, so können die a) einen Bug haben wie oben erörtert und b) GANZ ohne eigenen Code kommt es doch auch dann nicht aus. Ich habe bis jetzt erst ein mal wirklich Übertragungsfehler wegen eines elektrischen Problems gehabt. Es ist (meine persönliche) Erfahrung, dass irgendwie meistens doch was an der Software zickt. Also: Mein rat wäre übertrage Daten und zwar keine Messdaten, sondern wegen mir einen Counter mit komplementärem Zählstand oder so. Alles auch vermeindlich funktionierende würde ich erst mal in Zweifel stellen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.