-         
+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Zeitmessung

  1. #1
    Sahra
    Gast

    Zeitmessung

    Hallo,

    ich habe ein Problem mit einer Zeitmessung. Es handelt sich um eine Geschwindigkeitsmessung mittels 2 in einem bestimmten Abstand montierten Lichtschranken. Um die Geschwindigkeit zu errechnen brauche ich die Zeit zwischen dem Auslösen der 1. und dem Auslösen der 2. Lichtschranke. Beide sollen am gleichen Interrupt-Pin des AVR angeschlossen werden. Also müsste die Zeit zwischen 2 Interrupts gemessen werden. Alles was ich bisher in Erfahrung gebracht habe ist dass man hierfür die Interenen Timer verwenden muss. Allerdings komme ich hier nicht weiter da man da irgenwelche Prescaler, Resetwerte... einstellen muss.

    Über Hilfe jeglicher Art würde ich mich sehr freuen
    Sahra

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    28
    Beiträge
    1.614
    Hier hab ich das ganze schon mal erläutert wenn du nix damit anfangen kannst... frag ruhig!

    EDIT: nu hab ich doch glatt den Link vergessen... http://www.roboternetz.de/phpBB2/viewtopic.php?p=16835

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Gast
    Hi x-ryder,

    wie du schon vermutet hast kann ich leider damit nichts anfangen da mir irgendwie der Einstieg fehlt. Ich würde einen Code brauchen in dem der Timer beim 1. Interrupt anfängt zu zählen, beim 2. Aufhört und dann die Zeit daraus errechnet wird. Habe dazu weder in der Bascom Hilfe noch beim Googlen was gefunden.

    Vielen Dank schon mal für deine bisherige und hoffentlich weitere Hilfe

  4. #4
    Gast
    Wie wäre es hiermit ?
    Habe ich schon getestet, funktioniert.

    Code:
    $crystal = 4000000
    Config Timer1 = Timer , Prescale = 64                       '4MHz/64 = 62500
    Const Timer_start = 6250                                    'alle 100ms Überlauf
    Load Timer1 , Timer_start
    Enable Timer1
    On Timer1 Int_1
    
    Do 
    wenn Lichtschranke 1, dann Takt = 0
    wenn Lichtschranke 2, dann Wert = Takt in 1/100 Sek
    Loop
    
    Int_1:
    Load Timer1 , Timer_start
    Incr Takt
    Return

+ Antworten

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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