Steuerung für eine Zentrale Lüftungsanlage (KWL Kontrollierte Wohnraumlüftung)

Begonnen von SvenJust, 24 Januar 2018, 11:16:05

Vorheriges Thema - Nächstes Thema

SvenJust

Seit Oktober 2017 haben wir aus einem Arduino Mega, einem Touch-Display, einem LAN Shield, Temperatursensoren, Relais sowie einigen Widerständen und Optokopplern eine Steuerung für eine zentrale Wohnraumlüftungsanlage aufgebaut. Die Entwicklung und Diskussion erfolgte in diesem Thread

Zum Projekt gehört die Software für den Arduino Mega, die Dokumentation der Hardware in Form eines Schaltplanes, eine schriftliche Dokumentation für den Aufbau und Inbetriebnahme (Readme) und die Dokumenation der Steuerschnittstelle auf Basis von MQTT.

Weitere Bilder der Bedienoberfläche sind auf Github zu finden.

Platinen zum Verbinden der Sensoren mit den Arduino und den Lüftern sind auf Github verfügbar, siehe unten. Die Platinen machen ein Umstecken der Lüfteransteuerung und -stromversorgung von der Pluggit-Platine auf diese Platine möglich. Die Platine wird in einem zweiten Thread besprochen. Die Platine in verfügbar, wie steht hier: https://forum.fhem.de/index.php/topic,83025.msg907471.html#msg907471

Offen ist aktuell (14.01.2019):
- Einbau der Steuerung in ein Gehäuse

Das Projekt mit allen Dateien und der Dokumentation steht auf github unter: https://github.com/svenjust/room-ventilation-system

Das Ziel dieser Entwicklung ist es, defekte Steuerungen von Lüftungsanlagen für Wohnhäuser durch diese Eigenentwicklung zu ersetzen. Die Entwicklung des Projekt erfolgt in Freizeit als Hobby. Für die Entwicklung werden Standardbauteile verwendet. Dies sind: Arduino Mega, ein LAN-Modul, OneWire Temperatursensoren DS18B20, optional ist die Ansteuerung eines Vorheizregisters, die Ansteuerung für den Sommer-Bypass, Sensoren für CO2, VOC und Luftfeuchtigkeit sowie ein (Touch-) Grafikdisplay für die lokale Anzeige. Die Lüfter können per Optokoppler oder separaten DAC Digital Analog Converter (0-10V) angeschlossen werden. Diese Steuerung implementiert eine MQTT Schnittstelle für die Verbindung zur Haussteuerung.

Die Steuerung wurde ursprünglich für eine Pluggit P300 Anlage entwickelt, funktioniert ebenso für Pluggit P450 und viele weitere Lüftungsanlagen. Die elektrische Anpassung für unterschiedliche Lüftungsanlagen wird im Abschnitt Hardware beschrieben.

Die Steuerung implementiert die wesentlichen Funktionen zum technisch sicheren Betrieb der Lüftungsanlage. Die Frostschutzabschaltung des Zuluftventilators ist immer aktiv, eine Vereisung und damit ggfs Zerstörung des Wärmetauschers sollte damit ausgeschlossen sein. Voraussetzung ist der korrekte Anschluss der Temperatursensoren. Weiterhin ist eine Zeitsteuerung implementiert. Die Autoren dieser Software übernehmen KEINERLEI Garantie. Es werden die folgenden Sensoren/Aktoren geschaltet/ausgelesen:

       
  • zwei Lüfter werden angesteuert und deren Tachosignale werden ausgelesen
  • vier Temperatursensoren
  • Steuerung des Abluftventilator zum Frostschutz
  • Optional: Vorheizregister als Frostschutz
  • Optional: Sommer-Bypass geschaltet
  • Optional: Bis zu 2 Temperatur/Luftfeuchtesensoren (DHT22)
  • Optional: CO2-Sensor MH-Z14
  • Optional: VOC-Sensor
Diese Steuerung stellt eine MQTT Schnittstelle zur Verfügung und kann darüber mit Automatisierungssystemen kommunizieren. Alle Topics der MQTT Schnittstelle sind in https://github.com/svenjust/room-ventilation-system/tree/master/Docs/mqtt%20topics dokumentiert.

Komfortfunktionen, wie die Regelung der Lüftungsanlage anhand eines VOC Sensors, sind nicht implementiert. Diese Regelungsaufgaben können in der übergeordneten Haussteuerung besser, weil spezifischer für den eigenen Anwendungsfall, implementiert werden. Der Autor verwendet fhem für diese Aufgaben. Die Einbindung dieser Steuerung in Fhem wird im Abschnitt 10 beschrieben. Die Messwerte der evtl. verbauten CO2 oder VOC werden per MQTT gepublishet.

Neuerungen vom 13.01.2019, SW-v0.21
  • Die Anzahl der Impulse am Tachosignal pro Umdrehung der Lüfters kann definiert werden. Es gibt Anlagen, in denen anscheinend Lüfter verbaut sind, die zwei Impulse pro Umdrehung am Tacho ausgeben. Eine Änderung der Standardwertes von 1 erfolgt in UserConfig.h getrennt für jeden Lüfter mit CONFIGURE(StandardFan1ImpulsesPerRotation, 2.0) oder CONFIGURE(StandardFan2ImpulsesPerRotation, 2.0)
  • Der Bildschirmschoner wurde erweitert. Er zeigt jetzt den Status in Form eines kleinen Icons an zufälliger Position auf dem TFT Display an. Entweder wird die Lüftergeschwindigkeit angezeigt oder ein rotes Icon bei vorliegendem Fehler oder ein gelbes Icon bei einer Infomeldung.
  • Für die Kalibrierung der Lüfter kann die maximale Abweichung der Ist- zur Solldrehzahl in der UserConfig.h festgelegt werden. Gleichzeitig wurde der bisher feste Wert von 10 Umdrehungen/Minute auf einen Prozentwert umgestellt. Die Standardvorgabe ist 1.5. Eine Änderung der Standardwerte von 1.5 erfolgt in UserConfig.h CONFIGURE(StandardKwlFanPrecisionPercent, 2.0)
  • Der SW-Versionsstring wurde auf v0.21 hochgezählt.

Der Code und sämtliche zum Projekt gehörenden Dokumente stehen unter der GNU General Public License.
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Tobias

Hi,
ich war mal so frei und hab mir deine TGS2600 Berechnungen für meinen ESP32 in meinem Projekt verwendet. Dazu ein paar Fragen:
Bei dir in der sensoren.ino steht

float TGS2600_RL = 1000;

Ich habe RL = 10k, muss ich also den wert auf 10000 stellen?

der ESP32 hat eine 12Bit ADC auflösung, muss ich also in der Prozedur "calcSensor_VOC" den Wert von 1024 auf 4096 stellen?

Wenn ich beides mache, bekomme ich einen ppm-Wert von zwischen 3.x - 5.x , Ist das Realistisch?

Lasse ich RL auf 1000, bekomme ich einen ppm wert um die 8000.

Was ist ein realistischer ppm-Wert?
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

SvenJust

Hallo Tobias!

Zitat von: Tobias am 04 Februar 2018, 16:55:55
Hi,
ich war mal so frei und hab mir deine TGS2600 Berechnungen für meinen ESP32 in meinem Projekt verwendet.
Freut mich, so ist es gedacht.

Zitat von: Tobias am 04 Februar 2018, 16:55:55
float TGS2600_RL = 1000;

Ich habe RL = 10k, muss ich also den wert auf 10000 stellen?

der ESP32 hat eine 12Bit ADC auflösung, muss ich also in der Prozedur "calcSensor_VOC" den Wert von 1024 auf 4096 stellen?

Wenn ich beides mache, bekomme ich einen ppm-Wert von zwischen 3.x - 5.x , Ist das Realistisch?

Lasse ich RL auf 1000, bekomme ich einen ppm wert um die 8000.

Was ist ein realistischer ppm-Wert?

Vorweg: Ich habe meinen Code nur an EINEM TGS2600 Sensor entwickelt und getestet. Ich habe keinen Vergleich, wie sich verschiedene TGS2600 Sensoren verhalten. Mein Sensor ist im Luftstrom der Lüftungsanlage verbaut. Mit diesem Sensor bekomme ich nach Berechnung im Sourcecode Werte zwischen 0 und 100 für den VOC (manchmal sind die VOC auch größer). Diese VOC Werte korrelieren mit dem Nutzungsverhalten, d.h. z.B. beim Kochen steigt der Wert an, ebenso treibt Deo oder frische Lackfarbe den Wert nach oben.

Die Auflösung des ESP32 muss berücksichtigt werden. Die Zeile

val =  ((float)TGS2600_RL * (1024 - valr) / valr);


müsste dann lauten:


val =  ((float)TGS2600_RL * (1024 - valr/4) / (valr/4));


Ich meine mich zu erinnern, dass ich mit dem RL Wert experimentiert habe, bis ich sinnvolle Ergebnisse 0-100 bekam...

Ich bekomme einen Verlauf, wie im beiliegenden Bild. Überschreitet der Wert des VOC Sensors tagsüber einen Wert von 60 für eine längere Zeit (1 Std), so regelt die Lüftungsanlage eine Stufe höher.

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Tobias

danke,
ich habe jetzt einen RL-Wert von 5000 genommen. Damit habe ich drußen in frischer Luft um die 1, drinnen um die 25-30.
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

SvenJust

Hallo Sascha!

deine Frage habe ich aus dem geschlossenen Thread kopiert und hier beantwortet.

Zitat von: Starsurfer am 28 Februar 2018, 18:45:07
Wie hast du denn den Kamin Modus realisiert? Bzw. was passiert, wenn der Kamin an ist?
Gar nicht (ich habe keinen Kamin), und das kann bei den aktuellen Minustemperaturen SEHR gefährlich werden. Aktuell MUSST du die Lüftungsanlage ausschalten, wenn der Kamin an. Die Lüftungsanlage schaltet bei unter zwei Grad Ablufttemperatur den Zuluftlüfter aus. Damit wird nur Luft aus dem Haus gesaugt, ohne dass Luft zugeführt wird. Damit kann Kohlenmonoxid aus dem Kamin ins Haus gelangen (wirklich gefährlich, siehe https://de.wikipedia.org/wiki/Kohlenstoffmonoxidintoxikation

Ich schaue mir das Thema genauer an und ergänze den Code. Kann aber ein paar Tage dauern. Bis dahin MUSST du die Anlage ausschalten, wenn der Kamin brennt und draußen Minusgrade herrschen.

Zitat von: Starsurfer am 28 Februar 2018, 18:45:07
Ich habe meine Lüftung seid 3 Tagen, mit meiner selbst gelöteten Platine im Einsatz, allerdings mit einer etwas älteren Code Version (ohne Menü). Läuft soweit alles rund.
Sehr gut, dann sollte auch die neue Software laufen. Wesentliche Ergänzungen betrafen nur noch das Display.

Zitat von: Starsurfer am 28 Februar 2018, 18:45:07
Allerdings muss ich meine 100er Rohre noch zu Ende dämmen. Raumtemperaturen liegen bei 22 Grad, es kommen aber nur 12grad in der Anlage an.
Die Temperatur an den Sensoren hängt stark von der Platzierung innerhalb der Anlage ab. Ich vermute, du hast die gleichen Positionen wie Pluggit gewählt? Ich habe meine Sensoren auch direkt neben den Pluggit Sensoren verbaut, allerdings weichen meine Messwerte auch stark von den Pluggit Werten ab. Ich vermute, Pluggit korrigiert die gemessenen Werte und rechnet die angezeigten Werte schön. Aktuelle Werte bei mir (mit Vorheizregister, welches die Außenluft von -7.2 auf -2.0 Grad aufheizt)

Außentemperatur Garten    -7.2
T1 Temperatur Außenluft   -2.0
T2 Temperatur Zuluft      16.8
T3 Temperatur Abluft      18.1
T3 Temperatur Abluft DHT  22.7
T4 Temperatur Fortluft     6.6

Die Temperatur "T3 Temperatur Abluft DHT" wird vor dem Abluftfilter gemessen, die Temperatur "T3 Temperatur Abluft" wird direkt hinter dem Filter gemessen, hier ist schon ein Unterschied von 4.6 Grad. Bei der Zuluft messe ich in den Zimmern direkt 22 Grad. Das Haus ist allerdings auch komplett auf 23 Grad aufgeheizt...

Zitat von: Starsurfer am 28 Februar 2018, 18:45:07
Ansonsten top arbeit, Sven.
Danke.

Zitat von: Starsurfer am 28 Februar 2018, 18:45:07
Momentan scheitere ich daran mir die Effizienz in Fhem anzeigen zu lassen.
Wenn ich mir den Code so anschaue, wird der Wert auch nicht per mqtt übermittelt, dies kann ich aber einfach ergänzen, ich schaue heute Abend mal.

Zitat von: Starsurfer am 28 Februar 2018, 18:45:07
Ein pca301 Zwischenstecker soll auch noch eingebaut werden um den Verbrauch zu testen und die Anlage komplett abzuschalten.
ja, betreibe ich auch so, allerdings mit Homematic Zwischenstecker.

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Starsurfer

Keine Sorge, wenn der Kamin an ist, ist die Anlage aus, bin ja nicht Lebensmüde  :o
In der nähe des Kamins soll sowieso ein Kohlemonoxid Warner hin (kein Arduino, sondern was zugelassenes)
Die Frage hatte sich allerdings nicht an Dich gerichtet, ist aber nicht schlimm, wenn du das noch implementierst  ;D

Eins habe ich noch:
Bei mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID schwankt die Drehzahl deutlich hörbar. Muss das dann mal mit aktuellem Code testen.
Bei mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PROP alles gleichmäßig aber mehr Umdrehungen

ZitatDie Temperatur an den Sensoren hängt stark von der Plazierung innerhalb der Anlage ab. Ich vermute, du hast die gleichen Positionen wie Pluggit gewählt? Ich habe meine Sensoren auch direkt neben den Pluggit Sensoren verbaut, allerdings weichen meine Meßwerte auch stark von den Pluggit Werten ab. Ich vermute, Pluggit korrigiert die gemessenen Werte und rechnet die angezeigten Werte schön. Aktuelle Werte bei mir (mit Vorheizregister, welches die Außenluft von -7.2 auf -2.0 Grad aufheizt)
Die Sensoren hatte ich zuerst an den von Pluggit vorgesehen Plätze, allerdings ist das mit dem 1 Meter Kabel an den Sensoren dann sehr knapp, deshalb habe ich oben an den 150er Öffnungen Löcher gebohrt und habe die Sensoren dort rein gesteckt, so das sie direkt im Luftstrom sitzen.

Sieht momentan so bei mir aus:
Temp_Abluft:         9.50
Temp_Aussenluft:  1.00
Temp_Fortluft: -127.00 (Sensor defekt)
Temp_Zuluft: 7.50

ZitatWenn ich mir den Code so anschaue, wird der Wert auch nicht per mqtt übermittelt, dies kann ich aber einfach ergänzen, ich schaue heute Abend mal.
Das wäre cool.

Ein Vorheizregister werde ich wohl auch noch nachrüsten, habe da schon eins ins Auge gefasst.

Die Bypassklappe kennt im Moment nur Auf/Zu, wenn ich den Code richtig verstanden habe?
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com

SvenJust

Zitat von: Starsurfer am 01 März 2018, 12:03:37
In der nähe des Kamins soll sowieso ein Kohlemonoxid Warner hin (kein Arduino, sondern was zugelassenes)
Sehr gut!

Pluggit geht wie folgt vor: Wenn der Feuerstättenmodus in der Anlage aktiviert ist, schaltet die Anlage im Frostschutzprogramm für 4 Stunden ab, anstatt nur den Zuluftventilator auszuschalten.

Zitat von: Starsurfer am 01 März 2018, 12:03:37
Eins habe ich noch:
Bei mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID schwankt die Drehzahl deutlich hörbar. Muss das dann mal mit aktuellem Code testen.
Bei mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PROP alles gleichmäßig aber mehr Umdrehungen

Hast Du den folgenden Befehl bei der Inbetriebnahme ausgeführt? Danach sollten die PWM Werte für die unterschiedlichen Drehzahlen für den Betrieb im PROP Modus korrekt eingestellt sein. Wenn nicht, dann bitte nachholen.

mosquitto_pub -t d15/set/kwl/calibratefans -m YES


mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PROP sollte anschliessend die gleichen Drehzahlen wie PID bringen, aber konstant.

Der Wirkungsgrad wird in fhem mit dem mqtt-Topic d15/state/kwl/effiencyKwl übertragen.

In den Code sind noch einige Korrekturen eingeflossen, die aber nur die Anzeige betreffen. Der aktualisierte Code liegt auf github.

Zitat von: Starsurfer am 01 März 2018, 12:03:37
Die Bypassklappe kennt im Moment nur Auf/Zu, wenn ich den Code richtig verstanden habe?
Soweit mir bekannt, kann die Bypassklappe aufgrund der verbauten Hardware nur die Positionen offen oder geschlossen anfahren, Zwischenpositionen sind nicht möglich.

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

SvenJust

Hallo!

Es steht eine neue Version (V0.14) bei https://github.com/svenjust/room-ventilation-system online.

Zitat von: SvenJust am 01 März 2018, 20:11:13
Pluggit geht wie folgt vor: Wenn der Feuerstättenmodus in der Anlage aktiviert ist, schaltet die Anlage im Frostschutzprogramm für 4 Stunden ab, anstatt nur den Zuluftventilator auszuschalten.

Die gesamte Frostschutzsteuerung ist überarbeitet und vom Code wesentlich vereinfacht und verständlicher. Die Funktion loopAntiFreezeCheck prüft regelmäßig für den aktuellen Status, ob Bedingungen erfüllt sind, um in einen neuen Status zu wechseln. Wenn ja, wird in den neuen Status gewechselt. Es gibt die Stati: antifreezeOff, antifreezePreheater, antifreezeZuluftOff und antifreezeFireplace. Die jeweiligen Aktionen der Stati werden in der Funktion DoActionAntiFreezeState ausgeführt. Unter der folgenden Url https://github.com/svenjust/room-ventilation-system/blob/38401245a0eb0c4b234efeab530aeb4bdb1f8017/Docs/Programming/Zustands%C3%A4nderung%20Antifreeze.jpg gibt es eine Skizze der Zustandmaschine für die AntiFreezeSchaltung.

Der Feuerstättenmodus wird mit dem folgenden mqtt Kommando eingeschaltet:

mosquitto_pub -t d15/set/kwl/heatingapp/combinedUse -m YES
, ausschalten mit NO.

Wenn im Feuerstättenmodus die Antifrostschaltung aktiviert wird, wird zuerst versucht mittels Vorheizregister die Außenlufttemperatur zu erhöhen. Wenn die Fortlufttemperatur nach 10 Minuten nicht über der TEMP4_Fortluft <= antifreezeTemp liegt, wird im Feuerstättenmodus der Zu- und Abluftventilator ausgeschaltet. Diese werden erst nach vier Stunden wieder eingeschaltet. Nur ein Neustart der Steuerung kann die Ventilatoren vorher wieder aktiveren. Der Feuerstättenmodus wird im EEPROM gespeichert. Beim Booten wird als zweite Meldung "...System mit Feuerstaettenbetrieb" angezeigt. Antifreeze ohne Feuerstättenmodus ist wie bisher.

//Edit: Die Dokumentation ist auch entsprechend ergänzt: https://github.com/svenjust/room-ventilation-system/blob/master/Docs/Readme/ReadMe.pdf

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Starsurfer

Sehr schön, werde ich nächste Woche mal testen, muss mir aber erst noch mal eine andere Platine zusammen löten mit allen Anschlüssen drauf.
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com

Starsurfer

Moin,
habe heute zeit gehabt, die Platine neu zu löten und habe diese gleich mal mit der neuen Version getestet.
Dazu habe ich ein paar Fragen.
Hast Du irgend etwas an der Berechnung der Drehzahl geändert? Mir werden Drehzahlen bis über 5000 Umdrehungen angezeigt.
Ausserdem schwanken diese sehr stark auf der Anzeige (400-500 U). Gefühlt und hörbar sind diese Schwankungen aber nicht.
Habe diese Befehle ausgeführt:
root@cubietruck:~# mosquitto_pub -t d15/set/kwl/fan1/standardspeed -m 1550     
root@cubietruck:~# mosquitto_pub -t d15/set/kwl/fan2/standardspeed -m 1550     
root@cubietruck:~# mosquitto_pub -t d15/set/kwl/lueftungsstufe -m 1 

Anzeige Drehzahl:
Fan1Speed 4063
Fan2Speed 3459

Was genau passiert bei der Kalibrierung, bzw danach und wie lange braucht diese ungefähr?

Gruß Sascha
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com

SvenJust

Hallo Sascha!

Zitat von: Starsurfer am 08 März 2018, 15:22:55
habe heute zeit gehabt, die Platine neu zu löten und habe diese gleich mal mit der neuen Version getestet.
Dazu habe ich ein paar Fragen.
Hast Du irgend etwas an der Berechnung der Drehzahl geändert? Mir werden Drehzahlen bis über 5000 Umdrehungen angezeigt.
Ausserdem schwanken diese sehr stark auf der Anzeige (400-500 U). Gefühlt und hörbar sind diese Schwankungen aber nicht.

Der Code für die Drehzahlberechnung ist seit den Anfangstagen gleich geblieben. Deine Schilderung kann ich aber aus Erfahrung bestätigen. Bei mir wurde dies immer durch
a) eine nicht saubere 5V-Spannung für die Schaltung oder
b) elektrische Einstreuung auf den Tacholeitungen oder
c) Fehler bei Verkabelung der Masseleitung von Lüfter
hervorgerufen.

Ich würde überprüfen:
a) alte Softwareversion installieren
b) Netzteil für Schaltung - vielleicht neu?
c) Verkabelung/Lötung der Platine überprüfen


Zitat von: Starsurfer am 08 März 2018, 15:22:55
Habe diese Befehle ausgeführt:
root@cubietruck:~# mosquitto_pub -t d15/set/kwl/fan1/standardspeed -m 1550     
root@cubietruck:~# mosquitto_pub -t d15/set/kwl/fan2/standardspeed -m 1550     
root@cubietruck:~# mosquitto_pub -t d15/set/kwl/lueftungsstufe -m 1 

Anzeige Drehzahl:
Fan1Speed 4063
Fan2Speed 3459

Was genau passiert bei der Kalibrierung, bzw danach und wie lange braucht diese ungefähr?

Bei der Kalibrierung wird für jede Lüftungsstufe und jeden Lüfter per PID Regler versucht, die erforderliche Drehzahl zu erreichen. Die Drehzahl wird per Tachosignal des Lüfters gemessen. Es werden für jede Lüftungsstufe 30 PWM Werte zwischengespeichert, bei denen die Istdrehzahl weniger als 10 U/min von der Solldrehzahl abweicht. Wenn die 30 PWM Werte gemessen wurden, wird der Mittelwert gebildet und im EEPROM gespeichert. Anschließend werden die Werte für die nächste Lüftungsstufe ermittelt.

Wenn bei Dir falsche Drehzahlen angezeigt werden, kann die Kalibrierung nicht funktionieren. Die korrekte Drehzahlermittlung ist Voraussetzung der Kalibrierung.

Die Kalibrierung bricht nach 10 Minuten ab, siehe https://github.com/svenjust/room-ventilation-system/blob/cee5d365790ac40b58ebf9f962971649728e9288/Sourcecode/KWLctl/FanCalibration.ino#L40 die Mindestzeit liegt bei etwa 2 Minuten (Drei Lüfterstufen und 30 Sekunden jede Stufe plus Zeit zum Erreichen der jeweiligen Drehzahl. Im Display wird unten während der Kalibrierung eine Meldung angezeigt, wenn keine Fehlermeldung vorliegt.

Viel Erfolg bei der Suche

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Starsurfer

Moin,
habe jetzt noch mal alles nachgelötet und die Masse noch mal direkt an Masse gelötet, aber keine Änderung.
Netzteil getauscht, auch keine Änderung.
Software bekomme ich heute nicht mehr geändert, muss ich mal die Tage machen.
Tacholeitungen sollten eigentlich auch keine Störungen abbekommen können,
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com

SvenJust

Pin Belegung fällt mir noch ein. Hattest Du die bei Dir geändert?
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Starsurfer

Nein habe alles nach dem aktuellen PDF verkabelt. Wenn ich Mal ein bisschen Zeit habe, gehe ich mit dem Multimeter noch mal auf die Suche.
Ansonsten warte ich auf die PCB Platine oder nehme feste pwm Werte um die Anlage auf kleinster Stufe laufen zu lassen.
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com

SvenJust

Zitat von: Starsurfer am 09 März 2018, 07:39:16
Anbei Mal mein neuer Entwurf einer selbst gelöteten Platine.

Ich beziehe mich auf den obigen Post. Wenn ich die Platine richtig lese, hast Du die Pins 2 und 3 vom Lüfter mit 1 und 2 von der Platine (also Optokoppler) verschraubt/angeschlossen? Pin 1 und 4 vom Lüfter demnach mit Pin 3 und 4 der Platine? Korrekt?

Ich sehe eine gemeinsame (serielle) Masseleitung für alle Anschlüsse. Die Anschlüsse für die Lüfter sind am Ende der seriellen Leitung. Die Anschüsse für die Lüfter, also in Deiner Platine Pin 3, würde ich sternförmig mit einem Massepunkt zum Arduino verkabeln oder das Ende der Masseleitung nochmals an einen Massepunkt vom Arduino anlöten. Meine Steckbrettschaltung ist "sternförmig", also einen gemeinsamen Massepunkt bzw. Masseschiene aufgebaut. Evtl. einen kleinen Kondensator (wenige nF) zwischen Tacholeitung in Masse anschließen (sollte aber eigentlich bei sauberer Kabelführung nicht notwendig sein).
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)