Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Dann bitte mal testen und rückmelden, ob es jetzt passt.
Die Änderungen im Code haben gefruchtet. Sowohl bei der Änderung von einstellig zu zweistellig als auch umgekehrt gibt es keine Probleme mit der Anzeige mehr.
Und um Stefan zu beruhigen, alle Kühlschrankstresstests hat der Smelly richtig tapfer weggesteckt. Auch das Display. Aber: Nicht Nachmachen!
schön dass Du noch Anpassungen am Code durchführst, aber hast Du dir auch mal mein Problem von hier angeschaut?
Sollte das nicht auch angepasst werden? Meine Änderungen habe ich hier verlinkt.
TomW80
Ich logge den Regler zwar nicht, aber eine anspringende Regelung wäre mir sicher am Smelly selbst aufgefallen, denn im Winter ist IST<SOLL eigentlich Standard wegen Nachtabsenkung bei mir.
Hat sich das Problem bei dir dadurch gelöst ?
Ich fände ein Abfangen von negativen Werten, wenn sie wirklich entstehen sollten, so besser: if (yP<0) yP=0;
Denn float bei diesen Variablen ergibt eigentlich keinen Sinn und braucht unnötig Ressourcen. Keinen Sinn deshalb, da die Auflösung für KNX immer ganze Prozent sind.
Achtung: die Berechnung des Taupunkts und die Übertragung funktioniert nur, wenn die Taupunktanzeige im Display aktiviert ist. Das wäre dann etwas mehr Aufwand im Sketch, wenn die Berechnung immer erfolgen soll.
Muss hier nicht nur die If-Abfrage "if (Taup_Anz)" entfernt werden?
Muss hier nicht nur die If-Abfrage "if (Taup_Anz)" entfernt werden?
Keine Ahnung Tom, probiers aus :-)
Mir fehlt da noch die Stelle, wo das Display aktualisiert wird (und aus Perfomancegründen nur dann, wenn der neue Wert ungleich dem alten ist).
EDIT: habe mal geschaut, das sollte passen.
Der µC ist aber schon jetzt gut am Anschlag, wenn da auch noch bei jeder Temperaturänderung die recht ressourcenfressende Taupunktberechnung kommt...
EDIT: das ist Blödsinn was ich oben geschrieben habe - macht keinen Unterschied bei der Bearbeitung, habs gerade mal im Code gecheckt. Es bleibt dann nur das zusätzliche Senden der GA mit dem Taupunkt über.
Wenn ich nichts übersehen habe, müsste das von Tom beschriebene Entfernen der Abfrage oben ausreichen.
TomW80
Hat sich das Problem bei dir dadurch gelöst ?
Ja
Ich fände ein Abfangen von negativen Werten, wenn sie wirklich entstehen sollten, so besser: if (yP<0) yP=0;
Denn float bei diesen Variablen ergibt eigentlich keinen Sinn und braucht unnötig Ressourcen. Keinen Sinn deshalb, da die Auflösung für KNX immer ganze Prozent sind.
Ich steuere hier eine FBH, da möchte ich doch nicht gleich das Ventil schließen wenn Ist>Soll ist. Anders kann ja yP negativ sein aber yI oder yD positiv. Dadurch erhalte ich einen kleineren Stellwert und nicht gleich 0.
Allerdings verhinderst Du eine Regelugn ja schon durch "if ((RTR)&&(Sollwert>temp)) { ", da durch Ist>Soll das Ventil geschlossen wird. Hier frage ich nur "if ((RTR){ " ab.
Außerdem ist mir noch ein Fehler in der Windup-Funktion aufgefallen, siehe hier
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar