-         

Ergebnis 1 bis 6 von 6

Thema: Zeitabhängiger Zähler aber wie?

  1. #1

    Zeitabhängiger Zähler aber wie?

    Anzeige

    Hallo zusammen

    Ich will mir eine art Tacho für mein Fahrrad bauen.
    OK ich weis es gibt sowas auch zu kaufen aber selber ist der Mann oder die Frau.
    Wie es fuktioniren soll habe ich mir auch schon Gedanken gemacht.

    Also:
    Impulssignal komment vom Reed Kontakt am Rad, rein in den Kontroller.

    Jetzt sol ein Counter das ganze innerhalb einer Sekunde zählen und den Whert verarbeiten.

    starten - zählen - stoppen (1sec.) - auslesen in Register. und denn von vorne anfangen (natürlich beginnend mit null).

    Welchen Zähler muss ich nemen?
    Und wie mus ich ihn konfigurieren?
    Wie kann ich den Wehrt auslesen? Wobei der Whert selber erstmal unwichtig ist.

    MFG
    Elektrofuxx

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.02.2008
    Ort
    Pohlheim
    Alter
    27
    Beiträge
    240
    Hi,

    wie hattest du denn vor das ganze anzeigen zu lassen? Mittels 7-Segment Anzeige? Zudem welcher AVR, was willst du alles anzeigen (also KM/h, TagesKM, GesamtKM ect.)

    Ansonsten sollte das so wie du das meinst schon machbar sein.

    Gruß

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Das ist nicht die optimale Methode: 1sec lang zählen. Denn dadurch erzeugst Du einen ziemlich großen Fehler bei niedrigen Geschwindigkeiten. Besser ist es, die Zeit zwischen 2 Pulsen zu messen, das ist genauer.
    1. 16Bit Timer im CTC mode laufen lassen (erspart Softwareteiler), keine Timer IRQs.
    2. Pulse an ExtIRQ anschließen
    3. Bei jedem Puls Timerwert lesen und umrechnen und Timer 0 setzten (TCNT)
    Gruß

  4. #4
    Hallo nochmal

    ich wollte erstmal das ganze mit 8 led´s darstellen und nacher wenn ich weitgenug bin dann die daten auf einem Display.

    bitte an alle:
    schreibt mir bitte doch einer mal ein einfaches und kleines programm. signal rein messung der zeit und ausgabe des gemessenen wehrtes. muss ich noch irgentweleche interups aktiviren?

    an gock:
    Mir ist schon ungefär klar was du meinst aber bei der umsetzung haperts.
    habe auch schon bei google gesucht zwar was gefunden aber eingebaut in großen programmen. damit ich das verstehe muss ich das ding einzelt sehen.

    Ich arbeite mit einem:
    My AVR USB Bord mit Atmega8.
    Software:
    Sisy-AVR

    mfg
    Elektrofuxx

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Wenn Du Dir nicht komplett alles schreiben lassen willst (was hier wahrscheinlich niemand tun wird), dann musst Du schon anfangen, Dich selbst damit auseinander zu setzen.
    Das bedeutet Tutorials zu AVR und C oder Assembler lesen, Datenblatt des µCs lesen, konkrete Fragen stellen usw.
    Im Datenblatt steht, welche Bits Du 1 setzen musst, damit die entsprechende Funktion erfüllt wird.
    Ein Sprungbrett gebe ich Dir:
    Um Timer1 nutzen zu können: Datenblatt -> Timer1 -> 16Bit Register discription:
    Keine IRQs: TICIE1=OCIE1A=OCIE1B=TOIE1=0 (sind sie beim Start aber eh')
    Prescaler zb 64: CS11=CS10=1 (startet den Timer)
    TCCR1B = 0b00000011

    [TCCR1B |= ((1<<CS11) | (1<<CS10)); (C code)]
    Dann noch einen der ext IRQs konfigurieren (MCUSR) und aktivieren (GICR), globale IRQs aktivieren (sei) und restliches Programm schreiben.
    Gruß

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Das obige Problem ist nicht besonders zeitkritisch, man kann also auchC oder Basic dafür nehmen. Es ist aber auch noch einfach genug für Assembler und sicher eine gute Übung..

Berechtigungen

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