mikrocontroller.net

Forum: Compiler & IDEs Permanente Temperatur Regelung


Autor: Mario (Gast)
Datum:

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

Autor: Helmut Lenzen (helmi1)
Datum:

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

Autor: Mario (Gast)
Datum:

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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genauso kannst du es machen.

Gruss Helmi

Autor: Mario (Gast)
Datum:

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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist die andere Lösung. Das kannst du auch machen.

Autor: Oliver Döring (odbs)
Datum:

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

Autor: Mario (Gast)
Datum:

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

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.