Hallo,
ich ersetze im aktuell Projekt einen ATmega 8 durch einen Wemos D1 mini.
Das Programm lief fehlerfrei auf dem 8er in Bascom, auf dem Wemos zeigt
sich ein unschönes Verhalten:
An den Ports D7 und D8 hängt über je 4,7k und BC548 ein bistabiles
Relais (inkl. Freilaufdioden).
Zu Beginn wird das Relais in einen definierten Startzustand (auf Netz)
gebracht. Also den Port für "Solar" auf Low, den Port für Netz für 100ms
auf High.
Das Relais schaltet auch auf "Netz", nachdem es vorher kurz auf "Solar"
schaltet. Wenn also D8 auf High geht, geht kurz vorher D7 laut
Logigtester von "low" auf "undefiniert".
Tausche ich im Programm D7 und D8 tritt der Fehler genausowenig auf, wie
wenn ich die Relais manuell ohne Wemos schalte. Mit dem Mega8 geht's
auch.
Testweise habe ich mal 10k von D7 nach Masse eingebaut, dann geht's
auch.
Kennt das Problem jemand?
WD1m schrieb:> Das Programm lief fehlerfrei auf dem 8er in Bascom, auf dem Wemos zeigt> sich ein unschönes Verhalten:
Bascom kann keinen Code für den esp8266 generieren!
D8 (GPIO16) hat einen eingebauten Pull-Down (und wird u.a. für wake up
from sleep verwendet), während die anderen Ports Pull-Ups haben.
Das wäre mal ein Ansatzpunkt ....
Hallo,
D7 ist GPIO13 und sollte eigentlich unkritisch sein.
D8 ist GPIO15, der muß zur Bootzeit aif L sein, da stört normalerweise
Deine Schaltung also auch nicht.
Dein Problem ist mir also irgendwie unklar und mir bei meinen Sachen
auch noch nie begegnet. Das einige Pins des ESP8266 beim Start
undefiniertes Verhalten zeigen können, ist durch den Bootloader bedingt.
Das sit aber alles erledigt, bevor er Deine Sachen überhaupt ausführt.
Gruß aus Berlin
Michael
Richtig, der Bootloader kann es nicht sein, denn bei einer Pause von 10
Sekunden bevor ich den Port auf High setze, tritt das Problem eben erst
nach den 10 Sekunden auf. Port D7 hat in der Tat weder Pullup noch
Pulldown, so dass er unkritisch "sein sollte". Das erklärt auch, warum
ggf. der Fehler mit D8 nicht auftritt, der hat 12K Pulldown - mit
Pulldown an D7 ist auch der Fehler weg.
Leider weiß ich nicht, welche Version des Wemos ich habe; die aktuellste
scheint es aufgrund des fehlenden Lötjumpers an GPIO16/D0 aber nicht zu
sein - gekauft vor ein paar Wochen bei Reichelt. Win zweiter Wemos ist
leider nicht zur Hand - ich lebe jetzt mit dem zusätzlichen Pulldown an
D7. Win Oszi habe ich leider nicht, sonst würde ich mehr gerne mal
anschauen, was da genau passiert.
Das D7 beim booten kurz auf High geht habe ich leider auch schon
feststellen müssen - erklärt aber nicht, warum er es auch tut, wenn D8
auf High geht (eben nochmal ohne Relais getestet, ganz deutliches High).
An D1 hängt leider auch schon ein kritisches Bauteil, welches
keinesfalls beim Booten aktiviert werden darf.
An D0 hängt ein Schalter nach GND, den könnte ich mit geschätzem 2,2K
Serienwiderstand wahrscheinlich auch an D7 hängen.
Hallo,
laß eben den PullDown dran. Ich würde auch nicht ausschließen, daß die
Jungs von Espressif da irgendwie beim IOmux Mist bauen, welche Version
des ESP8266 hast Du installiert?
Wenn die kurz auf Input mit PullUp setzen könnte das schon reichen, um
Deinen Transistor anzusteuern. Würde auch den undefinierten Zustand des
Logiktesters erklären.
Falls Du die ESP8266 Version wechseln willst: deinstallieren und dann
die gewünschte installieren, up- /downgrade bei den ESP
Boardmanager-Links ist mir sonst öfter auf die Füße gefallen mit netten
Effekten...
Gruß aus Berlin
Michael
WD1m schrieb:> Wie oben zu sehen, ist es auch nicht in Bascom...
Warum schreibst du dann von Bascom? Du hast die Farbe des Tisches, auf
dem du arbeitest, nicht dazugeschrieben.
WD1m schrieb:> Lesen kannst du also - schade, dass es am Verstehen hapert...>> Wenigstens können das die anderen, die auch was beitragen können!
Ja dann sag halt die Tischfarbe! Foto und Schaltplan vom Aufbau wären
auch nicht schlecht.
Da das Lesen bei dir offenbar auch nicht funktioniert hat:
Das Problem besteht, wie schon geschrieben, auch ohne externe
Beschaltung - nur Wemos am USB-Kabel.
WD1m schrieb:> Da das Lesen bei dir offenbar auch nicht funktioniert hat:>> Das Problem besteht, wie schon geschrieben, auch ohne externe> Beschaltung - nur Wemos am USB-Kabel.
Na los, poste es! Trau dich!
Hallo,
xWD1m schrieb:> Wo sehe ich die Versionsinfo?
Du hast blind darauf vertraut, daß schon jemand erraten wird, daß Dein
Code aus der Arduino-Ecke stammt...
Ich soll jetzt also auch blind raten: ArduinoIDE? ESP8266 per
Boardmanager installiert? Dann solltest Du ja auch wissen, was Du da wie
installiert hast,
Das kann ich aus Deinem Codeausschnitt nicht erraten.
Gruß aus Berlin
Michael
Michael U. schrieb:> Du hast blind darauf vertraut, daß schon jemand erraten wird, daß Dein> Code aus der Arduino-Ecke stammt...
Aber aber!
Er hat doch was von Bascom gelabert :-)
Lass den Typ mal weiter beleidigt sein. Irgendwann kapiert er das man
ihm so nicht helfen kann.
Das Jahr ist bald vorbei :-)
Hallo,
WD1m schrieb:> esp8266 2.6.1
Du kannst ja zum Test mal die 2.6.1 deinstallieren und dafür die 2.5.2
testen, wenn Du Lust dazu hast. Mit der 2.6.0 kamen etliche Änderungen
rein.
Wäre interessant, ob es das Problem da auch schon gab.
Gruß aus Berlin
Michael