Panstamp S0 Counter (4 Eingänge)

Begonnen von Bennemannc, 05 April 2014, 07:56:28

Vorheriges Thema - Nächstes Thema

Bennemannc

Hallo,

ich möchte kurz mein erstes eigenes Projekt vorstellen. Da ich zur Auswertung eines Stromzählers mit S0 Ausgang nichts wirklich passendes finden konnte, habe ich mir zwei Panstamps mit Panstick und Batterieboard besorgt. Mach meine ersten Gehversuchen mit C, habe ich dann den TemHumPress Sketch genommen und um 4 Zähler erweitert. Es werden "nur" die aktuellen 15 min Werte übertragen, danach wird der Zähler im Panstamp zurückgesetzt.
Alle 4 Eingänge sind Interrupt gesteuert. Da der Panstamp nur einen Interrupt frei hat, werden die Eingänge mit Dioden ausgekoppelt, so das trotzdem jeder Eingang den Interrupt auslöst und die Interruptroutine nachsieht, welcher Eingang es war und zählt entsprechend hoch.
Das Programmieren mit der IDE geht bei mir immer noch mehr nach "try and error" - was noch fehlt ist der Sleep Modus, den ich nicht richtig ans Laufen bekommen habe. Die Zeitsteuerung läuft über Millis, auch hier habe ich noch keine Erfahrungen was passiert wenn der Timer nach 49 Tagen überläuft.
Angeschlossen ist zur Zeit ein Stromzähler mit S0 Ausgang - geplant ist den Gaszähler anzuschließen, aber dazu muss der Netzbetreiber mir einen mit Impulsausgang installieren. Als letztes will ich noch einen Ferraris Zähler mit einem Lesekopf versehen - also gibt es noch einiges zu tun, aber seit gestern kommen schon mal die ersten Werte 8).

Wer Interesse an dem Sketch, Schaltbildern oder Fotos hat, kann sich bei mir melden.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Tobias

mich würde interessieren, wie du den einen Interrupteingang mitteld der Dioden auf 4 erweitert hast. Schaltbild?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

über den pin change interrupt kann man auf jedem eingang einen ingerrupt auslösen.

schau mal in bininp sketch. da geht das ganz ohne externe beschaltung.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Bennemannc

Hallo justme1968,

wo kann ich diesen Sketch finden ?
Das mit den Dioden ist eigentlich einfach. Kathode an den Eingang, Anode auf Pin 3 (Interrupt). Wenn auf dem Eingang Minus liegt, wird gleichzeitig der Interrupt auf Minus (genauer 0,7V) gezogen, was den Interrupt auslöst. Das die Dioden zu den anderen Eingängen in Sperrichtung liegen, wird dahin nichts weitergegeben. Alle Eingänge und der pin3 sind mit Pullup Widerständen auf +Ub gezogen.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

justme1968

der ist im examples verzeichnis der panstamp lib.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Bennemannc

Hallo Andre,

kann man bei dem Sketch auch auf die Pullup-Widerstände verzichten, oder werden die benötigt?

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

justme1968

ich glaube der sketch verwendet dir internen pullups.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Bennemannc

Hallo Andre,

werde ich mir mal ansehen wenn ich wieder daheim bin. Mit den internen Pullup das interessiert mich. Ich habe das Batterie Board. Dort sind auf dem Board Flächen für Pullups - aber die scheinen nicht bestückt zu sein. Wenn das so klappen würde, wäre das eine Erleichterung und vermutlich auch eine Energieeinsparung. Ich habe die Pullup bereits vergrößert, da die Batterie viel zu schnell leer war. Mal sehen was für eine Laufzeit ich hinbekomme.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

justme1968

je nach dem wie viele impulse pro sekunde deine s0 zähler erzeugen kommt der panstamp nicht mehr sehr viel zum schlafen und verbraucht natürlich recht viel batterie und abhängig von der konfiguration des sendeintervalls (bzw. ob er bei jeder änderung sendet) braucht er dazu noch mal mehr.

es kann also sein das ein batterie betriebener s0 zähler nicht sinnvoll ist.

ein batteriebetrebener temperatur und luftdruck sensor mit einem panstamp läuft bei mir seit fast einem jahr mit der gleichen batterie.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

StefanStrobel

Hi Christoph,

Hast Du mal mein Modul unter http://forum.fhem.de/index.php/topic,19285.0.html angeschaut?
Das funkt zwar nicht, aber zählt auch s0 Impulse per PinChange Interrupt auf einem Arduino oder Jeenode.
Vielleicht kannst Du ja einen Teil davon brauchen.

Gruß
   Stefan

UweH

Zitat von: Bennemannc am 05 April 2014, 07:56:28
geplant ist den Gaszähler anzuschließen, aber dazu muss der Netzbetreiber mir einen mit Impulsausgang installieren.
Viele Gaszähler haben einen eingebauten Magneten im letzten Zählerrad. Wenn auf Deinem Zähler was von "blabla Impulse/m3" draufsteht, dann brauchst Du nur noch einen Reedkontakt anbauen.

Bennemannc

Hallo,

meiner hat eben noch keinen Magneten - deshalb kommt ein anderer mit Magnet rein. Das ist schon eingestielt - muss nur noch den Termin abstimmen.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Bennemannc

#12
Hallo,

nach dem Tip von Justme1968 habe ich das Ganze umgebaut. Die Batterien halten viel länger - wie lang genau muss ich noch austesten - vorher war es nur ein Tag :-(. Ich wollte 15 Minuten Werte haben - hierbei kam ich mit Panstamp.gotosleep nicht weiter, da der von mir vorher genutzt timer millis() nicht weiter läuft. Da der sleep Modus von einem Interrupt jederzeit unterbrochen werden kann, habe ich den vorhanden Sketch umgebaut. Als Zeitsteuerung den Watchdog "WDTO_1S" nach jedem aufwachen zähle ich hoch, abziehen tue ich noch die Anzahl der Interrupts, die mit einem Faktor von 1,5 in die Berechnung eingehen. Damit komme ich ziemlich genau auf die 15 min (-10 sec). Wenn ich mehr Daten habe, werde ich versuche, das Ganze noch weiter zu verfeinern.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Bennemannc

#13
So -ein weiterer Zwischenbericht:

auf der Suche nach einem Lesekopf für den Ferraris Zähler meiner Solaranlage, bin ich bei E... auf einen 230 V Zähler mit LED / LCD Anzeige gestoßen, der auch einen Impulsausgang hat. Ich habe mir überlegt, das ich für 13 € keine Lesekopf basteln oder kaufen kann und habe das Teil geordert und eingebaut.
Nach dem ersten Tag musste ich feststellen, das der Zeitdrift duch die Impulse in der aktuellen Version nicht richtig kompensiert werden, Also habe ich den Sketch etwas umgestellt. Ich versuche jetzt über millis() einen Kompensationswert zu berechen. Wenn das klappt werde ich darüber berichten.

Gruß Christoph

PS. Das Batterie/Akkuproblem ist sehr viel besser - es ist immer noch der erste Akku drin und der geht noch nicht mit der Spannung runter.
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Bennemannc

Hallo,

ein weiteres Update zu dem Projekt.
Nachdem ich den 230V Hutschienenzähler installiert habe, kam ich mit der Kompensation nicht wirklich weiter. Ich habe versucht, anhand der Impulse und der Sleeps auf ein Sendeintervall vom 15 Minuten zu kommen. Das war nicht umsetzbar - besonders der 230V Solarzähler war nicht in den Griff zu bekommen. Ich habe dann die sleepzeit auf 60ms gesetzt. Jetzt komme ich ziemlich genau auf 15 Minuten - befürchtete negative Auswirkungen auf die Batterielaufzeit haben sich nicht bestätigt. Der 2700mAh Akku hält jetzt schon über drei Wochen durch und es ist noch nicht zu sehen, das er in die Knie geht. Alle 1-2 Monate den Akku tauschen ist für mich ok.

Gruß Christoph

PS. Als nächstes ist der Gaszähler dran - da muss aber vom Versorger erst noch einer mit Magnet eingebaut werden.
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF