I2C Impulszähler / Event-Counter mit PCF8583

Begonnen von Papa Romeo, 24 September 2020, 12:34:49

Vorheriges Thema - Nächstes Thema

Papa Romeo

Ich habe für mein NRF-Projekt einen neuen I2C-Impulszähler benötigt.

Also wer´s brauchen kann, ich hab´n paar Platinen übrig.....

Das Modul hat folgende Spezifikationen:

-   standalone Modul (zählt autark)
-   optional Pufferung über Akku
-   optionaler Optokoppler-Eingang
-   optional LED-Status-Anzeige der eingehenden Impulse
-   zwei I2C-Adressen wählbar
-   Pullup über Jumper zuschaltbar
-   24Cxx Speichermodul aufsteckbar
-   optionaler INT-Ausgang
-   Platine 48 x 23 mm


Problem:

Softwaremäßig muss der PCF8583 über die I2C-Adressen 0xA0 und 0xA2 angesprochen werden.

Hardwaremäßig sieht das aber anders aus.

Das LSB wird für R/W genutzt. Damit bleiben für die Adressierung statt 8 nur noch 7 Bit übrig.
D.h. dass erst das 2te Bit den Platz des LSB´s einnimmt und sich somit die Adressen 0x50 und 0x51 ergeben. (Addresse wird halbiert)
Das hier genutzte Speichermodul für 0.78 Cent hat ebenfalls die fest zugewiesene I2C-Adresse 0x50.
D.h., will man den PCF8583 über die 0xA0 ansprechen und man nutzt dieses Speichermodul, werden die beiden
Komponenten im Endeffekt über die gleiche Adresse angesprochen und der Zähler wird nicht funktionieren.

Abhilfe:

-   Der PCF8583 muss hier dann zwangsweise über die 0xA2(0x51) angesprochen werden, damit das Modul mit diesem Speichermodul richtig arbeitet.

-   Es wird ein Speichermodul verwendet bei dem die I2C-Adresse frei von 0x50 bis 0x57 wählbar ist und ändert die Adresse dann auf Diesem.


LG

Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

AxelSchweiss

Hi
Kommt genau richtig  :D
Ich hätte Bedarf an vier Platinen.
Was sollen die den kosten?

Gruß und Danke
Bernd

Papa Romeo

Hallo Bernd,

wären 3 € incl. Verpackung und Porto ok?


LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

AxelSchweiss

Ja .. auf alle Fälle
Vielen Dank !
Schicke mir doch bitte eine PN wohin das Geld soll.
Gruß und Danke
Bernd

Papa Romeo

ok...und du mir ne PN wohin die Platinen sollen...

Gruß

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

Hallo Bernd,

Platinen sind raus. Hast ne PM.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Adimarantis

Hi Papa Romeo,

Habe mich gerade auch ein wenig mit dem PCF8593 (ist das der Nachfolger vom 8583?) beschäftigt.
Dazu habe ich den jetzt einfach direkt an meinen Raspberry I2C Bus angeschlossen, RESET fest auf 3.3V und zum Testen einen Taster mit RC Glied zum Entprellen am OSCI. Klappt soweit einigermassen.

Die Idee war damit einen Flusszähler (Hallsensor) zu betreiben, der derzeit direkt an einer GPIO hängt, den Raspi (1) aber mit den dauernden Interrupts ziemlich ins Schwitzen bringt.
Bin jetzt eher ein Softwerker und stöpsele Elektronik eher nur zusammen als dass ich wirklich verstehe was sie macht.
Daher auch schnell ein kleines FHEM Modul gebaut (siehe Anhang), dass den Chip entsprechend auslesen und zurücksetzen kann.
Da könnte ich mir jetzt noch die Erweiterung vorstellen, den Alarmgeber zu verwenden, alle 100 oder 1000 Impulse einen Interrupt auszulösen und den an eine GPIO anzuschliessen.

Ich verstehe soweit, dass deine Platine wohl recht flexibel (Spannungen) einsetzbar ist und das Ergebnis wohl puffern kann.
Was leistet die Platine noch, bzw. was übersehe ich potentiell für meinen Anwendungsfall? (kann ich mir da unbedarft was zerschiessen?)

Danke,
Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Papa Romeo

Hallo Jörg,

ich hab das Modul auch als Durchflusszähler am Gas-, Wasserzähler hängen und zum Messen des Spülwasserbedarfs der Entkalkungsanlage.
Ich wollte einfach die reelen Werte angezeigt haben, die die mechanischen Zähler auch zeigen. Sozusagen elektronisch Anzeigen was auch sichtlich
auf den Zählern zu sehen ist.
Da bot sich der PCF8583 eben an, da man in ihn auch mit Zählerwerten füttern kann. Also sozusagen fange nicht bei 0 an zu zählen, sondern
z.B. bei 78435. Und er sollte es machen ob hell oder dunkel, Fhem on oder off, NRF oder MQTT gerade verfügbar oder nicht usw.
Also ein autarker Zähler der "immer" mitzählt, seinen Inhalt nicht vergisst und von dem die Zählwerte jederzeit aufrufbar sind.

Es kommt jetzt natürlich an, wie du deine Zählerwerte sicherst, sollte der Raspi mal seinen Dienst verweigern oder ob du anderweitig (Eeprom) sicherst oder sie nicht sichern musst, da du sie nur zur Berechnung von Durchschnittswerten o.ä. benötigst.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Adimarantis

Hi Papa Romeo,

so anspruchsvoll ist mein Anwendungsfall nicht. In der Hauptsache will ich wissen DASS etwas fliesst und dann die ungefähre Menge über Diagramme (DBLog) ablesen können. D.h. ich würde z.B. alle 60s den Stand abfragen und in die DB schreiben. Theoretisch könnte ich den Counter dann wieder auf 0 setzen, oder eben einfach immer "delta" solange ansteigend (und von vorne anfangen wenn kleiner, weil Überlauf oder Ausfall).

Ich entnehme der Antwort, dass ich den Chip quasi "pur" einsetzen kann, ohne mir andere Sorgen als eventuelle Datenlücken machen zu müssen.

Danke,
Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Papa Romeo

Zitat von: Adimarantis am 05 November 2021, 19:44:05
Ich entnehme der Antwort, dass ich den Chip quasi "pur" einsetzen kann, ohne mir andere Sorgen als eventuelle Datenlücken machen zu müssen.

natürlich kannst du ihm "pur" einsetzen, die Anbindung über I2C bleibt ja die Selbe.
Was ich, für meine Anwendungsfälle, dazu gemacht habe,  dient ja lediglich zur Impulsaufarbeitung und Speicherung.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Franz Tenbrock

Hallo Papa Romeo
ich würde gerne in meinem Heizungskeller , in dem auch Waschmaschine und Trockner stehen, mehrere Verbraucher loggen, alle einzeln über Sicherungen abgesichert, da ev eltaco so zähler zusätzlich.

https://www.esp8266-server.de/Impulszaehler.html

also mehrere SO Zähler mit einem SO, geht das, gibts das schon für FHEM

Habe einen Heishamon für meine WP mit 2 So, die würde ich gerne aber über den Sommer abschalten, da ich die WP Von Mitte märz bis Mitte Oktober abschalte ( wird nicht gebraucht)
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Papa Romeo

Zitat von: Franz Tenbrock am 18 März 2023, 19:02:46
... in dem auch Waschmaschine und Trockner stehen, mehrere Verbraucher loggen, alle einzeln über Sicherungen abgesichert, da ev eltaco so zähler zusätzlich.

Was willst du an den Verbrauchern mit einem Impulszähler loggen ?  :-\

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Franz Tenbrock

Hallo
so was hier
Eltako WSZ15DE-32A Wechselstromzähler
hängt zu Zeit am heishamon der meine Pana WP loggt
die werde ich den gnazen Sommer aber nicht brauchen

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Papa Romeo

... bin mir aber nicht sicher, ob da mein Impulszähler der "Richtige" ist ...

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Aurel_B

Hallo Franz, vielleicht ist der ArduCounter etwas für dich? Ich verwende hierzu einen Arduino (via USB angebunden) und (hatte) damit 2 Stromzähler (S0 Schnittstelle) ausgelesen, klappt wunderbar!