Strom GPIO 24 und Gaszähler GPIO 23 am Raspberry - Impulszählung fehlerhaft.

Begonnen von avolkmer, 20 Juli 2017, 11:27:07

Vorheriges Thema - Nächstes Thema

avolkmer

Hallo,

ich habe ein Problem mit der Zählung der Impulse beim Anschluss an dem Raspberry2.
Gas-Reederkontakt an GPIO 23 - PIN 16 und GND PIN 6 (Impulse je 1/100 m³)
Stromzähler S0 an GPIO 24 - PIN 18 und GND PIN 20 (Impulse je 1/1600 kWh)

Der Gaszähler lief bevor ich den Stromzähler angeschlossen habe Problemlos.
Nach dem ich den Stromzähler angeschlossen habe, zählen beide Zähler zu wenig Impulse.

Könnt Ihr sagen, ob ich was falsch angeschlossen habe oder was das Problem sein könnte.

Danke!

Alex

klausw

Seltsam das es nur mit dem Gaszähler funktionierte.
Hast du Pullups an den GPIOs dran?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

avolkmer

Hallo,

ich habe die beiden S0 Kabel und die beiden vom Reedersensor direkt auf die Pins auf dem Raspberry gesteckt.
Kann es sein das die Verarbeitung zu langsam ist und deswegen, einzelne Signale nicht ankommen?
Wie gesagt, der Gas HourCounter alleine zählte seit Tagen zuverlässig.

Danke für die Hilfe!

Alex

klausw

Redest du jetzt von S0=https://de.wikipedia.org/wiki/S0-Schnittstelle oder Reedkontakten?  8)
Eine S0 Schnittstelle kannst du meines Wissens nicht direkt an den GPIO anschließen. Zum einen arbeitet sie mit einer höheren Spannung und weiterhin muß die Schnittstelle auch versorgt werden.

Einen Reedkontakt kannst du direkt anschließen (vorrausgesetzt das Kabel ist nicht ewig lang).
Allerdings ist ein Reedkontakt halt auch nur ein Kontakt. Der kann offen oder geschlossen sein.
Geschlossen -> in deinem Fall Kurzschluß zu GND (GPIO 23 - PIN 16 und GND PIN 6) -> GPIO ist LOW
Offen -> Pin floatet -> GPIO kann LOW oder High sein

Lösung: 10k Widerstand von 3,3V auf den GPIO. In diesem Fall ist der GPIO bei offenem Reedkontakt definitiv HIGH
Vermutlich prellt der Kontakt. In diesem Fall kannst du mit dem Attribut debounce_in_ms spielen.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

avolkmer

Danke für die Info.
Ich redete von beiden. Aber ich habe jetzt auch gelesen, das man den S0 nicht direkt anschliessen kann.
Werde wohl beim Stromzähler doch die RS485 und das OBIS Modul verwenden,
dann sollte ja der Reederkontakt vom Gas wieder problemlos funktionieren.

Gruss!

Alex

Otto123

Hallo Alex,

Die S0 Schnittstelle am Zähler ist eigentlich ein stromloser Kontakt, die elektronischen Zähler mit S0 Schnittstelle die ich kenne sind mit einer open Kollektor Schnittstelle ausgestattet.
Am Eingang muss also ein PullUp Widerstand sein, den kannst Du entweder extern verschalten oder am GPIO Pin intern aktivieren.

Durch Open Kollektor ist die Schnitttstelle aber nicht unipolar, sie hat einen Plus und einen Minus Pol - minus an GND (Masse), Plus an GPIO mit PullUp.

Ich zähle S0 mit Arducounter, der GPIO ist vom Prinzip her wie beim Pi verwendet.


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