PCB Platine zur Steuerung einer Zentralen Lüftungsanlage

Begonnen von Starsurfer, 20 Januar 2018, 10:00:17

Vorheriges Thema - Nächstes Thema

SvenJust

Ich messe morgen den Kabelstrang, dann sehen wir weiter...
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)

Jasimo


Jasimo

#93
So letzte Aktion für heute, hab gerade mal den Wert
static constexpr double StandardKwlModeFactor[MAX_FAN_MODE_CNT] = {0, 0.2, 0.5, 0.8};
gesetzt, den Arduino geflasht und Werkseinstellungen geladen.

Nach der Kalibrierung hab ich nun in
Stufe 1
2000 (Fan1)
1800 (Fan2)

Stufe 2
3300 (Fan1)
3100 (Fan2)

Stufe 3
4320 (Fan1)
stark schwankende Werte (Fan2).
Wobei der Fan2 immer stärker schwankt beim Tacho als Fan1. Scheinbar drehen die Ventilatoren wirklich zu schnell.

Gute Nacht!

Starsurfer

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

Jasimo

#95
Zitat von: Starsurfer am 07 Januar 2019, 01:50:50
Probier das mal aus:
https://forum.fhem.de/index.php/topic,83242.msg778802.html#msg778802
Das hatte ich schon alles durchgemessen, ist alles hochohmig, also keine Brücke an der Stelle. Hatte über Dein Problemchen im Thread auch schon gelesen und es gleich geprüft. Mal gucken was Sven noch herausbekommt, ist wirklich strange.
Ach so, statt den Optokopplern des Typs PC 817 hab ich LTV 817 verbaut, das sollte jedoch keinen Unterschied machen, denke ich.

Jasimo

#96
Meine verbauten Ventilatoren (ebm-papst r3g225 ae19-12) haben übrigens eine Nenndrehzahl von 2850 U/min und nicht wie im Quellcode unter DefStandardNenndrehzahlFan angegeben 3200.
Falls das zur Lösung vielleicht noch etwas beiträgt.

SvenJust

#97
Hallo Jan!

Welche Anlage hast Du eigentlich P300 oder P450? Der Lüfter meiner P300 ist ein Lüfter der Baureihe r3g190. Den von Dir erwähnten Lüfter r3g225 ae19-12 finde ich im Zusammenhang mit der AP450.  Bei Papst gibt die Zahl hinter dem "g" die Baugröße an.

Die Verkabelung (Pinbelegung) von der Platine zu den Lüftern scheint bei Dir korrekt zu sein, ansonsten laufen die Lüfter nicht an. Bei der Masseverbindung bin ich mit der Ausführung auf den Bildern nicht "zufrieden". Bitte verbinde Pin 4 und 8 wie die rote Strecke auf dem beiliegenden Bild und trenne die Verbindung mit den gelben Kabeln. Die Tachosignale sind relativ anfällig bei Wackelkontakten (die Stecker beim Widerstand R7 sehen auf den Bildern nur gesteckt aus) bzw. Einstreuungen.

Die Verbindung der gesteckten Platinen vom Arduino, P300_Arduino_IF und den LAN Shield mit Metallschrauben sehe ich kritisch, besser ist es hier Kunststoffschrauben zu verwenden. Die Bohrungen und Abstände zu den elektrischen Kontakten bzw Chips auf dem LAN Shield und dem Arduino-Board sind sehr gering.

Für die weiteren Tests:
Bitte zuerst unbedingt die GND Verbindung wie oben beschrieben ändern. Im Quellcode DefStandardNenndrehzahlFan auf 2850 ändern. Auf welche Werte stehen bei Dir: StandardSpeedSetpointFan1 und StandardSpeedSetpointFan2 sowie StandardKwlModeFactor[MAX_FAN_MODE_CNT]?

Standard ist:

  /// Solldrehzahlen in Relation zur Standardlüftungsstufe.
  static constexpr double StandardKwlModeFactor[MAX_FAN_MODE_CNT] = {0, 0.7, 1, 1.3};
  /// Standardlüftungsstufe beim Anschalten.
  static constexpr int StandardKwlMode = 2;
  /// Drehzahl für Standardlüftungsstufe Zuluft.
  static constexpr unsigned StandardSpeedSetpointFan1       = 1550;              // sju: 1450
  /// Drehzahl für Standardlüftungsstufe Abluft.
  static constexpr unsigned StandardSpeedSetpointFan2       = 1550;              // sju: 1100


Bitte auf diese Werte ändern, damit hier definierte Werte vorhanden sind.

Im Kommentar zu StandardSpeedSetpointFan1 und 2 stehen die Werte meiner Anlage. Die Werte sind vom Luftwiderstand der Lüftungsrohre abhängig. Die Drehzahl StandardSpeedSetpointFan1 bzw 2 sind die Drehzahlen für Stufe 2, diese versucht die Anlage einzuregeln.

Empfehlung für das Testen:
Die Anlage in Modus PID betreiben, die Änderungen bei den Drehzahlen sind dann sofort erkennbar, während im PWM Modus jedes Mal eine Kalibrierung gemacht werden muss. Wenn die Kalibrierung im PWM Modus nicht gelingt, bleiben die alten Werte erhalten. Eine Kalibrierung im PID Modus ist OHNE Funktion und wird nichts ändern. Im Modus PID ist die Anlage quasi permanent im Kalibrierungsmodus, genauer gesagt wird das PWM-Signal zum Lüfter permanent geregelt. Dazu wird die gemessene Drehzahl vom Tachosignal mit der StandardSpeedSetpointFan1 vergleichen und mit einem PID-Regler https://de.wikipedia.org/wiki/Regler#PID-Regler nachgeregelt.

Also: Nicht den StandardKwlModeFactor ändern, sondern diesen auf den obigen Werten {0, 0.7, 1, 1.3} belassen. Die Lüftungsstufe bei 2 belassen bzw. einstellen. Änderungen der Solldrehzahlen bei StandardSpeedSetpointFan1 und StandardSpeedSetpointFan2 machen mit

mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID
mosquitto_pub -t d15/set/kwl/lueftungsstufe -m 2
mosquitto_pub -t d15/set/kwl/fan1/standardspeed -m 700
mosquitto_pub -t d15/set/kwl/fan2/standardspeed -m 700


Die Drehzahlen im Topic d15/state/kwl/fan1/speed und d15/state/kwl/fan2/speed müssen dann ungefähr auf 700 gehen.

Bitte zuerst die GND Verkabelung ändern, die Schraubverbindungen mit den Metallschrauben lösen und Platinen nur stecken und dann den Quellcode ändern.

VG Sven

/edit: Pin 6 auf  Pin 8 korrigiert
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)

Jasimo

#98
Hallo Sven,

ich hab eine P300 so steht es zumindest auf dem Typenschild, hab sowas ja beim Einbau vor 10 Jahren nicht kontrollieren können.
Die Platine in Bezug auf Masse und den pins 4 und 8 ändere ich heute Abend wie auf Deinem Bild, meine zwei Kabel sind durch die Löcher gesteckt und auf der anderen Seite verlötet, ich ändere das aber nach Deinen Vorgaben.

Abstandhalter aus Kunststoff habe ich leider nicht parat, kann die aber auch mal komplett raus nehmen, nur den Arduino selbst muss ich auf der Trägerabefestigen, da müsste ich erstmal auf Metall bleiben bis ich andere habe. Die beiden Shields halten ja auch ohne bombenfest.

Mein Code sah bis gestern Abend wie folgt aus
/// # der konfigurierten Standardlüftungsstufen.
  static constexpr unsigned StandardModeCnt = 4;
  /// Solldrehzahlen in Relation zur Standardlüftungsstufe.
  static constexpr double StandardKwlModeFactor[MAX_FAN_MODE_CNT] = {0, 0.7, 1, 1.3};
  /// Standardlüftungsstufe beim Anschalten.
  static constexpr int StandardKwlMode = 2;
  /// Drehzahl für Standardlüftungsstufe Zuluft.
  static constexpr unsigned StandardSpeedSetpointFan1       = 1550;              // sju: 1450
  /// Drehzahl für Standardlüftungsstufe Abluft.
  static constexpr unsigned StandardSpeedSetpointFan2       = 1550;              // sju: 1100
  /// Nenndrehzahl Papst Lüfter lt Datenblatt 3200 U/min.
  static constexpr unsigned StandardNenndrehzahlFan         = 3200;


Soll ich da dann anstatt 3200, 2850 eintragen? Mach ich das dann direkt in der KWLConfig.h oder in der UserConfig.h

Wenn ich den den Arduino dann geflasht habe mache ich also ein
mosquitto_pub -t d15/set/kwl/resetAll_IKNOWWHATIMDOING -m YES
und dann
mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID
mosquitto_pub -t d15/set/kwl/lueftungsstufe -m 2
mosquitto_pub -t d15/set/kwl/fan1/standardspeed -m 700
mosquitto_pub -t d15/set/kwl/fan2/standardspeed -m 700


und schaue welche Drehzahlen raus kommen?

Gruß
Jan






SvenJust

Hallo Jan!

Zitat von: Jasimo am 07 Januar 2019, 12:42:59
ich hab eine P300 so steht es zumindest auf dem Typenschild, hab sowas ja beim Einbau vor 10 Jahren nicht kontrollieren können.
Interessant, dass in der P300 auch die großen Lüfter verbaut wurden.
@alle: Hat einer der Nachbauer hier auch die r3g225 Lüfter verbaut?


Zitat von: Jasimo am 07 Januar 2019, 12:42:59
Soll ich da dann anstatt 3200, 2850 eintragen?
ja

Zitat von: Jasimo am 07 Januar 2019, 12:42:59
Mach ich das dann direkt in der KWLConfig.h oder in der UserConfig.h
Bitte in der KWLConfig.h. In der UserConfig.h ggfs den Parameter StandardNenndrehzahlFan löschen. Wir vermeiden damit Fehler durch die unterschiedliche Notation in der KWLConfig.h und in der UserConfig.h. Später lassen sich die Werte immer noch in die UserConfig.h übernehmen.

Zitat von: Jasimo am 07 Januar 2019, 12:42:59
Wenn ich den den Arduino dann geflasht habe mache ich also ein
mosquitto_pub -t d15/set/kwl/resetAll_IKNOWWHATIMDOING -m YES
und dann
mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID
mosquitto_pub -t d15/set/kwl/lueftungsstufe -m 2
mosquitto_pub -t d15/set/kwl/fan1/standardspeed -m 700
mosquitto_pub -t d15/set/kwl/fan2/standardspeed -m 700


und schaue welche Drehzahlen raus kommen?

Ja, fast. Nach mosquitto_pub -t d15/set/kwl/resetAll_IKNOWWHATIMDOING -m YES einen Moment (10 Sekunden) warten und dann die Anlage per Reset am LAN Shield oder durch Stromlos machen neustarten. Es ist noch ein Fehler im Code, nach dem ResetAll startet der Arduino nicht komplett durch. Dann die anderen mqtt Befehle absetzen.

Evtl. für die standardspeed noch kleinere Werte verwenden und schauen welche Drehzahl die Lüfter erreichen. Mit calculatespeed = PID und lueftungsstufe = 2 müssen die Lüfter genau mit den Drehzahlen standardspeed laufen (dieses vorausgesetzt: StandardKwlModeFactor[MAX_FAN_MODE_CNT] = {0, 0.7, 1, 1.3};) Das die Drehzahlen leicht (+/- 50) schwanken ist normal und auch hörbar.

Da in deiner Anlage die großen Lüfter verbaut sind, erscheint es mir gut vorstellbar, dass diese bei gleichem Luftdurchsatz mit niedrigeren Drehzahlen laufen als die kleineren Lüfter r3g190. Unter den Voraussetzungen sollte die Anlage mit besonders wenigen Geräuschen arbeiten.

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)

Jasimo

Okay, mache das heute Abend alles und melde mich hier zurück.

Jasimo

So hab alles geändert.
Nach dem flashen mit diesen Werten
/// # der konfigurierten Standardlüftungsstufen.
  static constexpr unsigned StandardModeCnt = 4;
  /// Solldrehzahlen in Relation zur Standardlüftungsstufe.
  static constexpr double StandardKwlModeFactor[MAX_FAN_MODE_CNT] = {0, 0.7, 1, 1.3};
  /// Standardlüftungsstufe beim Anschalten.
  static constexpr int StandardKwlMode = 2;
  /// Drehzahl für Standardlüftungsstufe Zuluft.
  static constexpr unsigned StandardSpeedSetpointFan1       = 1550;              // sju: 1450
  /// Drehzahl für Standardlüftungsstufe Abluft.
  static constexpr unsigned StandardSpeedSetpointFan2       = 1550;              // sju: 1100
  /// Nenndrehzahl Papst Lüfter lt Datenblatt 3200 U/min.
  static constexpr unsigned StandardNenndrehzahlFan         = 2850;


hab ich ein
mosquitto_pub -t d15/set/kwl/resetAll_IKNOWWHATIMDOING -m YES
abgesetzt und nach 10 Sekunden als die Anlage wieder lief sie einmal stromlos gemacht und wieder eingeschaltet.

dann die folgenden Befehle nacheinander eingegeben
mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID
mosquitto_pub -t d15/set/kwl/lueftungsstufe -m 2
mosquitto_pub -t d15/set/kwl/fan1/standardspeed -m 700
mosquitto_pub -t d15/set/kwl/fan2/standardspeed -m 700


nun fahren die Lüfter hoch und runter also keine konstante Drehzahl bei ca. 700. Ich mache mal ein Video und verlinke es hier.
So langsam verzweifele ich hier ;-(



Jasimo

hier das Video nach Eingabe von
mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID
mosquitto_pub -t d15/set/kwl/lueftungsstufe -m 2
mosquitto_pub -t d15/set/kwl/fan1/standardspeed -m 700
mosquitto_pub -t d15/set/kwl/fan2/standardspeed -m 700


wobei er sofort nach Eingabe von
mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID
mit dem Verhalten beginnt und nach absetzen der anderen Befehle sich daran nichts ändert.
https://youtu.be/44xdt4-ZB_o

SvenJust

Hallo Jan!

Zitat von: Jasimo am 07 Januar 2019, 17:19:57
https://youtu.be/44xdt4-ZB_o

Alles sehr merkwürdig...

Hast Du ein Oszilloskop, um das PWM Signal zu den Lüftern zu sehen?
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

Mit den folgenden Zeilen in der Datei FanControl.cpp, Zeile 56-57 wird die Regelgeschwindigkeit des PID Reglers um den Faktor 10 verlangsamt.

static constexpr double aggKp  = 0.05,  aggKi = 0.01, aggKd  = 0.001;
static constexpr double consKp = 0.01, consKi = 0.01, consKd = 0.001;

Versuch dies mal im Code einzubauen und auf den Arduino zu laden.


mosquitto_pub -t d15/set/kwl/fans/calculatespeed -m PID

Dann ausschalten und neustarten. Laufen die Lüfter immer noch so schnell hoch und runter?
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)