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
1 | if(Temperatur > 30){ |
2 | Relais = 0; |
3 | }
|
4 | else{ |
5 | Relais = 1; |
6 | }
|
Garbage in, garbage out
:
Bearbeitet durch User
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.
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.
Würde nicht ein Thermostat, wie es z.B. in Trocknern oder anderen Haushaltsgeräten verbaut ist, genügen?
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.
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.
Schule. Dann werde ich mich hier mal nach so einem Tutorial umschauen. Danke!
DocMartin schrieb: > Wieso jetzt zwei Threads? Habe den anderen jetzt gesperrt.
:
Bearbeitet durch Moderator
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.