mikrocontroller.net

Forum: Haus & Smart Home PolluCom E / S


Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bastler,


hat jemand von euch schonmal einen PolluCom zerlegt ? Leider habe ich 
keinen Zähler mit Erweiterung und wollte mal schauen ob man nicht 
"selbst" erweitern kann. Leider bekomme ich das Gehäuse nicht 
zerstörungsfrei auf wie es scheint, gibt es dort einen Trick ? Mich 
würde auch interessieren wie die "optische" Schnittstelle funktioniert 
und wie lange die Batterien halten wenn die dauerhaft benutzt wird.


Grüße.

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Otto,

ich habe auch einige Pollucom E Wäremzähler, welche ca. 7-8 Jahre alt 
sind. Nun würde ich auch gerne die Batterien wechseln und stehe vor dem 
gleichen Problem wie du. Wie soll ich das Gehäuse öffnen?
Hast du noch was rausgefunden? Hast du das Gehäuse aufgebrochen und 
gesehen wie die Ober und unterteile ineinander verrasten?

Wäre super, wenn du (oder auch andere) diesbezüglich weiterhelfen 
könntest.

Gruß,
Christian

Autor: Michael Wulz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist zwar schon alt, aber dennoch.

Einfach unten Rechts in das Loch wo die Kabel reingehen mit einem dünnen 
Schraubenzieher reinfahren und das Gehäuse öffnen.

Braucht etwas Druck. Sollte aber ohne große Schäden zu Öffnen gehen.

Wichtig beim Batterietausch, den Zähler auf Spannung halten!!
Dazu ein geregeltes einstellbares Netzteil anhängen, sonst ist der 
Zähler Schrott!

Hat einer von Euch die Infrarot-Schnittstelle schon mal Benutzt?
Ich bekomme die nämlich nicht zum laufen!

danke
Michael

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,
an der IR Schnittstelle habe ich mich auch schon versucht, bin aber 
nicht weit gekommen. Im Netzt finde ich einfach nichts dazu.
Hast Du schon irgenwelche Details ?

Grüße,
Markus

Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Efried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beschreibungen der Zerlegung inkl. eingebaute Manipulationshürden gibt 
es hier:
http://www.kriwanek.de/c-control-pro/solarmessung/...
Ich habe einen falsch eingebauten (gebrauchten) Zähler und möchte die 
Kosten für das USB Modul zur Konfigurierung sparen und die PT500 
Sensoren vertauschen. Wie könnte da ein Manupulationsschutz aussehen? 
Wenn ich die Fühlerleitungen abisoliere und beide parallel verbinde und 
dann tausche bevor ich die Verbindung wieder trenne kann das Messwerk 
nichts merken, falls wirklich nur der Widerstand gemessen wird und nicht 
wie bei den DS1820 eine Adresse im Sensor hinterlegt wird.
danke im Voraus für Tipps, ggf. auch wie man zu einer kostengünstigen 
USB-Lösung für den IEC870-5 kommt.
danke

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Efried schrieb:
> Beschreibungen der Zerlegung inkl. eingebaute Manipulationshürden gibt
> es hier:
> http://www.kriwanek.de/c-control-pro/solarmessung/...

Wie ist denn die Belegung der nicht benutzten Schnittstellen, hast du 
die schon gemessen? Der Impulsgeber oder MBus wären ja mal was.

> Ich habe einen falsch eingebauten (gebrauchten) Zähler und möchte die
> Kosten für das USB Modul zur Konfigurierung sparen und die PT500
> Sensoren vertauschen. Wie könnte da ein Manupulationsschutz aussehen?

Wenn du einen Widerstand an die Platine friemelst, löten würde ja einen 
Schluss nach GND verursachen, sollte es funktionieren.

> Wenn ich die Fühlerleitungen abisoliere und beide parallel verbinde und
> dann tausche bevor ich die Verbindung wieder trenne kann das Messwerk
> nichts merken, falls wirklich nur der Widerstand gemessen wird und nicht
> wie bei den DS1820 eine Adresse im Sensor hinterlegt wird.

Wieviel Leitungen kommen denn vom PT500? Ich sehe da 4 Leitungen pro 
Fühler oder ist das etwas anderes?

---

Autor: Efried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es braucht immer noch den Optokoppler - der mir um schlanke 400€ 
abgeboten wurde...

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Efried schrieb:
> es braucht immer noch den Optokoppler - der mir um schlanke 400€
> abgeboten wurde...

Huch, welchen Optokoppler meinst du? Der fehlende Chip auf der Platine?


---

Autor: Matthias Riedel (matthias-riedel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Efried schrieb:
> Ich habe einen falsch eingebauten (gebrauchten) Zähler und möchte die
> Kosten für das USB Modul zur Konfigurierung sparen und die PT500
> Sensoren vertauschen.

Falls es noch von intresse ist, steck einfach die Fuehler ab un passend 
wieder an, es interessiert das Geraet nicht. Ich habe die fuehler und 
Pulsgeber ueber ein Jahr abgesteckt gehabt und er geht immer noch.


Efried schrieb:
> es braucht immer noch den Optokoppler - der mir um schlanke 400€
> abgeboten wurde...

Denn Koppler kannst du dir fuer ca 15,- EUR selber bauen, einfach FTDI 
mit IR Sende und Empfangsdiode. Geht einwandfrei, lese mit dem Gleichen 
auch meine Stromzaehler aus.
Desweiteren habe ich mir einen Schaltplan der IR Dioden und der 
Steckerbelegung herausgezeichnet und mir dafuer einen Adapter auf RS485 
inkl. Stromversorgung gebaut, damit kann man den Zaehler staendig 
auslesen ohne in immer wieder in den Kommunikationsmodus zu versetzen 
muessen.
Bisher lese ich nur über Minicom aus, möchte aber jetzt das ganze mit 
Java angehen, allerdings bin ich da blutiger Anfaenger. Sollte ein 
Programmierer interesse am gleichen haben wuerde ich unter umstaenden 
die Anbindung an USB stellen gegen den Code stellen.

Gruss Matthias

Autor: Carsten Hünecke (kaimaik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,
auch ich möchte den Zähler dauerhaft auslesen.Könntest Du mir 
freundlicherweise mit deinem Bausatz helfen.Welche Teile benötige ich 
genau
und wo bekomme ich diese?Wie sieht dein Layout dafür aus?

Gruß Carsten

Autor: Meinolf Lutter (meilu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo
hast du davon einen schaltplan ,
was wäre ganz nett

meinolf

Autor: Frank Z. (frankza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich nutze den USB IR Schreib/lesekopf von volkszaehler mit dem sensus 
pollucom E 
(http://wiki.volkszaehler.org/hardware/controllers/...) 
- geht aber bestimmt auch mit http://www.huitsing.nl/irftdi/, da beide 
sich unterhalten können. Protokoll habe ich mir mittels "MiniCom 3" 
nachgebaut und frage alle 20 Minuten den Zählerstand ab.

Gruß

Frank

Autor: Carsten Hünecke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wie sieht denn dein Protokoll aus ?
Könnte ich es auch bekommen ?

Gruß Carsten

Autor: Frank Z. (frankza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

da ich einige Fragen bekommen habe, hier meine Implementierung. Das 
Protokoll an sich kann z.B. unter http://www.m-bus.com/files/CBDIPW6.PDF 
angeschaut werden.

Ich kann leider nur für eine Implementierung unter Linux sprechen! Unter 
Windwos funktioniert der "MiniCom 3" ohne weitere Einstellungen bei mir.

Fehlerhandling habe ich der Übersicht halber gelöscht! Geht zwar alles 
flexibler, habe ich aber aufgrund von zeitmangel nicht gemacht.

Unter Linux den Port richtig setzen:
stty -F /dev/ttyUSB0 
1:0:9bb:0:3:1c:7f:15:4:5:0:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0 
:0:0:0:0:0

Programm:

char *buf;
char in[256] = "";
ssize_t ret_out;

.... Init serielle Schnittstelle
int fd = open ("/dev/ttyUSB0", O_RDWR | O_NOCTTY );
set_interface_attribs (fd, B2400, 0);  // set speed to 2,400 bps, 8n1 
(no parity)
set_blocking (fd, 0 );                // set no blocking
strcpy( in, 
"UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"  );
ret_out = write (fd, in, strlen(in));           // sent wakeup
usleep ((1000 + 25) * 100);             // sleep enough to transmit plus
buf = read_data( fd);
// Initialisiere MBus -> ACK mit 'E5'
in[0] = 0x10;
in[1] = 0x40; // Init MBus
in[2] = 0x00;
in[3] = 0x40; // Checksumme = in[1] + in [2]
in[4] = 0x16;
ret_out = write (fd, in, 5);           // sent
usleep ((1000 + 25) * 100);             // sleep enough to transmit plus
buf = read_data( fd);
if( buf[5] == 0xE5 ) {
// Get Data from MBus
in[0] = 0x10;
in[1] = 0x5B;  // GetData
in[2] = 0x00;
in[3] = 0x5B;   // Checksumme = in[1] + in [2]
in[4] = 0x16;
ret_out = write (fd, in, 5);
usleep ((1000 + 25) * 100);             // sleep enough to transmit plus
buf = read_data( fd);
// Zaehlerstand
double waerme = ((double) toInt(&buf[26])) + (100.0 * (double) 
toInt(&buf[27])) + (1000.0 * (double) toInt(&buf[28])) + (10000.0 * 
(double) toInt(&buf[29]));
//aktuelle Leistung
double leistung = ((double) toInt(&buf[44])) + (100.0 * (double) 
toInt(&buf[45])) + (1000.0 * (double) toInt(&buf[46])) + (10000.0 * 
(double) toInt(&buf[47]));
}

int toInt( char *in ) {

char out[2];
int iOut = 0;
sprintf( out, "%02x", in[0] );

iOut = atoi( out );

return iOut;
}

Gruß

Frank

Autor: Peter Schneider (marcov1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

vielen Dank, dass Du Deinen Code zur Verfügung stellst. Wenn ich es 
richtig verstehe, dann wertest Du die Zähler in einer eigenen Umgebung 
aus und nicht über das Volkszähler-image mit VZLOGGER?

Gruß Marco

Autor: Frank Z. (frankza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marco,

ja, richtig. Hatte mir am Anfang den mbus controller angeschaut. Leider 
habe ich dort zu viele Fehler bekommen. War mir zu aufwändig diesen ans 
laufen zu bekommen. Kann ja mal schauen ob das jetzt klappt.

Gruß

Frank

Autor: Peter Schneider (marcov1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

ich habe jetzt mal versucht Dein Script ans Laufen zu bekommen, bekomme 
leider folgende Fehlermeldungen:


test.sh: 3: test.sh: char: not found
test.sh: 4: test.sh: char: not found
test.sh: 5: test.sh: ssize_t: not found
test.sh: 6: test.sh: Syntax error: "(" unexpected

müssen die Variablen am Anfang des scitpes noch definiert werden?

Autor: greg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist kein shellscript, sondern C code...

Autor: HANNES (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich lese seit Kurzem meinen PolluCom E ebenfalls über die optische 
Schnittstelle aus. Der WMZ ist jetzt ca. 1 Jahr alt. Hat jemand schon 
Erfahrungen wie sich das Auslesen auf die Lebensdauer bzw. auf die 
Batterie auswirkt? Ich lese derzeit den WMZ zwischen Sonnenaufgang und 
Sonnenuntergang alle 5min aus. Ist das zu häufig?

Grüße,
Hannes

Autor: Andreas Kemper (a_kemper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe besagten WMZ mit der Mini-Bus Option, womit kabelgebunden z.B. 
ein Funk- oder induktives Fernauslesemodul ("MiniPad") angeschlossen 
werden kann. Auf dem Mini-Bus kommt ebenfalls das M-Bus Protokoll zum 
Einsatz, jedoch arbeitet dieser offensichtlich mit etwas anderen 
elektrischen Parametern.

Hat jemand entsprechend Erfahrung, wie ich den Zähler über diese 
Schnittstelle auslesen kann? Konkret welche Art von "Adapter" ich hier 
für den Raspberry brauche?

Besten Dank,
Andreas

Autor: Peter Schneider (marcov1)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

ich habe versucht Deinen Code zu kompilieren (mit GCC) - bekomme aber ne 
Menge Compilerfehler (was teilweise an den zerschossenen Zeilenumbrüchen 
liegt). Ich hänge es mal als Textdatei an - vielleicht kannst Du Deinen 
funktionierenden Code auch als Textdatei anhängen.

hier die Fehler:

script.c:8:1: error: initializer element is not constant
script.c:9:35: error: expected ‘)’ before numeric constant
script.c:10:19: error: expected ‘)’ before numeric constant
script.c:11:13: error: expected ‘)’ before string constant
script.c:12:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:12:26: warning: incompatible implicit declaration of built-in 
function ‘strlen’ [enabled by default]
script.c:12:1: error: initializer element is not constant
script.c:13:9: error: expected declaration specifiers or ‘...’ before 
‘(’ token
script.c:14:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:14:1: error: conflicting types for ‘buf’
script.c:5:7: note: previous declaration of ‘buf’ was here
script.c:14:1: error: initializer element is not constant
script.c:16:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:16:1: error: conflicting types for ‘in’
script.c:6:6: note: previous definition of ‘in’ was here
script.c:16:1: error: invalid initializer
script.c:17:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:17:1: error: conflicting types for ‘in’
script.c:6:6: note: previous definition of ‘in’ was here
script.c:17:1: error: invalid initializer
script.c:18:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:18:1: error: conflicting types for ‘in’
script.c:6:6: note: previous definition of ‘in’ was here
script.c:18:1: error: invalid initializer
script.c:19:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:19:1: error: conflicting types for ‘in’
script.c:6:6: note: previous definition of ‘in’ was here
script.c:19:1: error: invalid initializer
script.c:20:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:20:1: error: conflicting types for ‘in’
script.c:6:6: note: previous definition of ‘in’ was here
script.c:20:1: error: invalid initializer
script.c:21:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:21:1: error: redefinition of ‘ret_out’
script.c:12:1: note: previous definition of ‘ret_out’ was here
script.c:21:1: error: initializer element is not constant
script.c:22:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ 
before ‘...’ token
script.c:23:1: warning: data definition has no type or storage class 
[enabled by default]
script.c:23:1: error: conflicting types for ‘buf’
script.c:5:7: note: previous declaration of ‘buf’ was here
script.c:23:1: error: initializer element is not constant
script.c:24:1: error: expected identifier or ‘(’ before ‘if’


Gruß Marco

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.