Hallo,
ich arbeite seit einiger Zeit mit den ESP-Boards zusammen. Wenn ich
diese auf dem Steckbrett benutze, stellen sie eigentlich immer stabile
Wlan-Verbindungen auf. Zwar haben mehrere Boards immer wieder
Disconnects, aber nur kurz und der direkte Reconnect funktioniert direkt
wieder.
Jetzt habe ich ein Modul allerdings in eine Kunststoffbox gesetzt (quasi
eine Verteilerdose). Darin befinden sich noch ein paar weitere Sachen
wie ein LCD-Display oder eine RJ-45 Buchse (klassischer LAN-Stecker,
benutze den aber nur für Datenübertragung). Die Kabel dieser ganzen
Verbindungen (sind einige, externe Stromversorgung und quasi jeder Pin
des ESP ist belegt, liegen dort ineinadner verdrillt so gut es geht am
Rand der Box.
Jetzt ist das Problem, das der ESP sobald er sich in der Box befindet,
kaum bis gar keine Verbindung zum Wlan mehr aufbaut. Sogar bei offenem
Deckel und 2Meter Abstand zum Wlan-Repeater...
Baue ich aber das exakt gleiche Setup am Steckbrett auf, also ohne
Kunststoffwände (wie gesagt, auch ohne Deckel der Box gelingt die
Verbinung nicht), klappt das Verbinden sofort.
Kann das an den ganzen (0,35mm2) Litzen liegen, die in der Box leicht
über dem ESP liegen? Ich kann mir absolut nicht erklären, wieso diese
Kunststoff Box das Wlan komplett stören sollte...
Peter Roth schrieb:> in eine Kunststoffbox gesetzt (quasi eine Verteilerdose).
Quasi in der Wand?
> Kann das an den ganzen (0,35mm2) Litzen liegen, die in der Box leicht> über dem ESP liegen?
Was passiert, wenn du so ein Litzenknäuel auf dem Steckbrett auf die
Antenne legst?
Und wie sieht die Versorgung des Moduls auf dem Steckbrett und in der
Dose aus? Wenn das Modul über die ein paar Meter langen Litzen versorgt
wird: sind da irgendwelche Pufferkondensatoren vorgesehen?
Das ist mein Aufbau...
Ich habe das erste mal überhaupt so ein Projekt versucht endgültig
aufzubauen. Deswegen hoffe ich das ist nicht komplett katastrophal :/
Die Kabel (die rosanen zu LEDS) und das 4er Bündel (zum LCD) liegen so
gut es geht nicht direkt über dem ESP.
Aber auch auf dem Steckbrett haben die Jumper direkt neben ihm etwas in
die Höhe geragt... Bei exakt dem gleichen Aufbau war das allerdings kein
Problem.
Er bracht jetzt halt sehr lange um eine Wlan Verbindung aufzubauen. Und
diese scheint dann so brüchig zu sein, dass er ständig die Verbindung zu
einem MQTT-Broker verliert der selbst am LAN hängt.
Also die WlanVerbindung steht zwar, ist aber zu schwach für eine
Kommunikation darüber.
Der Einbau kommt übrigens in keine Wand, sondern wird nur davor
gestellt.
Peter Roth schrieb:> Das ist mein Aufbau...
Am meisten würde mir das nur in wenigen Millimetern Abstand parallel zur
Antenne verlaufende blaue Kabel zu denken Geben. HF-mäßig sieht das nach
einem Kurzschluss des E-Feldes aus …
Mindestens genauso interessant ist die Lage der Kabel zum LCD bei
geschlossenem Deckel.
Wie sieht die Lochrasterplatine von unten aus?
( ) unbeschichtet/Punktraster
( ) Streifenraster parallel zur Antenne
( ) Streifenraster quer zur Antenne
Wolfgang schrieb:> Wie sieht die Lochrasterplatine von unten aus?
Punktraster
Wolfgang schrieb:> wenigen Millimetern Abstand parallel zur> Antenne verlaufende blaue Kabel
okay, ich versuche es mal anders zu legen
Jens M. schrieb:> Wo kommt denn da der Strom her?
Der Strom wird auf der schmalen Lochraster an der rechten Seite
aufgeteilt. Dort ist ein DC-Hohlstecker eingebaut. Die beiden Pole
werden dann in 4 einzelne Vcc/GND kombinationen aufgeteilt, sodass nicht
der ESP für die Versorgung aller weiteren Teile aufkommen muss. Die
beiden Kabel direkt vom Hohlstecker (rechts dick blau und braun), sind
auch deutlich dicker, da dort ja alle Teile dranhängen.
Aber wie gesagt, es ist mein erster Aufbau dieser Art, deswegen bin ich
für Kritik und Verbesserungen gerne offen :)
Danke schonmal
Vielen Dank Wolfgang!
Der Tipp mit dem blauen Kabel war extrem wertvoll. Ich habe es einfach
erstmal auf die andere Seite gelegt, sodass in unmittelbarer Entfernung
zur Antenne kein paralleles Kabel verläuft, und schon ist die
Verbindung um ein vielfaches stabiler!
Danke also schoneinmal für diesen Tipp.
Für weitere Anregungen, generell zu einem besseren / professionelleren
Aufbau bin ich natürlich weiterhin offen. Ich habe mit diesem Hobby halt
erst vor ein paar Monaten angefangen und bin noch am üben :)
Peter Roth schrieb:> Aber wie gesagt, es ist mein erster Aufbau dieser Art, deswegen bin ich> für Kritik und Verbesserungen gerne offen :)
Externe Antenne!
Arduino Fanboy D. schrieb:> Externe Antenne!
Oder wenigstens ausreichend viel Abstand zwischen Antenne und anderen
Leitern/Leiterplatten/Metallen.
Peter Roth schrieb:> Der Strom wird auf der schmalen Lochraster an der rechten Seite> aufgeteilt.
Mir sind da entschieden zu wenig Pufferelkos auf dem Foto. Wenigstens
auf diese Verteilerplatine würde ich einen 220-470µF Kondensator
draufsetzen.
Okay ich war etwas zu euphorisch
Peter Roth schrieb:> und schon ist die> Verbindung um ein vielfaches stabiler!
Ich habe jetzt, wie im Anhang, alle Kabel die parallel zur Antenne
verlaufen erstmal entfernt und den Deckel offen gelassen. Diesmal habe
ich ihn an den PC angeschlossen, um mir mit der seriellen Ausgabe mehr
Informationen über die Verbindungsabbrüche zu geben.
Trotz diesem Aufbau wie im Bild, verliert er alle 30 Sekunden (!) die
MQTT-Verbindung und muss sich neu verbinden, was ihm allerdings auch
sofort gelingt. Zum zuverlässigen Arbeiten mit der Verbindung reicht das
allerdings natürlich nicht aus.
Auf dem Steckbrett klappt es dennoch, und mit den nun weggelegten Kabeln
(das blaue und die vom LCD) ist das ja wirklich nicht wirklich anders
wie auf einem Steckbrett...
Mach mal an die Pins VCC und GND von dem ESP Modul einen 100µF Elko.
Und zwar direkt an das silberne Modul (nicht die Blaue Platine oder die
Lochrasterplatine).
wenn das Gehäuse dicht bleiben soll dann die Antenne wenigstens dichter
an die Gehäusewand bringen und oben und unten nicht abgeschattet.
Wenn das Gehäuse nicht zwingend dicht sein muss wäre auch ein Schlitz im
Gehäuse möglich wo die Antenne rausguckt.
Peter Roth schrieb:> Auf dem Steckbrett klappt es dennoch, und mit den nun weggelegten Kabeln> (das blaue und die vom LCD) ist das ja wirklich nicht wirklich anders> wie auf einem Steckbrett...
Dann zeig mal den Steckbrettaufbau. Wie wird der versorgt?
Wie wird dein Verteilerkasten versorgt?
Und wie lang sind die dort ungepufferten Zuleitungen?
Man kann auch mal mit so einer Handy-App die Sendeleistung des Moduls
überschlägig (vergleichend) überprüfen...
Joachim B. schrieb:> Wenn das Gehäuse nicht zwingend dicht sein muss wäre auch ein Schlitz im> Gehäuse möglich wo die Antenne rausguckt.
Dann wäre wenigstens über einen kleinen Umweg die Forderung nach
hinreichendem Abstand zu jeglichem Leitermaterial erfüllt... ;-)
Vielen Dank schonmal für eure Tipps. Ich habe soeben einen D1 mini pro
bestellt. Das ist der, mit der externen Antenne.
Das Problem würde ich dennoch gerne in den Griff bekommen.
Ich habe jetzt von der Lochraster, an der Ecke, wo sich die Antenne des
ESP befindet, die Kupferringe weggeschliffen. Ich habe also definitiv
mehr Abstand zu leitendem Material als es auf einem Steckbrett oder
sonstigem Aufbau der Fall wäre.
Außerdem habe ich interessantes festgestellt:
Ich habe am Gehäusedeckel einen Button montiert (in den Bildern das
längere lilane und graue Kabelpaar).
In der loop() frage ich diesen Status folgendermaßen ab:
1
while(digitalRead(D8)==HIGH)lcd.backlight();
2
lcd.noBacklight();
Der Button dient dazu, die Hintergrundbeleuchtung des LCD an- bzw.
auszuschalten. Da es mir nicht gelungen ist, die Hintergrundbeleuchtung
über das trennen des Vcc oder GND des LCD zu ändern (irgendwie spinnt
der Bildschirm dann immer und hängt sich auf, wenn die Stromversorgung
getrennt wird, die Datenpins aber erhalten bleiben), wollte ich einfach
über den Tasterstatus (an D8 und V3,3 des ESP angeschlossen) überprüfen.
Solange der Schalter gedrückt wird, solange wird auch die
Hintergrundbeleuchtung angeschaltet.
Kommentiere ich diese 2 Zeilen aus, funktioniert die Verbindung. Ich
kann dann zwar den Button und das Licht nicht nutzen, zum Testen aber
egal jetzt, aber er behält eine stabile Verbindung.
Sind die beiden Zeilen jedoch drinne, und er fragt bei jedem loop()
Durchlauf Pin D8 ab, versagt die Verbindung exakt alle 30Sekunden.
Jedesmal exakt alle 30 Sekunden...
Ich selbst kann mir das noch nicht so richtig erklären, aber ich habe
das jetzt in verschiedensten Varianten getestet, und jedesmal, wenn ich
den Button aus dem Programm rausnehme, funktioniert die Verbindung :/
Deine Spannungsversorgung knickt sicher ein. Du brauchst einen
Stützkondensator. Mach erstmal:
Stefan ⛄ F. schrieb:> Mach mal an die Pins VCC und GND von dem ESP Modul einen 100µF Elko.
Aber am Besten einen Low ESR Typ. Am Besten parallel dazu noch einen
100nF Kerko.
Ich habe jetzt mal den Aufbau meines Breadboards angehängt. Der Display
fehlt, da ich ihn nur einmal hatte und somit ihn in die Box verbaut
habe.
Strom gab es entweder über den ESP, wenn dieser am PC hing, oder mit
exakt dem gleichen Netzteil, dass ich auch gerade benutze. Das hat dann
die seitlichen Strom-Leiter bedient.
Ich hatte dabei immer zuverlässige Verbindungen. Der Button ist exakt an
den gleichen Pins und auch der Bildschirm war so wie jetzt
angeschlossen.
Die Kabel waren auch direkt daneben und teils sogar über dem Modul...
Halt nur kürzer.
Ich habe weiter getestet: Wenn ich in der loop() den Button Status
Abfrage, kommt es alle 23 Sekunden zum Verbindungsabbruch. Gleiches,
wenn ich in der loop() den LCD anspreche. Diese beiden Teile, bzw. die
Kabel dorthin, sind also das Problem.
Klar könnte das auch ein Problem der Stromversorgung sein, aber die
müsste jetzt ja eher besser sein als auf dem Breadboard. Denn auch da
habe ich die Teile ja einzln und extern bepowered. So wie jetzt auch.
Mit dem Unterschied, dass jetzt die Kabel nun dicker und gelötet sind,
(und länger!?).
So wie ich das deute ist dann eher das ständige Abragen des Tasters und
oder das nutzen des LCD ein Problem, aber eben auch nur in der in der
Box verbauten Variante.
Was mich bei ja einer sehr ähnlichen Stromversorgung eher darauf
schließen lässt, das es mit Kabellänge, dicke oder der Lage der
entsprechenden Kabel zu tun hat...
Wenn du das so in der Loop drin hast wird wohl der Watchdog zuschlagen:
while (digitalRead(D8) == HIGH) lcd.backlight();
Mach das mal mit If / else
Holger
Holger schrieb:> Wenn du das so in der Loop drin hast wird wohl der Watchdog zuschlagen:> while (digitalRead(D8) == HIGH) lcd.backlight();> Mach das mal mit If / else
besser mit 10ms Timer im IRQ
https://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29
so oft muss man ja nicht abfragen und wenn sich nichts ändert nicht mal
reagieren.
kann auch für ESP angepasst werden, 10ms Timer habe ich schon, Taste
muss ich noch einbauen
Ich sehe hier einen I2C Adapter am LCD-Display.
Wie wird der denn geschaltet? Der funktioniert in der Regel ohne
Modifikation nicht einfach so an 3V3.
Man muss den LCD-Teil abtrennen vom I2C Logik-Teil und den LCD-Teil mit
5V und den Logik-Teil mit 3V3 betreiben.
Wenn du das nicht machst und das Display mit 5V betreibst und direkt per
I2C an die ESP-Pins gehst, würde mich das nicht wundern, wenn komische
Effekte auftreten.
A. N. schrieb:> Wie wird der denn geschaltet?
der wird mit 5V direkt vom Netzteil versorgt. Also ohne den Weg über den
ESP.
Und angesteuert wird er dann mit D1 und D2 des ESP, also meines Wissens
3V3.
Im Prinzip habe ich nie Probleme mit ihm gehabt in dieser Form. Nur halt
jetzt, dass das die Verbindung beeinträchtigt
Joachim B. schrieb:> kann auch für ESP angepasst werden, 10ms Timer habe ich schon, Taste> muss ich noch einbauen
interessanter Beitrag. Ich arbeite gerade daran das einzubauen.
Allerdings frage ich mich dennoch, warum die Probleme ausschließlich in
meinem Gehäuse und dem damit verbundenen Aufbau auftreten.
Bei exakt gleicher Belegung auf dem Steckbrett läuft alles wie in
Butter...
Aber ich werde alle Ideen und Möglichkeiten dieihr genannt habt
ausprobieren
Peter Roth schrieb:> Allerdings frage ich mich dennoch, warum die Probleme ausschließlich in> meinem Gehäuse und dem damit verbundenen Aufbau auftreten.
Fragen hilft da nicht viel, sondern messen.
Und wenn du das nicht kannst, baue erst einmal den Kondensator ein.
Glaube mir: ich weiß, wovon ich rede.
Wenn es dann läuft, erkläre ich dir, warum er nötig ist.