- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 19

Thema: Frequenzmesser bis 100Hz

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Hallo,

    weil ich eigentlich auch gerade an einen Drehzahlmesser gedacht habe (und ich nehme an, es handelt sich noch um das Thema mit dem Benzinmotor)
    habe ich das mal ausprobiert.
    Ich habe leider auch nur einen ATmega16 herumliegen, das Programm ist also auch für Mega16, jedoch sollte es reichen, einfach die Pins, an die das Display angeschlossen ist, zu ändern.

    Der Eingang ist Int0 (den es ja auch beim Mega8 gibt).
    Die Umrechnung ist jetzt so ausgelegt, dass der Timer1 1Mio mal pro Sekunde tickt. Wenn man z.B. einen Quarz anderer Frequenz verwenden möchte müsste man das halt entweder im Prescaler oder in der Umrechnung ändern.

    Code:
    $regfile "M16def.dat"
    $hwstack = 32
    $swstack = 32
    $framesize = 32
    $crystal = 1000000
    
    'Initialisiere Timer1
    Config Timer1 = Timer , Prescale = 1
    Enable Timer1
    On Timer1 Isr_timer1
    
    'Das LCD konfigurieren
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
    
    'Den Int0 konfigurieren, er dient zum erfassen der Pulse
    Config Int0 = Rising
    Enable Int0
    On Int0 Isr_puls
    
    'Die Interrupts global aktivieren
    Enable Interrupts
    
    'Variablen Definieren
    Dim Timer1_overflows As Byte
    Dim Ticks As Long
    Dim Rpm As Long
    
    'Variable auf Null setzen, nur um sicher zu gehen
    Timer1_overflows = 0
    'Anfang Hauptprogramm +++++++++++++++++++++++++++++++++++++++++
    Do
    
    'Die Ticks in Umdrehunge pro Sekunde umrechnen
    Rpm = 60000000 / Ticks
    
    Cls
    Locate 1 , 1
    Lcd "Umdrehungen: "
    Locate 2 , 1
    Lcd Rpm
    
    'Eine viertelsekunde warten, damit das Display nicht zu häufig
    Waitms 250
    
    Loop
    'Ende Hauptprogramm +++++++++++++++++++++++++++++++++++++++++
    
    
    
    Isr_puls:
    'Es wurde ein Puls registriert
    
    
    'Anzahl der Ticks ermitteln
    Ticks = Timer1_overflows * 65536
    Ticks = Ticks + Timer1
    
    'Zurücksetzen
    Timer1 = 0
    Timer1_overflows = 0
    
    Return
    
    Isr_timer1:
    'Timer 1 ist übergelaufen
    Timer1_overflows = Timer1_overflows + 1
    Return
    Der Code ist getestet und hat bei mir funktioniert.

    Klicke auf die Grafik für eine größere Ansicht

Name:	102_0185.jpg
Hits:	24
Größe:	87,4 KB
ID:	23694

    Natürlich, es wurde ja schon Code gepostet, aber das habe ich jetzt gerade eben ausprobieren müssen und villeicht nützt es dir ja etwas

    EDIT: Habe gerade gesehen, dass die Textphrase "Umdrehungen * 1/min: " garicht platz hat am LCD, siehe Foto.
    Also im Code auf "Umdrehungen: " geändert...

    Mfg Thegon
    Geändert von Thegon (11.11.2012 um 08:00 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Danke euch beiden!!
    Vielen Dank für die beiden Programme.

    @Thegon:
    Ja genau für den Verbrenner war es gedacht....
    Ich denke ich werde dann den Code von Thegon morgen mal testen, da er eh schon perfekt für meinen Einsatzzweck ist. Trotzdem Danke an MagicWSmoke.

    Mfg
    bnitram

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Hallo nochmal,
    Werde erst heute zu dem Test kommen. Der Code funktioniert auf jedenfalls.
    Ist es eig. egal wie lang ein "high" Signal ist oder ab wann beginnt der Timer zu zählen ??
    Ist eine reine Verständnis frage.

    Mfg
    bnitram

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Der Interrupt ist auf Rising gestellt (siehe Konfiguration des Interrupts), d.h. die ISR wird ausgelöst, wenn die Spannung von Low auf High wechselt. Es wird also genau die Zeit gemessen, die vergeht, zwischen zwei solchen Vorgängen. Wie Lange oder kurz diese pulse sind, ist praktisch egal.

    Mfg Thegon

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Ok vielen Dank für die info.
    Bin heute leider von Test abgehalten worden. Der Hallsensor hat den Geist aufgegeben
    Naja. Morgen wird ein neuer besorgt.

    Mfg
    bnitram

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Hallo Forum,
    Heute habe ich den Drehzahlmesser testen können. Leider hat er nicht funktioniert.
    Ich habe den Sensor via LED getestet und er hat funktioniert. Wenn ich die Beine vom Sensor berühre, dann gibt der LCD mir irgend welche Werte aus. Allerdings funktioniert das ganze zusammen nicht. Werde wohl nochmal alles durchchecken.
    Hab Ihr noch welche Ideen woran das liegen könnte??

    Mfg
    bnitram

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Hast du irtendwie die Möglichkeit ein Signal zu erzeugen? Also z.B. 100Hz Rechteckspannung, mit einem Funktionsgenerator mit TTL Ausgang?
    Oder einfach mal einen Taster mit einem Pullup anschließen und so ca. im Sekundentakt drücken, dann sollten ja ca. 60rpm rauskommen.

    Wenn irgentwelche (sehr großen) Zahlen ausgegeben werden, dann wäre das eigentlich ein Anzeichen dafür, dass die Pulse garnicht richtig erfasst werden, und dass das ganze ab und zu mal überläuft (kommen auch manchmal negative Zahlen raus?)


    Sonst fällt mir jetzt erst einmal nichts ein, weil an der Software sollte es ja nicht liegen, die hat ja schon mal bei dir funktioniert(?).

    Mfg Thegon

Ähnliche Themen

  1. Frequenzmesser
    Von Matze 3 im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 01.03.2012, 11:53
  2. Frequenzgenerator mit Frequenzmesser
    Von Meister Joda im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 12.08.2010, 17:04
  3. Stimmgerät / Frequenzmesser
    Von EDatabaseError im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 30.03.2007, 13:01
  4. Probleme bei C->Basic Frequenzmesser
    Von EDatabaseError im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 22.09.2006, 14:17
  5. Frequenzmesser mit ATtiny2313
    Von Raven² im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 18.04.2006, 17:46

Berechtigungen

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

LiFePO4 Speicher Test