Forum: Mikrocontroller und Digitale Elektronik Wärmelampen dimmen über PWM


von Max J. (dermax)


Lesenswert?

Guten Tag,

ich muss folgendes Projekt machen. Ich habe ein selbst gebautes 
Gewächshaus von einer Größe von 50x50cm. In dem Gewächshaus ist ein 
Temperatursensor. Davon abhängig soll eine Wärmelampe über ein 
elektrisches Relais gedimmt werden, indem ich das Relais 
ein/ausscchalte.
Also angenommen >30 Grad soll das Relais die Lampe dimmen.

Nur ich weiß nicht genau wie ich das Programmieren soll. Programmiere 
mit der Schreibweise C.

Bitte nur ernst gemeinte Kommentare!

Vielen Dank!

: Verschoben durch Moderator
von Max D. (max_d)


Lesenswert?

1
if(Temperatur > 30){
2
 Relais = 0;
3
}
4
else{
5
 Relais = 1;
6
}

Garbage in, garbage out

: Bearbeitet durch User
von Der Andere (Gast)


Lesenswert?

Max J. schrieb:
> Also angenommen >30 Grad soll das Relais die Lampe dimmen.

Was willst du erreichen.
So wie es für mich aussieht misst du die Temperatur und willst auf einen 
Sollwert regeln.
Einfachste Lösung: 2 Punktschalter. Du willst 30°C, also schaltest du 
bei einer Isttemperatur von 30°C- delta-t/2 ein und bei 30°C + delta-t/2 
wieder aus.
Komplexere Lösung wäre ein PI(D) Regler, den man entsprechend 
parametrieren müsste.

Was du jetzt machst hängt von deinen Anforderungen und von deinen 
Kenntnissen ab.

PWM ist bei trägen Systemen wie einer Heizung unnötig. Bei Netzspannung 
nimmt man dann eher Wellenpaketsteuerung.
Es kommt auch darauf an was dein "elektronisches Relais" macht. Ggf hat 
das schon einen Nullspannungschalter, mit einer PWM im Sekundenbereich 
hast du dann automatisch eine Wellenpaketsteuerung.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Max D. schrieb:
> if(Temperatur > 30){
>  Relais = 0;
> }
> else{
>  Relais = 1;
> }

Schlecht. Das kann das Relais zum Flattern bringen, wenn die Temperatur 
genau zwischen 30 und 31 Grad hin- und herpendelt. Was ziemlich 
wahrscheinlich ist, weil die Wärmelampe ja direkt eingeschaltet wird.

Besser wäre eine Art Hysterese:
1
if(Temperatur > 30)
2
{
3
  Relais = 0;
4
}
5
else if (Temperatur < 30)
6
{
7
  Relais = 1;
8
}

Bei genau 30 Grad passiert dann einfach keine Änderung.

Den Bereich für "Nichts ändern" kann man natürlich noch weiter erhöhen, 
indem man die beiden Werte 30 oben und 30 unten anpasst.

von Ich (Gast)


Lesenswert?

Würde nicht ein Thermostat, wie es z.B. in Trocknern oder anderen 
Haushaltsgeräten verbaut ist, genügen?

von max (Gast)


Lesenswert?

Mag sein, dass andere Sachen sinnvoller oder leichter wären. Jedoch habe 
ich den Auftrag bekommen das so zu machen. Deswegen muss ich mich auch 
daran halten.

von Ich (Gast)


Lesenswert?

Schule, Studium? :)

Aber gut, dass PWM sinnlos ist, wurde ja schon gesagt. Ebenso die 
Hysterese.
Tutorials um einen Temperatursensor auszulesen und ein Relais 
anzusteuern gibt es ja zu genüge.

von DocMartin (Gast)


Lesenswert?

Wieso jetzt zwei Threads?

Beitrag "PWM  Lampe dimmen  elektrisches Relais"

Martin

von max (Gast)


Lesenswert?

Schule. Dann werde ich mich hier mal nach so einem Tutorial umschauen.
Danke!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

DocMartin schrieb:
> Wieso jetzt zwei Threads?

Habe den anderen jetzt gesperrt.

: Bearbeitet durch Moderator
von Stefan F. (Gast)


Lesenswert?

Schau mal hier rein, da lernst du, wie man so etwas machen kann.
http://stefanfrings.de/mikrocontroller_buch2/index.html

Anstelle der harmlosen LED's würdest du Solid-State Relais anschließen, 
welce dann die Heizung ein/aus schalten. Zum Experimentieren solltest du 
aber erstmal bei den LED's bleiben.

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.