FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: Antimaster am 29 Juni 2017, 08:06:48

Titel: Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Antimaster am 29 Juni 2017, 08:06:48
Hallo,
Ich benutze ein LoLin NodeMCUV3 mit EspEasy zum auslesen von meine Gaszähler mittels Reedkontakt. Im Espeasy ist Counter eingestellt und der Reedkontakt schaltet den GND auf den Eingang D2. Das funktioniert auch super. Jetzt möchte ich meinen Elektrozähler mit dem TCRT5000 auslesen. Dabei wird am Impuls-Ausgang vom TCRT5000 beim erkennen der Markierung 3,3V geschaltet. Wenn ich diese 3,3V auf einen Input bei der NodeMCU lege wird jedoch nicht gezählt. Mit GND wie beim Reedkontakt würde es gehen. Ich denke das Problem ist der interne Pullup. Kann das über das Webinterface geändert werden? Wäre es sonst möglich einfach einen Widerstand mit 100k zwischen Signal und GND zu setzen um das Signal auf GND zu ziehen beim schalten oder wie müsste die Schaltung aussehen um am Eingang mit GND zu zählen?
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: pink99panther am 29 Juni 2017, 09:01:18
Hallo Antimaster
100k ist zu viel

Ich hab:
Zitat von: pink99panther am 30 November 2016, 23:33:50
.
.
.
.
.................
Der Ausgang S0+ wird mit den 3,3V (VCC) des ESP verbunden.
Der S0- wird mit dem GPIO der als Zähleingang definiert wurde verbunden.
Außerdem wird ein Widerstand 1 bis 5 kOhm von diesem GPIO gegen GND angebracht.
.
.
.
.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 29 Juni 2017, 10:32:01
Hi,

Du meinst nur mit dem TCRT5000 kannst Du deinen Ferrariszähler auslesen?  :-[

Der TCRT5000  enthält doch nur Fotodiode und  Fototransistor. Die Beschaltung kannst Du doch wählen? Oder meinst Du die kleine Platine wo ein TCRT5000   (http://www.ebay.com/itm/TCRT5000-infrared-reflective-sensor-tracking-sensor-for-Arduino-Kits-/151246650568)drauf ist? Der D0 Ausgang sollte einen Ordentlichen Masse Pegel liefern?

Das dürfte trotzdem keine sinnvolle Impulserkennung ergeben.

Das läuft bei mir stabil -> http://heinz-otto.blogspot.de/2016/10/ferrariszahler-abtasten-ein-experiment.html

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: pink99panther am 29 Juni 2017, 10:42:11
Ups, der TCR... is ja nur eine einfache Reflexlichtschranke.

Dann besorg Dir lieber so was wie hier verlinkt!
Zitat von: locutus am 22 Januar 2017, 00:28:01
Impulsgeber mit S0-Schnittstelle für konventionelle Stromzähler: http://www.stall.biz/project/impulsgeber-mit-s0-schnittstelle-fuer-konventionelle-stromzaehler
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Antimaster am 29 Juni 2017, 13:51:30
Ja ich habe das kleine Platinchen. Bisher läuft die Lichtschranke recht gut. Es wird die Zählscheibe erkannt. Hab jetzt die Eingangsbeschaltung so geändert, dass parallel zum Input ein 1kOhm Widerstand gegen Masse ist. Jetzt könnte das mit dem Zählen klappen. Obwohl ich aber im ESPEasy-Device beim Pulsecounter Falling eingestellt habe zählt er 2 Impulse. 1 beim Anlegen von 3,3V und 1 beim abfallen. Kann doch nicht richtig sein. Habe noch andere Modi zur Verfügung: Rising, Falling, LOW, Change. Bei Rising und Change macht er das gleiche. Bei LOW zählt er gar nicht. Die Tests waren bis jetzt auch nur ohne Modul. Einfach Draht zwischen 3,3V und GPIO.
Irgendwie verstehe ich das langsam nicht mehr.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 29 Juni 2017, 14:01:24
Auf der Platine ist ein LM393  (http://www.st.com/content/ccc/resource/technical/document/datasheet/group1/b4/cc/cf/13/18/28/44/f5/CD00000465/files/CD00000465.pdf/jcr:content/translations/en.CD00000465.pdf)verbaut. Der hat am Ausgang einen Transistor der den Ausgang D0 nach Masse zieht und die LED zum leuchten bringt.

Wenn Du den simulieren willst musst Du deinen Draht zwischen Eingang und Masse halten und nicht nach Plus  :-X
Was Du machst ist genau verkehrt herum.

Dein Draht wird aber prellen, also mich würden ein paar Hundert Impulse nicht wundern.

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Antimaster am 30 Juni 2017, 07:24:32
Ich habe jetzt verschiedenste Varianten probiert, bin aber nicht weiter gekommen. Die Lichtschranke sendet dauerhaft VCC (3,3V) an die NodeMCU. Kommt die rote Markierung vorbei, wird die Spannung ungefähr 0. D.h. es sind noch ca.50 Ohm Widerstand zwischen GND und DO.

1. Test: Parallel zum GPIO einen 1kOhm auf Masse. Wenn 3,3V mittels Draht angelegt werden, wird gezählt. Wenn die Platine angeschlossen wird, schaltet der Ausgang nicht mehr richtig und die grüne LED leuchtet dauerhaft, mal hell, mal dunkel aber nie aus. Dadurch keine Zählung möglich.

2. Test: Signal direkt an den GPIO, da ja der Transistor den Ausgang nach Masse ziehen soll. Restwiderstand 50 Ohm, LED an der TCRT geht normal aus und an, gezählt wird aber trotzdem nicht. Wahrscheinlich, weil die Masse doch nicht richtig durchgeschaltet wird. Mit einem Draht zwischen GND und GPIO klappt es ebenfalls super. Nur eben nicht mit der Platine.

So langsam weiß ich nicht mehr, was ich machen kann.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 30 Juni 2017, 09:29:10
Moin,

zu deinem Test 1 - das Ergebnis ist vorhersehbar! Auf der kleinen Platine sind 1kOhm und eine LED nach Plus geschaltet. Mit deinem 1 kOhm nach Masse fließt dauerhaft Strom durch die LED. Du hast Damit quasi das Modul außer Funktion gesetzt.

Zu Test 2 - Welchen GPIO verwendest Du?

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Antimaster am 30 Juni 2017, 12:28:26
Ich habe es mit GPIO D3 und D0 probiert
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 30 Juni 2017, 13:02:28
D3 und D0 sind nicht völlig frei benutzbar. Beide Pins haben eine Beschaltung siehe Bild  (https://raw.githubusercontent.com/nodemcu/nodemcu-devkit/master/Documents/NODEMCU_DEVKIT_SCH.png) und PinOut (https://github.com/nodemcu/nodemcu-devkit-v1.0/blob/master/Documents/NODEMCU_DEVKIT_V1.0_PINMAP.png)

Benutze ein völlig freies Pin z.B. D1 oder D2

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 05 Juli 2017, 09:11:24
Ich mag mich hier jetzt mal einklinken  :P

ZitatD3 und D0 sind nicht völlig frei benutzbar. Beide Pins haben eine Beschaltung siehe Bild und PinOut

Benutze ein völlig freies Pin z.B. D1 oder D2

Ich habe nun auch meinen ersten NodeMCU LoLin V4 und habe dort ESPEASY geflashed.
Um ganz einfach anzufangen habe ich einen Temperatursensor DS18B20 mit 4,7K Pullup Widerstand installiert.
Anleitungen gibt es im Netz ja zu Hauf.
Allerdings kommen regelmäßig merkwürdige Temperaturen rüber...
Zitat
Temperature: 85.12
Temperature: 23.31
Temperature: 23.38
Temperature: 23.56
Temperature: 23.81
Temperature: 85.12
Temperature: 24.50
Temperature: 25.12
Temperature: 85.12

Angeschlossen habe ich die Datenleitung an D4. Könnte es daran liegen?
Du schreibst man sollte einen komplett freien PIN nutzen.
Diese sind aber ausgegraut  :-[

Ehrlich gesagt tue ich mir wirklich schwer mit diesen PINouts....
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 05 Juli 2017, 09:27:54
Ja stimmt, D1 und D2 sind per default in ESPEasy mit SDA SCL definiert.

Ich habe selbst DS18B20 Sensoren  an GPIO-0 - D3 die funktionieren einwandfrei.

Ehrlich gesagt, bin ich mir über die genaue Belegung und Beschaltung und deren Einflüsse nicht hundert Prozent sicher. Ich kann die Schaltpläne lesen, ich sehe die Pin-Outs die irgendwelche Reservierung zeigen. In sofern kann ich die Schwierigkeiten, die Antimaster mit 50 Ohm zwischen Eingang und Masse sieht nicht wirklich nachvollziehen. Dann dürfte ein DS18B20 sicher gar nicht funktionieren.

Woher jetzt Deine Fehler bei der Temperatur kommen, kann ich nicht sagen. Ich meine ich hätte dazu schon mal was gelesen, aber wo?
Tut mir leid, da kann ich ad Hoc nur wenig helfen.

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 05 Juli 2017, 09:42:37
ZitatIch habe selbst DS18B20 Sensoren  an GPIO-0 - D3 die funktionieren einwandfrei.
Merkwürdig. Liegts am Widerstand? Was nutzt du?

Kann man Pins "frei" machen?
SDA und SCL sind ja für mein Verständnis für I2C, oder?
Nutze ich ja nicht....

Eine grundsätzliche Sache:
Wenn ich ESPeasy flashe muss ich eigentlich etwas auf dem "Hardware"-Tab ändern?
Oder sind alle Geräte (NodeMCU, Wemos etc...) identisch?
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 05 Juli 2017, 09:50:13
Widerstand -> Ich habe zwei Sensoren parallel dran und der Widerstand ist 3,3 kOhm.

Flashen, hängt davon ab wie Du flashst. Ich bevorzuge das Tool, was dabei ist (flash.cmd)
Bei dem ESP8266Flasher.exe ist es bei mir bei Wemos NodeMCU und Witty gleich. Aber bei eingebauten Modulen kann es schon mal anders sein. Kann ich Dir aber nicht genau sagen.

Schau mal hier im 1wire Board ob Du was findest https://forum.fhem.de/index.php/board,26.0.html

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 05 Juli 2017, 11:22:29
Ich habe die Vermutung dass das ganze am "Deep Sleep" liegt.
Der NodeMCU wir bei mir alle 3 Minuten geweckt.
85 Grad ist wohl so eine Art "Power-On" Wert, den der DS18B20 schickt, noch bevor der irgendwas gelesen hat...
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: dev0 am 05 Juli 2017, 12:21:03
Zitat von: FLOK am 05 Juli 2017, 11:22:29
85 Grad ist wohl so eine Art "Power-On" Wert
Der Wert 85 ist eher eine Fehlermeldung, wenn ich mich recht erinnere. Details dazu solltest Du aber im Datenblatt finden.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 05 Juli 2017, 12:33:27
Zitat von: dev0 am 05 Juli 2017, 12:21:03
Der Wert 85 ist eher eine Fehlermeldung, wenn ich mich recht erinnere. Details dazu solltest Du aber im Datenblatt finden.
Aus dem Datenblatt:
*The power-on reset value of the temperature register is +85°C.

Jetzt müsste man natürlich wissen, was im Deep-Sleep passiert und warum er das sendet...
Der DS18B20 liegt doch dauerhaft unter Spannung....
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 05 Juli 2017, 18:18:48
Bei mir ist der ESP immer an.  8)

Wenn ich die Maßnahmen im Netz richtig verstehe, lesen die nach einem deep sleep einfach zweimal ein und werfen quasi den 85 Wert weg.

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 05 Juli 2017, 18:25:23
Ja, habe ich auch gelesen. Lässt sich bei espeasy aber scheinbar nicht setzen, oder?
Und wenn ich es selbst in Arduino programmiere, weiß ich nicht wie ich die Daten an Fhem bekomme, ohne Broker.... soweit bin ich noch nicht

Gesendet von meinem Pixel mit Tapatalk

Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 05 Juli 2017, 21:20:14
ist doch egal wo Du den Wert weg wirfst, kannst es doch auch in FHEM tun.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 05 Juli 2017, 21:24:43
Hilf mir Mal auf die Sprünge bitte....
Wie Sorge ich dafür,dass Werte = oder größer 85 nicht ins Log kommen.


Gesendet von meinem Pixel mit Tapatalk

Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 05 Juli 2017, 21:50:30
ganz spontan: Du machst ein userReading, klammerst dort genau den Wert aus und loggst das userReading.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 06 Juli 2017, 08:12:16
Hm  ???
Mal schauen, ob ich da was sinnvolles finden kann.
Behalte ich zumindest im Hinterkopf.

Allerdings ist das Problem damit nicht wirklich gelöst...
Nehmen wir an, ich messe alle Stunde 1 Mal. Wenn ich dann z.B. 5x hintereinander nur Mist bekomme (sprich 85°)
fehlen mir ganze 5 Stunden in meinem Log/Graphen....irgendwie unschön  :-\
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 06 Juli 2017, 10:32:01
Wenn Du Abtastfrequenz erhöhst so das er zwei Werte sendet? Keine Ahnung ob das geht  :-X Aber so machen die es ja in ihrem "Sondersketch"
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: dev0 am 06 Juli 2017, 12:27:23
Wenn ESPEasy diesen "Effekt" nicht abfängt, dann einen Issue (https://github.com/letscontrolit/ESPEasy/issues/new) auf Github eröffnen oder besser noch einen Patch schreiben und als Pull Request einreichen.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: FLOK am 07 Juli 2017, 11:00:12
Es läuft jetzt  :)

Folgende Änderungen:

- dem 4,7K Widerstand einen 2. in Reihe geschaltet (~ 9,4kOhm)
- statt Breadboard alles auf Lochraster gelötet

Was nun zum erfolgt führte kann ich nicht sagen.
Entweder ist das Breadboard mist, oder die Steckbrücken, oder sonstwas...oder der Pullup-Widerstand war zu klein

Zumindest habe ich seit 170 Messungen keinen "Ausreißer" mehr gehabt.
Senden aus dem Deep-Sleep alle 5 Minuten.
Stromversorgung aus einer 18650er Lithiumzelle.

Nichts desto trotz sollte vielleicht der Rat von dev0 in Angriff genommen werden.
Nen Patch schreiben kann ich natürlich nicht. Und bei GitHub bin ich nicht registriert...
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Antimaster am 12 Juli 2017, 08:59:58
So, dann will ich euch auch noch eben meinen Teilerfolg mitteilen. Ich habe die Reflex-Lichtschranke gegen den S0-Impulsgeber von stall.biz getauscht. Erstmal wieder das gleiche Phänomen. Testaufbau war S0- auf GND und S0+ auf GPIO D0. Wieder keine Zählung. Mit 3,3V und Widerstand an D4 auch kein Erfolg.
Dann statt D0 den Eingang D1 getestet und siehe da, es funktioniert. D2 und D3 ebenfalls. Warum genau D0 nicht funktioiniert kann ich nicht sagen, ist aber reproduzierbar.

Jetzt habe ich jedoch noch ein Problem. Der Impulsgeber zeigt über die LED genau an wann die rote Markierung auf der Zählscheibe erkannt wird. In dieser Zeit leuchtet die LED und ESP-Easy sollte einen Impuls zählen. Ich habe jedoch das Problem, dass bei Einschalten der LED ein Impuls gezählt wird und bei fallender Flanke ebenfalls wieder ein Impuls gezählt wird. Dadurch, dass der Zähler recht langsam läuft ist das sehr gut zu erkennen. Woran könnte das noch liegen.
Ich habe auch Gefühl, dass der Gaszähler, der nur über ein Reed-Kontakt GND--> D3 läuft, ein ähnliches Phänomen aufweist. Mit der alten ESP-Easy-Version (nicht Mega) hatte er diese Probleme nicht.
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: Otto123 am 12 Juli 2017, 14:32:31
Zitat von: Antimaster am 12 Juli 2017, 08:59:58
Warum genau D0 nicht funktioiniert kann ich nicht sagen, ist aber reproduzierbar.
Hi,

wenn Du einfach auf den von mir schon weiter oben  verlinkten Schaltplan (https://raw.githubusercontent.com/nodemcu/nodemcu-devkit/master/Documents/NODEMCU_DEVKIT_SCH.png) schaust, D0 geht an GPIO16, dieser ist zum Betrieb der blauen LED mit einem 470 Ohm Widerstand nach VCC verschaltet.

Ich denke es liegt daran.

Gruß Otto
Titel: Antw:Eingangsbeschaltung ESPEasy LoLin NodeMCU V3
Beitrag von: martindlg am 24 Juni 2018, 09:02:14
Habe "fast" das selbe Problem. Nur bei mir verhält es sich so: Dreht sich der Zähler bei hohem Stromverbrauch schnell, bekommen ich einen Impuls, dreht er sich bei wenig Verbrauch dagegen langsam, zwei Impulse!?