Forum: Compiler & IDEs Permanente Temperatur Regelung


von Mario (Gast)


Lesenswert?

Hallo,

ich versuche mich gerade an den ersten Schritten in C.
Für meine Anwendung die ich vorhabe habe ich warscheinlich ein 
Verständnissproblem.

Wie macht man er normalerweise wenn eine dauernd Temperatur geregelt 
werden soll es aber in einem anderen Programmabschnitt die benötigte 
Zeit länger ist weil z.b. eine Pause mit 3 Sekunden gemacht werden soll 
und die Temperatur trozdem geregelt werden soll z.b. im Sekundentakt ?

Ich habe noch mehr solcher vielleicht merkwürdigen Fragen ich finde aber 
leider im Tutorial nicht die Lösung dazu.

viele Grüße
Mario

von Helmut L. (helmi1)


Lesenswert?

Du darfst halt in dem anderen Programmabschnitt nicht 3 Sekunden warten.
Normalerweise macht man sowas über die Timer .
Man startet im Programm in dem man 3 Sekunden warten will einen Timer. 
Falls der noch nicht abgelaufen ist verlässt man den Programmabschnitt 
und widmet sich in deinem Beispiel der Temperturregelung. Also nicht 
irgendwo warten sondern einen Timer starten und solange der läuft die 
anderen Prozesse bedienen.

Gruss Helmi

von Mario (Gast)


Lesenswert?

ah ok.
Dann setze ich an dem Punkt wo ich waren will den Timer auf 3sec. 
springe zur temp. Regelung und wieder zurück und lese den Timer solange 
aus bis er fertig ist ?

Gruß
Mario

von Helmut L. (helmi1)


Lesenswert?

Genauso kannst du es machen.

Gruss Helmi

von Mario (Gast)


Lesenswert?

hmm, wenn jetzt aber die Temperatur relativ genau jede Sekunde gemessen 
werden soll kann man dann auch mit dem Timer einen Interrupt auslösen 
für die Messung ?

Gruß
Mario

von Helmut L. (helmi1)


Lesenswert?

Das ist die andere Lösung. Das kannst du auch machen.

von O. D. (odbs)


Lesenswert?

Letzteres ist in den meisten Fällen die bessere Lösung.

In der Regel tun ja typische kleine µC-Anwendungen ständig das gleiche. 
Irgendwo muß ein Wert eingelesen werden, der wird bearbeitet, das ergibt 
dann irgendeine Ausgabe, und dann geht das ganze von vorne los.

Wenn du dir jetzt überlegst, was jeweils der Auslöser für einen solchen 
Schleifendurchgang ist, kannst du die ganze Anwendung interruptgesteuert 
aufbauen. Ein Timer-Interrupt könnte deine Temperaturmessung auslösen, 
der Interrupt vom A/D-Wandler die Berechnung der Abweichung vom Sollwert 
und die Ausgabe der Regelgröße etc.

Im Hauptprogramm könntest du dann langsame Dinge wie 
Benutzerschnittstelle oder irgendwelche "Aufräumarbeiten" vornehmen, 
oder aber den µC sogar schlafen legen. Das spart Strom und ein Interrupt 
weckt ihn wieder auf, wenn es etwas zu tun gibt.

von Mario (Gast)


Lesenswert?

super, habe einen Timerinterrupt zum laufen bekommen. Ich werde 
versuchen das meiste Interrupt gesteuert zum laufen zu bekommen.
Danke für die Tipps

Gruß
Mario

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.