-         

Ergebnis 1 bis 4 von 4

Thema: Frequenz messen

  1. #1
    Neuer Benutzer
    Registriert seit
    09.01.2008
    Ort
    Neu-Isenburg
    Alter
    29
    Beiträge
    3

    Frequenz messen

    Anzeige

    Hallo, also ich hab bisher nur kleinere Aufgaben mit den AVR's gelöst und stehe jetzt vor dem Problem wie ich mit einem Timer (ist denke ich die beste lösung) eine Drehzahl von einem Radsensor erfassen kann.

    Es ist ein aktiver sensor, sprich das Signal ist schon ein sauberes Rechtecksignal, maximalfrequenz sind nur 2000Hz, also nicht viel.

    Es geht um eine Drehzahlabhängige Schaltaufgabe, dafür muss mir der Timer eben am besten über die Laufzeit zwischen 2 Nulldurchgängen die frequenz berechnen, mehr nicht.
    Das Ergebnis wird dann einfach über eine IF frequenz über 1700Hz AND PORTC.1 = 1 weiterverarbeitet.

    Hab bisher nix mit Timern zutun gehabt, und werd auch irgendwie nicht schlau aus den Codeschnipseln hier im Forum, vllt kann mir da mal einer schnell weiterhelfen, am liebsten so, das ich hinterher auch verstehe wie der Timer genau funktioniert (also was die befehle bewirken), damit ich das später auch selbst anwenden kann bei anderen Aufgaben.

    mfg
    Mario

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.595

    Re: Frequenz messen

    Zitat Zitat von mariosey
    ... werd ... nicht schlau aus den Codeschnipseln hier ... schnell weiterhelfen ... so, das ich hinterher auch verstehe wie der Timer genau funktioniert (also was die befehle bewirken ...
    Da wird wohl keiner ein weiteres, persönliches Tutorial schreiben. Das steht in jeder Dokumentation zum Controller. Da es nicht auf die Schnelle geht, brauchen die dort so 30 Seiten oder mehr. Pro Timer.

    Du nutzt auch (leider) nicht die Suchfunktion - ein Timer-Tutorial gibts nämlich z.B. hier (kllick drauf) und ein weiteres auch hier.
    Zitat Zitat von mariosey
    ... vllt kann mir da mal einer schnell weiterhelfen ...
    Hier gibt es (m)eine Lösung mit Codebeispiel wie ein Interrupt zur Drehzahlmessung initialisiert wird und wie die zugehörige ISR aussieht. Grundlage ist eine Programmierung des extINT, der - in diesem Falle - durch die steigende Flanke getriggert wird und so die am Pin anliegenden Impulse erkennt. Diese ISR liest die aktuelle Boardzeit aus und errechnet/merkt sich die Zeit vom letzten bis zum aktuellen Interrupt. Ein getrennt laufender Timerinterrupt liefert die Zeitbasis - bei mir sind das 50 µs-Scheibchen.

    Viel Erfolg (die Lösung hatte bei mir schon etliche Zeit gebraucht - aber ich bin auch kein Profi darin).
    Ciao sagt der JoeamBerg

  3. #3
    Neuer Benutzer
    Registriert seit
    09.01.2008
    Ort
    Neu-Isenburg
    Alter
    29
    Beiträge
    3
    Danke, werde mich mal durcharbeiten.

    Suche benutzt hatte ich schon, aber ich hab direkt nach Frequenzmessung und drehzahl messen gesucht, nicht einfach nur nach timer.

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Eine Anleitung zum timer gibts z.B. hier :
    http://www.rn-wissen.de/index.php/Timer/Counter_(Avr)

    Da ist sogar ein beispiel zur Frequenz/Perioden messung dabei. Allerdings in C , und nicht in Basic.

    Wenn man keine sehr hohe Auflösung braucht, gehr es auch ohne die ICP funktion: einfach einen Timer durchlaufen lassen, und beim Erkennen einer Flanke die Zeit Auslesen. Einen extra Timerinterrupt um noch weniger Auflösung zu bekommen muß man sich nicht antun. Da reicht es den Vorteiler passend einzustellen.

Berechtigungen

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