Eingangsbeschaltung ESPEasy LoLin NodeMCU V3

Begonnen von Antimaster, 29 Juni 2017, 08:06:48

Vorheriges Thema - Nächstes Thema

Antimaster

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?

pink99panther

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.
.
.
.
.

Otto123

#2
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  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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

pink99panther

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

Antimaster

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.

Otto123

Auf der Platine ist ein LM393 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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Antimaster

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.

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Antimaster


Otto123

#9
D3 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

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

FLOK

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....

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

FLOK

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?

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

FLOK

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...