-         
Ergebnis 1 bis 3 von 3

Thema: Geschwindigkeitsberechnung

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628

    Geschwindigkeitsberechnung

    Anzeige

    Hi Leute!

    Ich hab da ein kleines Problem mit der Erfassung und Berechnung der Geschwindigkeit eines Rades.

    Code:
    'VARIABLEN
    Dim Time_umdrehung_n As Integer
    Dim Time_umdrehung_ms As Integer
    Dim Time_umdrehung_s As Single
    Dim Radumfang As Single
    Dim Vms As Single
    Dim Meter As Single
    Dim Vkmh As Single
    
    
    'KONSTANTEN
    Radumfang = 0.3
    
    
    'KONFIGURATION INT0
    Config Int0 = Falling
    On Int0 Int0_isr
    Enable Int0
    
    
    'KONFIGURATION ADC
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    
    'KONFIGURATION TIMER0
    Config Timer0 = Timer , Prescale = 8
    Timer0 = 131
    On Timer0 Timer0_isr
    Enable Timer0
    Stop Timer0
    
    
    'KONFIGURATION LCD
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portb.2 , Rs = Portc.5 , E = Portc.4
    Config Lcd = 16 * 4
    Config Lcdbus = 4
    Waitms 100
    Initlcd
    Waitms 100
    
    
    'INTERRUPTS GLOBAL FREIGEBEN
    Enable Interrupts
    
    
    Do
    
    Time_umdrehung_s = Time_umdrehung_ms * 1000
    Vms = Radumfang / Time_umdrehung_s
    Vkmh = Vms * 3.6
    
    Locate 1 , 1
    Lcd Vms
    Locate 2 , 1
    Lcd Meter
    Locate 4 , 1
    Lcd Vkmh
    
    
    Loop
    
    
    Int0_isr:
    
       Stop Timer0
       Time_umdrehung_ms = Time_umdrehung_n
       Time_umdrehung_n = 0
       Start Timer0
       Meter = Meter + Radumfang
    
    Return
    
    
    Timer0_isr:
    
       Timer0 = 131
       Incr Time_umdrehung_n
    
    Return
    
    
    End
    Der Interrupt "INT0" wird aufgerufen, denn der Zähler, der bei jeder Radumdrehung den Radumfang addiert funktioniert und zählt entsprechend hoch. Doch die Geschwindigkeitsanzeige bleibt auf null stehen.

    Entweder hab ich da einen gravierenden Denkfehler drinnen, oder ich bin schon ganz paranoid geworden und seh den offensichtlichen Fehler nicht.

    Gruß
    Thomas

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo Tom,

    Time_umdrehung_s = Time_umdrehung_ms * 1000
    Die Umdrehungszeit-in-Sekunden = Umdrehungszeit-in-Millisekunden / 1000 .

    hoffe, das hilft und
    grüsse,
    Hannes

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Hi!

    Zitat Zitat von vohopri
    Hallo Tom,

    Time_umdrehung_s = Time_umdrehung_ms * 1000
    Die Umdrehungszeit-in-Sekunden = Umdrehungszeit-in-Millisekunden / 1000 .

    hoffe, das hilft und
    grüsse,
    Hannes
    Danke für deine Antwort. Ich werds mal probieren und gebe dann Rückmeldung, obs geklappt hat.

    Gruß
    Thomas

Berechtigungen

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