Temperatur - Licht - Steuerung - Tipp´s Denkanstoß

Hallo ,
wir bauen eine Lampe mit selbstgebautem Leuchtmittel (LED-Stripes auf Alukörper).
Die Lampe soll bei Dämmerung eingeschaltet (100%) und mit dunkler werden, die Leuchtkraft herabsetzen.
Das ist kein Problem und funktioniert mit LDR und PWM ganz gut.
Jetzt hab ich aber als absoluter Arduino und Programmierungsneueinsteiger ein Problem mit der Temperatur.

Da die Leuchtkraft bei 100% ziemlich hoch ist. ca 25 Watt, möchte ich bei z.B. ab 40 Grad mittels PWM die Leuchtkraft zusätzlich herabsetzen. Zum abkühlen des Leuchtkörpers.
Ich habe versucht das per mehreren If Abfragen zu lösen, also wenn Temp überschritten, reduziere den PWM Wert. Das funktioniert aber so nicht.

Habt ihr vielleicht einen Tip in welche Richtung ich da suchen sollte? PID? Ich stehe etwas auf dem Schlauch.
Ein paar Stichworte zum einlesen würden schon reichen.

(Haben gerade Zwillinge bekommen, mein Gehirn läuft aufgrund von extremen Schlafmangel nur auf 50% :slight_smile: )

Das hört sich jetzt nicht kompliziert an.
Eher nach einem leichten Programmierfehler.

Setze doch mal den Sketch hier in code-tags rein, dann können wir dir sicher schnell helfen.

Code-tags, beim Schreiben siehst du die oben links in der Menuleiste.

</> , so sieht das Zeichen aus

es erscheint dann zweimal code in eckigen Klammern, zwischen den den inneren Klammern kopierst du den Sketch rein, fertig.

(deleted)

0Timo0:
... mein Gehirn läuft aufgrund von extremen Schlafmangel nur auf 50% :slight_smile:

Naja, wenn Du nur halbe Nächte schläfst, kannst Du doch die anderen Hälften programmieren - für Zwillinge gilt das doppelt :slight_smile:

Sorry, der ging auf Deine Kosten.

Auch für mich klingt das nach einem ziemlich harmlosen Programmierfehler. Setze Deinen Sketch hier ins Forum, dann ist der Fehler bestimmt schnell gefunden.

Gruß

Gregor

Hallo,
erst mal hertzlichen Glückwunsch zur Geburt der Zwillinge.

In der Regelungstechnik würde man in so einem Fall von einem unterlagerten Regelkreis mit zwei PID Reglern sprechen. Ich denke in Deinem Fall wird das aber zu kompliziert werden. Letztlich hängt es auch davon ab wie genau du die Temperatur einhalten willst. Der Zusammenhang zwischen Helligkeit und Temperatur ist vermutlich ja nicht linear.

Ich würde erst mal folgenden Ansatz machen . Den PWM Wert ( Helligkeit) stellst Du jetzt mit dem LDR ein, das fuktioniert so weit wie du das haben willst. Ab 40 Grad musst Du jetzt diesen PWM Wert mit einem Faktor < 1 multiplizieren bevor Du ihn ausgibts.

z.B
if(temperatur > 40) faktor= 0.7
else faktor=1
pwm=pwm*faktor

Das führt dann dazu das der PWM Wert des LDR grösser wird, weil die Helligkeit jetzt ja nicht mehr ausreicht um den LED richtig zu bescheinen. Es wird sich also da ein max Wert einstellen der begrenzt werden muss. z.B auf 255, das wirst Du ja aber schon so haben.

Um den obigen Faktor zu ermitteln kannst Du jetzt erst mal fest 255 einstellen und ermittelst damit den Wert für Faktor so das die Temperatur in etwa 40 Grad bleibt. Wenn der Faktor dabei zu klein ist könnte das beginnen zu “schwingen”, weil es dann ehr wie ein “ein /aus” Termostat “Zweipunkt-Regler” wirkt.
Wenn das so halbwegs klappt nimmst Du die feste Einstellung für pwm wieder raus und hoffst das es klappt.

Heinz