mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Relais ansteuern über "langen" Zeitraum


Autor: plinepa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum!

Ich will ein Relais für einen einstellbaren Zeitraum zwischen 
meinetwegen 30 Minuten und 3 Stunden ansteuern.

Ich als AVR-Einsteiger würde den 8 Bit-Timer scharfschalten und nach 
jedem Überlauf (SIG_OVERFLOW0)einen Integer hochzählen.
Für die ganz langen Laufzeiten halt auch entsprechend geschachtelte 
Integers.

Ist die Herangehensweise so OK oder bin ich da auf dem woodway?

Wie realisiert Ihr sowas?

THX
Stefan

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit nem 16-Bit-Timer brauchste nicht so oft die Variablen zu erhöhen. 
Nur wenn Du Strom sparen willst (sleep), musst Du evtl. einen asynchron 
getakteten 8-Bit-Timer nehmen (was dann aber nen zusätzlichen Quarz 
erfordert).

Abgesehen davon sind die SIG_IRGENDWAS-Sachen längst veraltet. Nimm ISR 
für die Interrupt-Handler und die dazugehörigen Vektornamen (z.B. 
TIMER0_OVF_vect).

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
für den Anfang, sollte das reichen und funktioniert auch.
Wenn dein Controller nichts anderes machen soll, was zeitkritisch ist, 
nimm den 1MHz Takt (eventuell mit Quarz, je nach Genauigkeit) und 
schalte den Vorteiler für den Timer auf die niedrigste Stufe.
Sollte das ganze noch stromsparend (Batteriebetrieb) werden, könnte man 
den AVR schlafen legen, muss aber nicht sein :)
Achja... wenn du einen 16 Bit Timer hast, nimm den

Autor: Elmar Haneke (elmar69)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich als AVR-Einsteiger würde den 8 Bit-Timer scharfschalten und nach
> jedem Überlauf (SIG_OVERFLOW0)einen Integer hochzählen.

Im Prinzip geht das wohl nicht anders, eine Busy-Loop mit NOP-Befehlen 
ist sicherlich keine bessere Wahl.

> Für die ganz langen Laufzeiten halt auch entsprechend geschachtelte
> Integers.

Wenn Du in C programmierst, kannst Du auch gleich einen 32Bit-Integer 
verwenden.

Elmar

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ plinepa (Gast)

>Ist die Herangehensweise so OK oder bin ich da auf dem woodway?

Das passt. Sinnvollerweise einen Quarz mit niedriger Frequenz und die 
Prescaler der Timer nutzen.

@ Johannes M. (johnny-m)

>Nur wenn Du Strom sparen willst (sleep), musst Du evtl. einen asynchron

Strom sparen? Bei einer Relaisanstuerung? ;-)

Mfg
Falk

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:
> Strom sparen? Bei einer Relaisanstuerung? ;-)
Kleinvieh macht auch Mist...;-)

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würde das glaube ich mit Sleep machen, aber nicht wegen dem Strom.. 
ich will meinen fleißigen Rechnerlein doch auch mal ne Pause gönnen :D
außerdem wär das ein Anlass für mich, mal zu schauen wie das mit dem 
Sleep überhaupt geht (man lernt es eben doch erst wenn man es auch 
braucht^^)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Markus J. (doc_database)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es eine Option, eine RTC mit Alarm - Ausgang zu benutzen?

Prinzip:
AVR stellt Uhr (x+3min) -> Alarmausgang stellt Relais.
Bei Maxim habe ich irgendwo einmal so eine Application gesehen.
Sicher bin ich mir alerdings, das ich das mal im AN eines LM75 gesehen 
habe.
Der steuerte ein Lüfterrelais an, wenn eine bestimmte Tempeartur 
unter/überschritten wurde.
Programmiert wurde die Temperatur über I²C.

Wenn interssiert kann ich es ja mal raussuchen.

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Strom sparen? Bei einer Relaisanstuerung? ;-)

Kein Problem.
Wird bei vielen batteriegespeisten Datenloggern mit Stromstoßrelais 
realisiert. ;)

Autor: Herr Mueller (herrmueller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem Watchdog Interrupt kann man alle ca 8 sec einen Zaehler 
hochzählen. Wenn man sonst nix zu tun hat, schläft der Prozessor relativ 
tief.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Herr Mueller (herrmueller)

>Mit dem Watchdog Interrupt kann man alle ca 8 sec einen Zaehler
>hochzählen. Wenn man sonst nix zu tun hat, schläft der Prozessor relativ
>tief.

Leider ist der aber alles andere als genau. Dann lieber ein Uhrenquarz. 
Siehe Sleep Mode.

MfG
Falk

Autor: plinepa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für Eure Anregungen!

THX
Stefan

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Kai
> ich will meinen fleißigen Rechnerlein doch auch mal ne Pause gönnen

Ist der in der Gewerkschaft? ;-)

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@plinepa:
Wie schon gesagt wurde: nimm ein Stromstoßrelais, welches bei dieser 
Spannung arbeitet oder ein bistabiles Relais, dann musst du nur einen 
kurzen Stromimpuls zum Einschalten und einen zum Ausschalten geben.
Das spart dann jede Menge Energie.

mfg
gast

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.