Forum: Mikrocontroller und Digitale Elektronik Temperaturregelung via PWM


von GMB (Gast)


Lesenswert?

Hallo zusammen!!

Habe einen mega8 den ich über Bascom programmiere, habe bereits schon
einen Lüfter über PWM angesteuert, indem ich das Tastverhältnis des
PWM-Signal "manuell" durch neu-programmierung des Controllers
geändert habe. Dies klappt zu meiner Verwunderung auch einwandfrei!!

Jetzt möchte ich gerne eine Temperaturregelung implementieren, die
Temperatur lese ich natürlich über den ADC ein, habe den Wert dann als
"echte" Temperatur in °C vorliegen.

Habe mir jetzt folgendes überlegt bzw. ausprobiert:

1. Einlesen des ADC-Wertes (+ Umrechung)
2. Vergleich mit voreingestelltem Wert (z.B. "-30°C")
3. Wenn ADC-Wert > Vergleichswert: Tasteverhältnis "vergrößern" =>
Lüfter dreht schneller
4. Sonst Tastverhältnis "verkleinern" => Lüfter dreht langsamer

Das ganze dann als Schleife (mit Display-Ausgaben zwischendurch), habe
es mal ausprobiert, aber hatte irgendwie nicht den gewünschten
Erfolg...gibt es da evtl. eine besser "Grundidee"?

Wäre für jede Hilfe dankbar!

von Senf (Gast)


Lesenswert?

MONGO, dies ist die Code SAMMLUNG und nicht die bitte helft mir hab
keinen Plan Abteilung. Hab es allmählich satt.

von GMB (Gast)


Lesenswert?

Danke für das "Mongo", Senf!! :-)

Habe beim durchlesen des Forums diverse Beiträge mit Fragen gesehen,
und mich dann "eingereiht"...aber man könnte diesen Thread ja auch
sinnvoll nutzen, und alle Codes zu dem Thema hier einstellen, denn in
der Suche habe ich nichts brauchbares gefunden

HORNOCHSE!!!!!

von Dennis Strehl (Gast)


Lesenswert?

Nun, im Grunde hat er ja recht, es heißt "Codesammlung" und nicht
"Fragen-zu-Code-Sammlung".
Zum Problem: Wie ich das verstanden habe, wird das Temperatursignal
integriert und dann als PWM-Signal ausgegeben. Dies nennt sich
Integralregler und fängt an zu schwingen, wenn zwischen
Drehzahländerung und Reaktion der Temperatur darauf zu viel Zeit liegt.
Du kannst entweder die Differenz durch einen bestimmten Wert teilen und
dann erst dazuzählen oder du verwendest eine andere Reglerart.

Literatur dazu:
http://www.roboternetz.de/wissen/index.php/Regelungstechnik

MfG

von GMB (Gast)


Lesenswert?

Mir ist zwar nicht ganz klar, wie du darauf kommst das ich etwas
integriere, aber die "Grundlagen" der Regelungstechnik sind mir sehr
wohl bekannt...doch leider nur als analoge Schaltung mit OP...:-/
Bzw. dann als Übertragungsfunktion und dergleichen...

Doch leider ist mir etwas schleierhaft, wie ich das umsetzen kann, aber
ich glaube ich muss mich da einfach mal wieder einlesen...

Ich hatte meinen "Code" eigentlich als P-Regler aufgefasst, aber ist
ja im Prinzip ja auch nicht richtig, weil er ja nicht die
Regelabweichung multipliziert... :-(

Dachte es hätte jemand einen "Tip" auf Lager...:-/

von Oliver S. (stopfohr)


Lesenswert?

P-Regler: Die Stellgröße ist proportional zur Regelabweichung.

Beispiel: Solltemp 10Grad. Isttemp: 15 Grad. Prop.-Faktor 1:
Reglerausgabe -5. (Was immer "-5" jetzt auch bedeutet...). Also in
jedem Schleifendurchlauf die Regeldifferenz bilden und den Ausgabewert
danach berechnen. Bleibt die Regeldifferenz konstant, bleibt auch der
Ausgabewert konstant.

Du hast geschrieben:
3. Wenn ADC-Wert > Vergleichswert: Tasteverhältnis "vergrößern" =>
Lüfter dreht schneller
4. Sonst Tastverhältnis "verkleinern" => Lüfter dreht langsamer
 Wenn das wirklich so programmiert ist, dann ist es so etwas wie ein
I-Regler: Bei konstanter Temperaturdifferenz veränderst du den
Ausgabewert bei jedem Schleifendurchlauf. (ok, bei einem richtigen
I-Regler wäre die "Veränderungsrate" proportional zur Regeldifferenz,
ist aber jetzt egal). Praktisch wird dein Ausgabewert wahrscheinlich
immer an der oberen oder unteren Begrenzung hängen (falls vorhanden).

Oliver

von Werner (Gast)


Lesenswert?

Wenn man sich die Überschrift im Forum mal durchlesen würde könnte man
dies lesen:"
Forum - Codesammlung
Wenn ihr eigene Programme oder Anleitungen geschrieben habt könnt ihr
sie hier posten. Fragen werden gelöscht! "
Also nicht wundern, wenn das Posting einfach mal weg ist...

von GMB (Gast)


Lesenswert?

Danke erstmal an die Mods für's verschieben!! Ich weiß dann jetzt
bescheid, was wo hingehört... ;-)

Zurück zum Thema: so wie du es erklärt hast Oliver klingt es jetzt auch
logisch für mich, ich werde mich da nochmal richtig dran setzen, wozu
hab ich schließlich eine Reglerdimensionierung gelernt?!?! ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.