- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 4 von 4

Thema: Nach ca 15 Minuten etwas auslösen, ohne Timer zu benutzen?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56

    Nach ca 15 Minuten etwas auslösen, ohne Timer zu benutzen?

    Anzeige

    E-Bike
    Hi,
    für ein Ladegerät muss nach 15Minuten etwas auslösen.
    Dies könnte man ja mit einem Timer bewerkstelligen, aber leider kann man den Prescaler ja nur auf max 1024 stellen. Und bei 8MHz müsste der Timer ja ca 7000000 mal überlaufen. Ganz davon abgesehen, dass die Interrupts beim überlaufen evtl meinen anderen Programmablauf stören könnten, wäre das eine unsaubere Lösung.
    Gibt es eine andere Möglichkeit, im Hintergrund bis 15 Minuten zu zählen und dann einen Interrupt bzw ein Unterprogramm aufzurufen? Die 15Minuten sollten ab einem Auslösezeitpunkt gezählt werden.
    Schonmal Danke für eure Hilfe!
    Gruß
    Jan

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Na ja, der Timer würde schon mit ca. 8000 Hertz versorgt, aber wenn du einen 16bit Timer hast und bei 0 startest, dann hat der erst bei 65536 einen Überlauf, also alle 8 Sekunden. Dort brauchst du dann nur noch bis etwa 100 zu zählen.
    Falls du eine Uhr laufen hast, kannst du dir natürlich auch die Startzeit merken und dann nach 900 Sekunden stoppen.
    Also nix unsauberes.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    49
    Beiträge
    1.146
    So unsauber fände ich die Lösung gar nicht. Da Du im Interrupt lediglich eine Variable hochzählen und überprüfen musst, ob diese schon bei 7000000 angekommen ist, stört das Dein Restprogramm nicht großartig.

    Einzige andere Möglichkeit wäre es afaik, einen externen Takt für Deinen Zähler zu verwenden. Den könntest Du ja z.B. mit einem NE555 aufbauen und entsprechend langsam takten lassen.

    Gruß,
    askazo

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56
    Hi,
    @for-ro:
    Ich benutze einen Mega 8 und habe nurnoch einen 8-Bit Timer über, deswegen zählt er nicht bis 65000 sondern nur bis 256. Eine Uhr habe ich leider nicht im Hintergrund laufen. Ich hatte nen Fehler in meiner Rechnung, nicht 7000000 überläufe sondern nur 27500.
    @askazo:
    ich werds dann wahrscheinlich mit nem Timer machen. Nen externe Taktquelle wäre zu aufwändig.

    Danke!
    Gruß
    Jan

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress