Hallo zusammen, ich hab den ESP8266 mit der Firmware ESPEasy_R120 geflasht und versuche den o.g. Ultraschallsensor mit einzubinden, leider ohne Erfolg. Der ESP8266 läuft mit 3,3V, der Sensor mit 5V. Der GPIO0 geht über einen Levelshifter auf den Sensor-Trigger und der GPIO2 ebenfalls über einen Levelshifter auf den Sensor-Echo. M.E. habe ich alle Einstellungen die notwendig sind richtig gemacht, doch ich bekomme einfach keinen Wert angezeigt. Um die Fehler einzugrenzen habe ich alle Komponenten einzeln getestet. Der Sensor reagiert bei Trigger und ich bekomme ein Echo zurück. Der Levelshifter "shiftet" von 3,3V auf 5V und umgekehrt. Bei den ESP8266 bin ich mir nicht so ganz sicher. Der GPIO0 der als Trigger fungiert gibt laut Osszi keinen Mucks von sich. Ich gehe davon aus, dass er zyklisch ein Signal zum triggern des Sensor liefern sollte, was aber nicht der Fall ist. Wenn ich den GPIO2 auf den Echo des Sensors lege (über den Levelshifter), leuchte die blaue LED durchgängig, was auch immer das bedeuten mag. Ich hab auch testweise die Pins getauscht, ohne Erfolg. Selbst wenn ich den Sensor von aussen über einen Rechteck trigger und nur den Echo auf den GPIO2 lege, bleibt der Wert bei 0. Wo ist mein Fehler ? Ist es tatsächlich der ESP8266 der eine Macke hat oder doch ich ? Gruss
Ist vermutlich ein ESP01...weil GP0 und GP2 verwendet werden. Besser ESP12F verwenden, weil GP0 und GP02 von Espeasy bzw. vom ESP01 intern verwendet werden. Hatte die selbe Erfahrung gemacht. Besser ESP12F und andere GP Pins verwenden.
Kann man die ESP 01 dafür gar nicht verwenden? Ich hab mal gelesen, dass die Uart-Ports dafür verwendet werden können, die brauche ich nach dem flashen nicht mehr. Würde das gehen???
:
Bearbeitet durch User
Du kannst die ESP-01 verwenden. Ob das mit ESPEasy geht, weiß ich nicht. Vielleicht funktioniert dein Levelshifter nicht gut. Es wäre gut gewesen, von dem ganzen Aufbau wenigstens einen Block-Schaltplan zu zeigen und die konkreten Produkte zu benennen. Von welcher blauen LED schreibst du? Woran ist sie angeschlossen? Es wäre sicher auch hilfreich, die Bilder vom Oszilloskop zu zeigen, anstatt sie so vage zu beschreiben. GPIO0 und GPIO2 müssen beim Start (Reset) bestimmte Pegel haben, damit die Firmware überhaupt ausgeführt wird: http://stefanfrings.de/esp8266/index.html#fwupdate Den Ultrashall Sensor kannst du mit 3,3V triggern, das genügt ihm. Dessen Echo Ausgang kannst du über einen Spannungsteiler (Beispiel siehe meine Homepage) mit einem Eingang vom ESP verbinden.
Stefanus F. schrieb: > Vielleicht funktioniert dein Levelshifter nicht gut. Es wäre gut > gewesen, von dem ganzen Aufbau wenigstens einen Block-Schaltplan zu > zeigen und die konkreten Produkte zu benennen. Hallo Stefan, wie schon geschrieben habe ich die einzelnen Komponenten getestet. Mit den Levelshifter hab ich den ESP auch neu geflasht. So viel gibt da nicht zu sehen. Stefanus F. schrieb: > Von welcher blauen LED schreibst du? Woran ist sie angeschlossen? Die Diode auf dem ESP. Stefanus F. schrieb: > Es wäre sicher auch hilfreich, die Bilder vom Oszilloskop zu zeigen, > anstatt sie so vage zu beschreiben. Ich trigger und bekomme ein Impuls als Echo, was für ein Osszibild erwartest du denn ? ich kann gerne ein bild machen, ich weiß nur nicht wie das helfen soll meine Fragen zu beantworten. Stefanus F. schrieb: > GPIO0 und GPIO2 müssen beim Start (Reset) bestimmte Pegel haben, damit > die Firmware überhaupt ausgeführt wird: > http://stefanfrings.de/esp8266/index.html#fwupdate Ja, das ist doch schon abgeschlossen. Es ging doch jetzt darum zu klären wie ich die GPIO nach dem flashen nutzen kann.
> habe ich die einzelnen Komponenten getestet Aber nicht zusammen. Bzw. du testest sie gerade zusammen und sie funktionieren eben NICHT. > So viel gibt da nicht zu sehen. Ich kann Dir helfen, aber nur wenn mir klar ist, was du da machst. Für mich gibt es da eine Menge zu sehen. Zeige dein Blockschaltbild und bitte auch Fotos vom Aufbau. Es kann ja sein, dass dein Aufbau nicht dem Plan entspricht. Das soll kein Vorwurf von Doofheit sein, sondern basiert einfach auf Erfahrung. Je mehr Augen drauf schauen, umso eher wird der Fehler gefunden. Solange du alles schön und gut beschreibst, ist kein Fehler erkennbar. Wenn in deiner Beschreibung ein Haken wäre, hättest du ihn selbst erkannt. > ich weiß nur nicht wie das helfen soll meine Fragen zu beantworten. Ich möchte sehen, ob die Form und Pegel der Impulse gut sind und ob das Timing dem Soll entspricht. Alternativ könntest du mit einem erprobten Programm vergleichen. Ich nehme an, dass du auch AVR Mikrocontroller vorliegen hast. Dann probiere mal das: http://stefanfrings.de/hc-sr04/index.html Du hast noch nicht verraten, welches ESP Modul und welchen Levelshifter du verwendest.
Anbei ein Blockschaltbild, Fotos vom Aufbau und vom Sensortest (roter Kanal Trigger und der gelbe das Echo). Ich benutze den ESP01 mit ESPEasy_R120 geflasht. Das ist der Levelshifter https://www.ebay.de/itm/5Pcs-4-Channel-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V/272810240638?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2648, Blockschaltbild ebenfalls angehangen.
Hab mir Deine Bilder nicht im Detail angesehen, aber was mich etwas stutzig macht ist die Beschreibung des LevelKonverters: "Each level converter has the capability of converting 4 pins on the high side to 4 pins on the low side with two inputs and two outputs provided for each side." Versuchs mal ohne Level-Konverter: Der HC04 braucht zwar 5V Versorgungsspannung, aber triggern kannst ihn auch mit 3,3V Und die Rückmeldung vom HC04 hat zwar 5V, aber die Verträgt der ESP8266 am Eingang
Der Levelshifter ist für den I²C Bus gedacht, aber ich denke, das ist gerade nicht dein Hauptproblem. > Und die Rückmeldung vom HC04 hat zwar 5V, aber die > Verträgt der ESP8266 am Eingang Nur mit Glück. Wer sich nicht auf Glück verlässt, liest das Datenblatt. Falls Dir der Levelshifter suspekt ist, kannst du dein Ultrashallmodul wirklich mal direkt mit dem 3,3V Signal triggern und dessen Echo Ausgang über einen simplen Spannungsteiler auf 3,3V runter bringen:
1 | 1k Ohm |
2 | 5V Signal o---[===]---+-------> 3,3V |
3 | | |
4 | GND |---[===]---+ |
5 | 2,2k Ohm |
Was zeigt das Oszilloskop-Bild? Ich würde gerne mal die beiden Signale (Echo und Trigger) am jeweiligen Ausgang des Levelshifters sehen. Am Besten beide zusammen in einem Bild, so dass man zuerst den Trigger Impuls und dann danach den Echo-Impuls sehen kann. Beide Kanäle sollen bitte so eingestellt sein, das sie bei wirklichen Null Volt (also GND) auch auf der Null-Linie stehen. Noch ein Tipp zum Aufbau: Sieht gut aus, bis auf eine Kleinigkeit: Das ESP Modul benötigt einen Elko mit 100µF oder 220µF direkt ans Modul gelötet (nicht an den Adapter), damit es zuverlässig funktioniert.
Stefanus F. schrieb: > Nur mit Glück. Wer sich nicht auf Glück verlässt, liest das Datenblatt. Das ist ein alter Übersetzungsfehler der sich immer noch hartnäckig hält: hier die Stellungnahme vom Espressiv-Chef: Teo Swee Ann i can reply officially here: it is 5V tolerant at the IO. while the supply voltage is at 3.3V. https://www.facebook.com/groups/1499045113679103/permalink/1731855033731442/?hc_location=ufi
Ja, diese angebliche Stellungnahme wird immer wieder zitiert. Ist
sortiere sie als klassische Fake News ein.
Abgesehen davon, schau mal wie viele Revisionen des Datenblattes NACH
diesem Statement herausgegeben wurden. Im aktuellen Datenblatt Kapitel
5.1 steht unmissverständlich:
> I/O VIH max 3,6V
Da gibt es nichts falsch zu übersetzen.
Wenn du meinst, auf 5V gehen zu können und mit dieser Methode deine
Firma zu Grunde richtest, kannst du ja mal Espressif um Aushilfe bitten.
Die werden sich vor Lachen auf den Boden werfen.
Stefanus F. schrieb: > Ich würde gerne mal die beiden Signale (Echo und Trigger) am jeweiligen > Ausgang des Levelshifters sehen. Am Besten beide zusammen in einem Bild, > so dass man zuerst den Trigger Impuls und dann danach den Echo-Impuls > sehen kann. So hab ich gemacht. Rot = Trigger und Ausgang vom Levelshifter. Gelb = Echo und Ausgang vom Levelshifter. Versteh das bitte nicht falsch ich bin echt froh, dass sich einer soviel Mühe gibt und versucht zu helfen. Nur ich verstehe gerade die Vorgehensweise nicht so ganz. Ich hatte doch schon gesehen, dass der ESP01 gar kein Trigger-Signal rausgibt und so auch kein Echo zurück kommen kann. Warum untersuche ich dann jetzt den Levelshifter, wenn damit schon eigentlich klar ist, dass der ESP01 das Problem sein muss ? Manfred Scheer schrieb: > Ist vermutlich ein ESP01...weil GP0 und GP2 verwendet werden. Besser > ESP12F verwenden, weil GP0 und GP02 von Espeasy bzw. vom ESP01 intern > verwendet werden. Hatte die selbe Erfahrung gemacht. Besser ESP12F und > andere GP Pins verwenden. Manfred hatte doch schon geschrieben, dass die Eingänge auch für andere Zwecke gebraucht werden, was meine Vermutung wieder stützt, dass der ESP01 das Problem ist und ich deshalb auch kein Triggersignal bekomme. Eine Alternative für mich wäre entweder den vorgeschlagenen ESP12F zu benutzen oder für den ESP01 eine Firmware drauf zu spielen, welche die GPIO's ich die dafür brauche für die Zwecke auch benutzt. Das ESPEasy kann das anscheinend nicht. Ich würde fast schon die erste Alternative bevorzugen, da ich hier das Rad nicht neu erfinden will, indem ich eine komplett neue Firmware dafür schreibe.
Das Triggersignal hat auf jeden Fall die falsche Form. Es soll ein kurzer Impuls sein. Außerem gefällt mir das gelbe Signal nicht. Dein Levelshifter hebt es nicht auf 5V, mit der gezeigten Spannung ist es reine Glückssache ob der High Pegel als High erkannt wird.
Stefanus F. schrieb: > Das Triggersignal hat auf jeden Fall die falsche Form. Es soll ein > kurzer Impuls sein. Ich hatte doch schon geschrieben, dass ich kein Trigger vom ESP bekomme und das manuell auslösen muss. Stefanus F. schrieb: > Außerem gefällt mir das gelbe Signal nicht. Dein Levelshifter hebt es > nicht auf 5V, mit der gezeigten Spannung ist es reine Glückssache ob der > High Pegel als High erkannt wird. Gelb = Echo und Ausgang vom Levelshifter. Das Echo hat 5V vom Sensor und wird mit den Levelshifter für den ESP auf 3,3V gebracht. Was ist daran verkehrt ? P. F. schrieb: > Versteh das bitte nicht falsch ich bin echt froh, dass sich einer soviel > Mühe gibt und versucht zu helfen. Nur ich verstehe gerade die > Vorgehensweise nicht so ganz. Ich hatte doch schon gesehen, dass der > ESP01 gar kein Trigger-Signal rausgibt und so auch kein Echo zurück > kommen kann. Warum untersuche ich dann jetzt den Levelshifter, wenn > damit schon eigentlich klar ist, dass der ESP01 das Problem sein muss ? Was sagst Du denn zu meinen Einwand ?
> Gelb = Echo und Ausgang vom Levelshifter. Das Echo hat 5V > vom Sensor und wird mit den Levelshifter für den ESP auf > 3,3V gebracht. Was ist daran verkehrt ? Sorry, ich habe da was durcheinander gebracht. Facepalm. Da ist nichts verkehrt.
Manfred Scheer schrieb: > Ist vermutlich ein ESP01...weil GP0 und GP2 verwendet werden. Besser > ESP12F verwenden, weil GP0 und GP02 von Espeasy bzw. vom ESP01 intern > verwendet werden. Hatte die selbe Erfahrung gemacht. Besser ESP12F und > andere GP Pins verwenden. So, ich hab jetzt auf einen ESP12 gewechselt. Das Ergebnis ist jedoch das selbe ? Wo ist mein Denkfehler ?
Hat keiner eine Idee ??? Die teile sind doch schon 100fach in Benutzung, warum geht das bei mir nicht ?
:
Bearbeitet durch User
P. F. schrieb: > Die teile sind doch schon 100fach in Benutzung Da wäre ich Dir nicht ganz so sicher. Ich bezweifle allerdings nicht, dass du diese Zahl irgendwo her hast. Dann frage doch mal dort nach. Irgendwo müssen die 100 Leute ja sein, die das ans Laufen gebracht haben. Frage mal dort: https://www.letscontrolit.com/forum/
Stefanus F. schrieb: > P. F. schrieb: >> Die teile sind doch schon 100fach in Benutzung > > Da wäre ich Dir nicht ganz so sicher. > > Ich bezweifle allerdings nicht, dass du diese Zahl irgendwo her hast. > Dann frage doch mal dort nach. Irgendwo müssen die 100 Leute ja sein, > die das ans Laufen gebracht haben. > > Frage mal dort: https://www.letscontrolit.com/forum/ Hi Stefan, hast du die Teile im Einsatz ? Hast du keine Idee mehr ? In den letzten Beiträgen schien es mir so als hättest du damit Erfahrung.
P. F. schrieb: > hast du die Teile im Einsatz ? Hast du keine Idee mehr ? In den letzten > Beiträgen schien es mir so als hättest du damit Erfahrung. Ich habe ESP Module und auch diese HC_SR04 Module im Einsatz, aber nicht mit dieser ESPEasy Software. Soweit ich die bisherigen Informationen deuten kann, scheint es sich wohl um einen Softwarefehler zu handeln.
Stefanus F. schrieb: > Ich habe ESP Module und auch diese HC_SR04 Module im Einsatz, aber nicht > mit dieser ESPEasy Software. Welche Firmware verwendest Du denn ?
wo sendet ESPEasy denn die Daten hin? Ich kenne das so das ein Controller definiert wird und hinter dem 'Send Data' steht dann noch die Controller Nummer wo der Wert reingeschrieben wird. Der Controller ist dann z.B. ein MQTT Broker und da sieht man den Wert dann. Den HC-SR404 habe ich nicht an ESPEasy, habe das bisher mit Zählereingängen und DigitalOut laufen. Einen HC könnte ich heute Abend mal anklemmen.
Johannes S. schrieb: > wo sendet ESPEasy denn die Daten hin? Irgends. Ich kann die über den Browser unter den Einstellung einsehen, wenn sie mal da wären. In den vorherigen Tests mit dem ESP01, hatte ich schon geschrieben, dass auch beim messen mit den Osszi kein Echo des Sensors bzw. auch kein Trigger Signal vom ESP zum Sensor sehen kann. Jetzt hatte ich den ESP01 gegen einen ESP12 getauscht und hab genau das selbe Problem. Johannes S. schrieb: > Einen HC könnte ich heute Abend > mal anklemmen. Das wäre gut.
Stefanus F. schrieb: > Selbst geschriebene, mit Arduino. Ich will das Ganze in meine Smartautomatisierung ioBroker einbinden. Da wäre die ESPEasy-Firmware genau richtig dafür.
P. F. schrieb: > Ich will das Ganze in meine Smartautomatisierung ioBroker einbinden. Da > wäre die ESPEasy-Firmware genau richtig dafür. Wenn sie denn funktioniert. Ich würde es weiter versuchen, vor allem mit Hilfe aus dem zugehörigen Support Forum.
Stefanus F. schrieb: > Wenn sie denn funktioniert. Ich würde es weiter versuchen, vor allem mit > Hilfe aus dem zugehörigen Support Forum. Die Software selber funktioniert ganz gut, nur die Kombi mit dem Sensor nicht. Mein Englisch ist zwar nicht das Beste, aber ich denke dafür müsste es reichen.
Welche Pegel hast du den am ESP Trigger Ausgang. Ein kurzer Blick in das ESPEasy Wiki zeigt das diese als Output High oder Output Low definierbar sind. Dies soll den Default Pegel des Pins nach dem Booten angeben. Hast du mit dieser Einstellung mal gespielt und verifiziert das die Pegel nach aufstarten des ESP Moduls mit der Einstellung übereinstimmen? Siehe auch den Hinweis unter Devices, vielleicht hilft auch das ...
:
Bearbeitet durch User
Markus S. schrieb: > Welche Pegel hast du den am ESP Trigger Ausgang. Ein kurzer Blick in das > ESPEasy Wiki zeigt das diese als Output High oder Output Low definierbar > sind. Dies soll den Default Pegel des Pins nach dem Booten angeben. > > Hast du mit dieser Einstellung mal gespielt und verifiziert das die > Pegel nach aufstarten des ESP Moduls mit der Einstellung übereinstimmen? Guter Punkt. Das obige Oszilloskopbild zeigt rot den Trigger, und zwar nur eine einzige Flanke von High nach Low. Ich "zitiere" mal davon:
1 | _________ |
2 | Trigger: |___________________________________________ |
3 | _________________ |
4 | Echo: ____________| |_______________________ |
Wann wurde diese ausgelöst? Wann geht die rote Linie zurück auf High? Meine HC-SR04 Module erwarten einen LOW Ruhepegel und einen kurzen High-Impuls als Trigger:
1 | _ |
2 | Trigger: _______| |_____________________________________________ |
3 | ________________ |
4 | Echo: ____________| |_________________________ |
Eine nächste Kontrollmöglichkeit bietet das Logging der Firmware, was steht dort im Log? Wird überhaupt versucht den HC-SR04 Sensor anzusprechen oder hast du noch ein anderes Problem?
Stefanus F. schrieb: > Meine HC-SR04 Module erwarten einen LOW Ruhepegel und einen kurzen > High-Impuls als Trigger: > _ > Trigger: _______| |_____________________________________________ > ________________ > Echo: ____________| |_________________________ Ja, funktioniert aber auch mit langem High Pegel, gerade ausprobiert. Wird wahrscheinlich durch fallende Flanke getriggert.
:
Bearbeitet durch User
P. F. schrieb: > Stefanus F. schrieb: >> Das Triggersignal hat auf jeden Fall die falsche Form. Es soll ein >> kurzer Impuls sein. > > Ich hatte doch schon geschrieben, dass ich kein Trigger vom ESP bekomme > und das manuell auslösen muss. Auch bei den ESP12 bekomme ich kein Trigger. Dann kann ich auch kein Echo des Sensors erwarten. Markus S. schrieb: > Welche Pegel hast du den am ESP Trigger Ausgang. S.o. Markus S. schrieb: > Siehe auch den Hinweis unter Devices, vielleicht hilft auch das ... Das probiere ich noch aus. Hatte das so beibehalten wie es war. Stefanus F. schrieb: > Das obige Oszilloskopbild zeigt rot den Trigger, und zwar nur eine > einzige Flanke von High nach Low. Ich "zitiere" mal davon: Ich hatte dort nur den Levelshifter getestet (Handtigger), ob es auch den Pegel ausgibt der sein soll. Markus S. schrieb: > Eine nächste Kontrollmöglichkeit bietet das Logging der Firmware, was > steht dort im Log? Wird überhaupt versucht den HC-SR04 Sensor > anzusprechen oder hast du noch ein anderes Problem? Guter Tipp. Guck ich nach.
und einen Controller muss man wirklich nicht anlegen? In deinem Setup wird auch die Checkbox 'enabled' und die Spalte 'enabled' nicht angezeigt.
Johannes S. schrieb: > In deinem Setup > wird auch die Checkbox 'enabled' und die Spalte 'enabled' nicht > angezeigt. Wie sieht es denn bei dir aus ?
kann ich noch nicht testen, aber eine enabled Spalte habe ich wenn ich einen Controller anlege. Im letscontrolit Forum gibt es aber ähnliche Berichte, der HC scheint in der aktuellen Version tatsächlich nicht mehr zu funktionieren, ältere Firmware <= 20180606 soll noch ok sein. http://www.letscontrolit.com/forum/viewtopic.php?f=18&t=5605&p=29939&hilit=hc+sr04#p29939
P. F. schrieb: > ich hab den ESP8266 mit der Firmware ESPEasy_R120 geflasht Ich hab doch die R120. Ich kann aber gerade noch nicht nachvollziehen was der Unterschied zwischen der R120 und der "...mega..."-Version ist von der die schreiben.
R120 sagt mir auch nichts, hier wäre die Vesion vor der grösseren Änderung für mehrere HC-SR04: https://github.com/letscontrolit/ESPEasy/releases/tag/mega-20180606
Johannes S. schrieb: > R120 sagt mir auch nichts, hier wäre die Vesion vor der grösseren > Änderung für mehrere HC-SR04: > https://github.com/letscontrolit/ESPEasy/releases/... Danke. Neben den o.g. Einstellungen, werde ich auch mal die ältere Firmware testen.
Stefanus F. schrieb: > Woran hat es letztendlich gelegen? An der Firmware. Ich hab über github die ältere Version 20180606 runtergeladen und neu geflasht. Damit geht es ohne Probleme. Aber nur der ESP12. Der ESP01 lässt sich zwar flashen, gibt beim booten aber einen Fehler. Johannes S. schrieb: > Im letscontrolit Forum gibt es aber ähnliche Berichte, der HC scheint in > der aktuellen Version tatsächlich nicht mehr zu funktionieren, ältere > Firmware <= 20180606 soll noch ok sein. > http://www.letscontrolit.com/forum/viewtopic.php?f=18&t=5605&p=29939&hilit=hc+sr04#p29939 Danke für den Tip.
P. F. schrieb: > Der ESP01 lässt sich zwar flashen, gibt beim booten aber > einen Fehler. Die hatten ursprünglich nur 512k Byte Flash Speicher. Meine mit 512k byte sind blau. Die neueren mit 1M Byte sind schwarz. Ich bin aber nicht sicher, ob die Farbe ein verlässliches Kennzeichen ist.
Ich hab auch die 1024 byte version geflasht. Ging nicht. Egal, Ziel erreicht. Danke.
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.