mikrocontroller.net

Forum: Haus & Smart Home Eigenentwicklung Ersatzplatine Drucksensorboard für Pluggit


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Daniel F. (per48or)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Da bei meiner Lüftungsanlage Pluggit Avent P300 nach 12 Jahren einer der 
beiden Drucksensoren schlapp gemacht hat und das auch bei anderen 
Anlagen passiert (Beitrag "Suche Differenzdrucksensor SM5552-003-D") hab ich 
mal eine Eigentenwicklung mit Sensirion-Sensoren entworfen.
Die Sensoren sind aktuell SDP510-500Pa weil ich da noch einige davon auf 
Lager habe, die Platine müsste aber auch kompatibel mit den aktuellen 
SDP810-500PA sein.
Der ArduinoProMini liest die Sensoren über den I2C-Multiplexer aus und 
gibt die passend skalierten Werte als PWM-Spannung aus, die werden durch 
den OPAmp noch auf 10V-Pegel verstärkt.
Stromversorgung mittel StepDown-Wandler auf 3.3V weil das Netzteil in 
der Anlage eh schon recht knapp ist.

Die Platinen sind jetzt bestellt, wenn die in ein paar Wochen ankommen 
folgt die Programmierung und Test.
Wenn alles klappt werde euch dann die Platine einzeln, als Bausatz und 
als Fertiggerät für einen fairen Umkostenbeitrag anbieten können :-)

Autor: U. M. (oeletronika)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,
> Daniel F. schrieb:
> Da bei meiner Lüftungsanlage Pluggit Avent P300 nach 12 Jahren
> einer der
> beiden Drucksensoren schlapp gemacht hat und das auch bei anderen
> Anlagen passiert (Beitrag "Suche Differenzdrucksensor SM5552-003-D") hab
> ich mal eine Eigentenwicklung mit Sensirion-Sensoren entworfen.
wenn die Sensoren nur die nackten Messsbrücken sind, dann ließen diese 
sich doch durch andere Sensoren gleicher Funktion ersetzen.
Evtl. muß man die Verstärkung noch etwas anpassen.

Da gibt es diverse von ehemals SensorTechnics (jetzt "First Sensor").
Pinkompatibel sind die natürlich nicht, aber die 4 Anschlüsse evtl. neu 
zuzuordnen sollte kein so großes Proboem sein.

So wie ich es verstehe, hatte der alte Sensor SM5552-003-D einen 
Meßbereich von ca. 21mBar.
Änhliche Typen mit z.B. 25 mBar (1 Inch WS) sind z.B.:
https://www.first-sensor.com/cms/upload/datasheets/DS_Standard-HDO_E_11648.pdf

siehe auch:
https://www.first-sensor.com/de/produkte/drucksensoren/drucksensoren-und-drucktransmitter/kompensierte-drucksensoren/

Gruß Öletronika

Autor: Gerhard O. (gerhard_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beachtlich, bei einem Online Ersatzteil Anbieter kostet die Sensor LP 
doppelt so viel wie die Elektronik LP.

https://www.wolf-online-shop.de/Lueftung/Pluggit-Wohnraumlueftung/Ersatzteile:::268_1821_1850.html

Da könnte im Zusammenhang auch noch von Interesse sein:

https://github.com/d00616/P300

Ein Bekannter von mir baute sich vor dreissig Jahren so eine 
Wärmetauschanlage komplett selber. Brauchte aber keine Elektronik. Alles 
war manuell geschaltet. Da er Lehrer war, konnte er die ganzen 
Blechmetallteile selber fertigen und Punktschweissen.

Ich habe da noch einen DUXL01D herumliegen. Das ist ein +/-25mB (1") 
einfacher Brücken Differential Sensor mit (4.5V) +/- 6mV Ausgang. 
Allerdings hat er einen -2200ppm/C Temperaturgang und müßte thermisch 
kompensiert werden.

http://www.mouser.com/ds/2/187/honeywell-sensing-duxl%20series-ultralow-silicon-pre-520186.pdf

Jedenfalls wünsche ich Euch bei der Eigentwicklung guten Erfolg. Der 
Willkürherrschaft der Firmen muß "Druck" entgegen gesetzt werden. Auch 
wenn die Firmen die hohen Ersatzteilkosten ehrlich rechtfertigen können, 
ist es für den Konsumenten und der Ökologie eine unhaltbare Position für 
die eine Lösung gefunden werden muß.

Ganz abgesehen davon sind das an sich auch nette uC Projekte.

Autor: Daniel F. (per48or)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Ersatzplatinen von Pluggit (ebenfalls mit Sensirion-Sensoren) sind 
ja obwohl noch gelistet anscheinend auch nicht mehr lieferbar, daher die 
Eigenentwicklung.
Nach über 10 Jahren ja auch verständlich, obwohl diese Lüftungsanlage 
ansonsten recht zuverlässig und wartungsfreundlich ist. Es wäre Schade 
die Anlage wegen so einer Kleinigkeit zu ersetzten.

Die Sache mit alternativen Sensortypen mit Messbrücke hab ich sein 
lassen, da in diesem kleinen Messbereich der Offset i.d.R. sehr stark 
driftet. War auch bei meiner originalen Pluggit-Platine so, nach nem 
knappen Jahr musste der Kundendienst den Offset neu justieren weil 
Anlage auf Störung.
Die Sensirion-Sensoren haben keine Druckmesszelle sondern sind 
eigentlich Durchflussensoren. Da passt der Nullpunkt prinzipbedingt 
eigentlich immer.
https://www.sensirion.com/de/ueber-uns/unternehmen/technologie/cmosensr-technologie-fuer-gasfluss/

Autor: Walter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch eine Avent P300N seit gut 12 Jahren in Betrieb. Letztes 
Jahr hate ich das erste mal das Problem mit dem Drucksensoren und habe 
damals von Pluggit eine Anleitung zur Drucksensoreinstellung bekommen, 
was auch einwandfrei funktioniert hat.
Jetzt ein Jahr später lassen sich die Sensoren nicht mehr justieren und 
ich bin auch auf der Suche nach einer Alternative zur Pluggit Platine 
für 700,-€.

Also wenn deine Ersatzplatine funktioniert, bin ich auf alle fälle 
Interssiert.

Jetzt im Sommer machen wir einfach die Fenster auf. Aber der nächste 
Herbst kommt bestimmt.

Autor: Daniel F. (per48or)
Datum:
Angehängte Dateien:

Bewertung
3 lesenswert
nicht lesenswert
Update: Platinen sind nun da und funktionieren.
Software ist fertig und funktioniert.
Stromaufnahme dank Schaltregler mit 6,6mA knapp die Hälfte der alten 
Analogschaltung (12,3mA).
Lediglich die beim mir im Gerät verbauten 2mm-Silikonschläuche sind zu 
dünn, zu viel Druckverlust für diese Sensoren.
Müssen gegen 4/6mm-PVC-Schläuche getauscht werden, ist aber kein 
Problem, da kommt man durch ne Öffnung ran, wenn man den Wärmetauscher 
und das obere Gebläse rauszieht.
Habe den Sensoren ausserdem zum Schutz kleine Vorfilter spendiert um das 
auch wirklich dauerhaft zuverlässig zu gestalten.
Denkt daran die Anlage vom Netz zu trennen wenn ihr daran rumbastelt, 
der interne Türkontakt ist nicht sauber isoliert,hab ich selber gespürt 
:-/
Bitte PN wenn jemand Interesse an den Platinen hat.
Natürlich erlischt beim Einsatz einer fremden Platine die 
Herstellergarantie und ich übernehme auch keine Haftung für eventuelle 
Schäden, alles auf eigene Gefahr, das soll nur eine Hilfe zur 
Selbsthilfe sein :-)

Zur Info hier noch der Code:
// Ersatzboard Drucksensor Pluggit
// https://www.mikrocontroller.net/topic/477458
// Eingesetzer Controller: ArduinoProMini 3.3V/8MHz
// Sensoren: 2 Stück Sensirion SDP-510-500Pa

// Erstellt: 27. Juli 2019  D.Fellner


const byte PWM10VS1 = 248;   //PWM(0...255) für 10V-Ausgangsspannung Sensor1 (Anpassung Analogschaltung Spannungsverstärker)
const byte PWM10VS2 = 248;   //PWM(0...255) für 10V-Ausgangsspannung Sensor2 (Anpassung Analogschaltung Spannungsverstärker)

#include <Wire.h>

float Sensor1=0.0;
float Sensor2=0.0;
int PWM1=0;
int PWM2=0;


void setup() {
  Wire.begin();
  Serial.begin(9600);   
}

void loop() {

  multiplexer(0);                  // Schalte I2C-Multiplexer PCA9540B auf Kanal0 (Sensor1)
  
  Sensor1=SDPlesen();              // Drucksensor1 lesen
  
  multiplexer(1);                  // Schalte I2C-Multiplexer PCA9540B auf Kanal1 (Sensor2)
  
  Sensor2=SDPlesen();              // Drucksensor2 lesen

  Serial.print("S1: ");            // serielle Ausgabe zur Diagnose
  Serial.print(Sensor1,1);
  Serial.print("Pa  S2: ");
  Serial.print(Sensor2,1);
  Serial.println("Pa");
  
  PWM1 = map(Sensor1, -69, 284, 0, PWM10VS1);  //Druckbereich auf Ausgangssignal anpassen
  PWM2 = map(Sensor2, -69, 284, 0, PWM10VS2);

  constrain(PWM1, 0, PWM10VS1);      //Wertebereich PWM begrenzen
  constrain(PWM2, 0, PWM10VS2); 

  analogWrite(5, PWM1);
  analogWrite(6, PWM2);

  delay(100);                   // 100ms warten vor der nächsten Abtastung
}


void multiplexer(bool kanal){
  Wire.beginTransmission(0x70); // I2C-Multiplexer PCA9540B
  Wire.write(0x04+kanal);       // Kanal 0 oder 1
  Wire.endTransmission(); 
}


float SDPlesen(){
  
  int Druck=0;
  
  // Lesebefehl an Drucksensor (SDP510) senden
  Wire.beginTransmission(0x40);   // transmit to device
  Wire.write(0xF1);               // Measurement triggering
  Wire.endTransmission();         // stop transmitting

  // 2 Bytes anfordern
  Wire.requestFrom(0x40, 2);      // request 2 bytes from slave device

  // und lesen
  if (2 <= Wire.available()) {
    Druck = Wire.read();          // high byte lesen
    Druck = Druck << 8;           // nach links schieben
    Druck |= Wire.read();         // low byte lesen OR high byte
      }
  return Druck/55.0;              // anpassen auf Pa (Teiler Normal 60, nach Korrektur mit Schlauch Teiler 55)
}

: Bearbeitet durch User
Autor: Horst M. (horst_m713)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,
das hört sich ja vielversprechend an.
Meine P300N steht seit 2 Wochen und auch der Notbetrieb ghet nach 10 
Minuten auf Fehler 4, auch wenn ich davor einen Rest gemacht habe.

Wie komme ich denn an deinem Umrüstsatz ran und was wird er mich kosten?
Gruß
Hodde

Autor: Daniel F. (per48or)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
kleines Zwischenupdate:
- es sind inzwischen mehrere Platinen im Einsatz und funktionieren.
- die Platine hab ich nun auch mit SDP810-500Pa Sensoren aus der 
gleichen Reihe getestet, funktioniert ebenfalls. Angepasster Code 
hierfür:
// Ersatzboard Drucksensor für Pluggit
// https://www.mikrocontroller.net/topic/477458
// Eingesetzer Controller: ArduinoProMini 3.3V/8MHz
// Sensoren: 2 Stück Sensirion SDP-810-500Pa

// Erstellt: 05.08.2019  D.Fellner

// neu: Testfunktion um beide Ausgänge auf 10V zu schalten
// neu: Dämpfung des Sensorsignals


const byte PWM10VS1 = 248;   //PWM(0...255) für 10V-Ausgangsspannung Sensor1 (Anpassung Analogschaltung Spannungsverstärker)
const byte PWM10VS2 = 248;   //PWM(0...255) für 10V-Ausgangsspannung Sensor2 (Anpassung Analogschaltung Spannungsverstärker)

#include <Wire.h>

float Sensor1=0.0;
float Sensor2=0.0;
int PWM1=0;
int PWM2=0;


void setup() {
  pinMode(2, INPUT_PULLUP);
  Wire.begin();
  Serial.begin(9600);  
  if (!digitalRead(2)) AOTest();        //wenn nach Reset Pin2 auf GND gebrückt Analogausgänge zum Test für 15s auf 10V 
}

void loop() {

  multiplexer(0);                       // Schalte I2C-Multiplexer PCA9540B auf Kanal0 (Sensor1)
  
  Sensor1=(Sensor1+SDP810lesen())/2.0;  // Drucksensor1 lesen und Dämpfung
  
  multiplexer(1);                       // Schalte I2C-Multiplexer PCA9540B auf Kanal1 (Sensor2)
  
  Sensor2=(Sensor2+SDP810lesen())/2.0;  // Drucksensor2 lesen und Dämpfung

  Serial.print("S1: ");                 // serielle Ausgabe zur Diagnose
  Serial.print(Sensor1,1);
  Serial.print("Pa  S2: ");
  Serial.print(Sensor2,1);
  Serial.println("Pa");
  
  PWM1 = map(Sensor1, -69, 284, 0, PWM10VS1);  //Druckbereich auf Ausgangssignal anpassen
  PWM2 = map(Sensor2, -69, 284, 0, PWM10VS2);

  PWM1 = constrain(PWM1, 0, PWM10VS1);         //Wertebereich PWM begrenzen
  PWM2 = constrain(PWM2, 0, PWM10VS2); 

  analogWrite(5, PWM1);
  analogWrite(6, PWM2);

}


void multiplexer(bool kanal){
  Wire.beginTransmission(0x70); // I2C-Multiplexer PCA9540B
  Wire.write(0x04+kanal);       // Kanal 0 oder 1
  Wire.endTransmission(); 
}


float SDP810lesen(){
  
  int Druck=0;
  
  // Lesebefehl an Drucksensor (SDP810) senden
  Wire.beginTransmission(0x25);   // transmit to device
  Wire.write(0x36);               // Measurement triggering
  Wire.write(0x2F);               // Measurement triggering
  Wire.endTransmission();         // stop transmitting

  delay(50);                      // Messzeit=45ms

  // 2 Bytes anfordern
  Wire.requestFrom(0x25, 2);      // request 2 bytes from slave device

  // und lesen
  if (2 <= Wire.available()) {
    Druck = Wire.read();          // high byte lesen
    Druck = Druck << 8;           // nach links schieben
    Druck |= Wire.read();         // low byte lesen OR high byte
  }
  return Druck/55.0;              // anpassen auf Pa (Teiler ist Normal 60, nach Korrektur mit ca 1m 4mm-Schlauch neuer Teiler 55)
}

void AOTest(){
  analogWrite(5, PWM10VS1);
  analogWrite(6, PWM10VS2);
  delay(15000);
}

Autor: A. T. (cherubim2000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel,

auch auf diesem Weg möchte ich mich noch einmal bedanken für die 
Platine.
Die läuft einwandfrei in meiner Avent P300!
Bei mir war einer der Drucksensoren defekt.
Der Einbau ist sehr einfach und sogar die Befestigungslöcher der Platine 
passten genau :-)

Perfekt!

Vielen Dank!

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,

auch ich leide seit einigen Tagen unter ERROR 4 und einem blinkenden S1 
auf der Fernbedienung. Die Anlage steht. Avent P300, 12 Jahre alt
Ich habe mit großem Interesse von deiner Eigenentwicklung gelesen, 
kannst du mir Infos zu Preis, Einbau und was ich sonst noch wissen muss 
geben?

Vielen Dank und Grüße!

Autor: Daniel F. (per48or)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, nochmal kurz alle Infos zusammengefasst:

- Für die Umrüstung müssen neben der Platine (Stecker- und 
Befestigungskompatibel) 3 neue PVC-Schläuche installiert werden.
Für die bessere Zugänglichkeit am besten den Wärmetauscher und beide 
Lüfterkästen ausbauen. Vorher Netzstecker ziehen!
Der komplette Umbau ist in ca 1 Stunde erledigt.

- Die Schläuche zieht ihr am einfachsten von der Vorder- zur Hinterseite 
durch. Wenn ihr (wenn möglich) vorher die originalen Silikonschläuche 
aus der Durchführung nach hinten zieht ist auch mehr Platz für die 
PVC-Schläuche.

- Die Schläuche (P1=1m, P3=0,45m, P4=0,75m) sind absichtlich nicht 
länger, weil dann der Druckabfall und somit das Risiko eines Messfehlers 
steigen würde. Das Programm ist für die mitgelieferte Schlauchlänge 
angepasst.

- Der Übergang zwischen Filter und PVC-Schlauch stellt ein kurzes Stück 
Silikonschlauch dar, das in den PVC-Schlauch gesteckt ist. Beim 
Aufstecken aufpassen, dass der Silikonschlauch nicht verrutscht und die 
Öffnung zum Filter offen bleibt.

- Anfragen bitte per PN oder unter: drucksensorboard@gmx-topmail.de

: Bearbeitet durch User
Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel F. schrieb:
> Lediglich die beim mir im Gerät verbauten 2mm-Silikonschläuche sind zu
> dünn, zu viel Druckverlust für diese Sensoren.
> Müssen gegen 4/6mm-PVC-Schläuche getauscht werden, ist aber kein
> Problem, da kommt man durch ne Öffnung ran, wenn man den Wärmetauscher
> und das obere Gebläse rauszieht.
> Habe den Sensoren ausserdem zum Schutz kleine Vorfilter spendiert um das
> auch wirklich dauerhaft zuverlässig zu gestalten.

Die Filter tragen, genauso wie zu dünne/lange Schläuche, zum 
Druckverlust bei Differenzdrucksensoren nach dem Durchflussprinzip bei.
Solange die Strömungswiderstände von Schläuchen, Filter und Sensor 
konstant sind, lässt sich rechnerisch kompensieren.

Autor: Daniel F. (per48or)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich ist der komplette Druckverlust von Schläuchen incl Filter im 
Programmcode kompensiert :-)
Die Korrektur für die originalen Silikonschläuche wäre aber zu hoch und 
damit auf lange Sicht nicht zuverlässig, daher die grösseren 
PVC-Schläuche.

Autor: Horst M. (horst_m713)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe meine Anlage nun auch mit der Ersatzplatine und den neuen 
Schläuchen ausgestattet. Das scheint alles gut zu laufen, allerdings 
sind bei der ganzen Bastelei 2 Drähte des Antennestecker abgerissen. 
Jetzt stehe ich vor der Frage was kommt wo hin?

Abgerrissen sind Gelb und Grün und die müssen wohl zwischen Orange und 
Rot, aber in welcher Reihenfolge?

Danke für eure Hilfe.
Hodde

Autor: Daniel F. (per48or)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
bei mir war sogar herstellerseitig ein Schrumpfschlauch drüber, hab ich 
wohl die neuere Ausführung...

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.

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