Pages: 1 [2] 3   Go Down
Author Topic: Ansteuerung eines 3-Wege-Mischers für eine Fußbodenheizung  (Read 7719 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also eine ganz einfache lineare Heizkurve kann man mit vier Eckpunkten nachbilden, also x1,x2,y1,y2

x ist die Aussentemperatur y der errechnete Wert der Vorlauftemperatur.

x1 also dann z.b. -15 Grad
x2 +15 Grad
y1 =30 Grad
y2 = 80 Grad

dann gilt
SW = y1 +  (AT - X1)/(X2-X1) * (y2-y1)

Das ist jetzt erst mal eine sehr einfache Heizkurve, man nimmt natuerlich am besten die geglaetttete AT , ( y.b. wegen Mittagssonne), Dann eine Nachtabsenkung (dann kann man das auch logarithmisch aufbauen, weil sich ein Gebaeude und die Verbraucher nicht linear verhalten), dann kann man eine Raumponpensation einbauen wenn man einen Referenzraum hat, und man kann mit einer Auskuehlkonstante die Zeit errechnen, die zum aufheizen notwendig ist, ebenso, die Zeit die der Heizkreis frueher abgeschaltet werden kann, ohne dass Komforteinbussen zu befuerchten sind.

Zurueck zum Thema mit dieser einfachen linearen Gleichung hat man aber schon mal eine witterungsgefuherte Vorlaufregelung...

Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 89
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

da sollte die PID Libary wie für geschaffen sein. Falls gewünscht kann ich da ein kleines Tutorial für anfertigen, zumindest für die Basics.
Hab zwar bis jetzt nur einen Thermofühler als Istwert mit einem Sollwert verglichen und anschließend per PMW einen Lüfter eingestellt der den Thermofühler auf Sollwert hält.
Sollte aber für kleines Tutorial \ Einstieg reichen.

Gruß  
« Last Edit: August 15, 2011, 04:20:03 pm by Yeahuno » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Yeahuno
gegen ein tutorial hätte ich nichts einzuwenden wenn du zeit hättes
@inside-man
wenn x die aussentemp ist was ist dann AT oder habe ich da was falsch verstanden?
Gruß
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 89
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hi

ich fang hier mal an
http://arduino.cc/forum/index.php/topic,69564.0.html

Gruß
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Yeahuno
du hast da ein super tutorial verfasst. Habe angefangen es abzuarbeiten nach dem lesen mal sehen wie weit ich komme.
Gruß
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@inside-man
wenn x die aussentemp ist was ist dann AT oder habe ich da was falsch verstanden?
Gruß

Stell dir ein Diagramm vor, x sind die beiden (Grenz-)sollwerte fuer die Aussentemperatur, Z sind die Grnzsollwerte fuer die vorlauftemperatur. AT ist dann die aktuelle Temperatur und VL die errechnete Vorlauftemperatur.
Good Luck
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Sehr Guter Beitrag! Aber wrum nicht ins Wiki stellen? dort kann er von weiteren Benutzern angepasst werden, und wandert nicht nach hinten wie in eine forum.
Inside-Man
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 89
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hi

erstmal sollten ein paar Leute ihren Senf dazu abgeben, egal ob Positiv oder Negativ  smiley-lol

Ich bin selber ein Newbi in Sachen Arduino \ Elektrik und co. Hab mehrere Tage damit verbracht den Kram zu installieren etc.
Gruß
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

so habe mich einwenig damit beschäftigt aber wie gebe ich die formel mit klammer ein.
einige versuche sind scho fehlgeschlagen. so komplexe aufgaben hatte ich noch nicht für das programm
gruß
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo, tatsaechlich habe ich das noch nicht in eine arduino IDE eingegeben. Ich habe sowas bisher immer wie folgt geloest, jede Menge interne Variablen anlegen, und dann jeweils die Rechnung die in einer Klammer steht auf eine Variable schreiben, und dann jeweils diese Teilrechnungen verbinden, das sollte klappen.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

diesen gedanken hatte ich auch schon dacht aber es gäbe eine andere lösung weil bei mehr als eine klammerrechnung spielt der arduino nicht mehr mit
aber wieviel variablen kann ich im arduino anlegen beliebig viel oder wie bei einer sps nur eine gewisse anzahl
gruß
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich vermute mal jede Variable nimmt letztlich etwas Speicher in Anspruch, da ist sicher dann irgendwann mal Ende, aber 50 solcher Variablen sind problemlos moeglich, sprich ich bin mir ziemlich sicher das es da keine Ressourcenprobleme gibt, weil zu viele Variablen angelegt sind!
Viel Erfolg
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

so habe mal etwas mit der formel gespielt und bin an einem problem hängengeblieben wenn ich den ersten teil der formel durch den zweiten teil dividiere dann erhalte ich null
also at=at1/-35 dann erhalte ich null!
warum? 
at und at1 sind variable.
wer kann mir weiter helfen.
gruß
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 89
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


verfasse das ganze doch mal so, das jemand ohne Ahnung dir helfen könnte

was ist erster teil was ist zweiter teil, blick da nicht durch

schreib doch mal die nackte Formel auf

Gruß
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


also at=at1/-35 dann erhalte ich null!

Schau am besten nochmal genau welche Variablentypen Du nimmst

http://arduino.cc/en/Reference/HomePage

Also eine Division darf kein integer sein, logisch oder?

Ich glaube double oder float waeren geignet. Teste also einfach ob Der Wert der bei einer Rechnung von einer Variable gefasst werden kann, wenn also -0.5 rauskommen soll, dann kannst Du meines Erachtens schreiben:

at1=-0.5
lprint at1

wenn das dort wieder korrekt ausgegeben wird sollte es klappen.

Ich entschuldige mich fuer meine unscharfen antworten, habe keinen Arduino hier, und kann nur mutmassen, (naechste woche habe ich wieder Zugriff auf einen, dann koennte ich es testen )
Logged

Pages: 1 [2] 3   Go Up
Jump to: