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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Max J. (dermax)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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


Bewertung
0 lesenswert
nicht 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)


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

von max (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Wieso jetzt zwei Threads?

Beitrag "PWM  Lampe dimmen  elektrisches Relais"

Martin

von max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schule. Dann werde ich mich hier mal nach so einem Tutorial umschauen.
Danke!

von Frank M. (ukw) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
DocMartin schrieb:
> Wieso jetzt zwei Threads?

Habe den anderen jetzt gesperrt.

: Bearbeitet durch Moderator
von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.