Geschwindigkeit KFZ bestimmen

Gast #1074330
Hallo,
in meinem PKW gibt es ein zerhacktes Rechtecksignal. Dieses Soll bei 
einem (bei mir nicht vorhandenen) Bordcomputer für 
Geschwindigkeitsberechnungen genutzt werden. Ich möchte dieses Signal 
nun mit einem ATmega auslesen. Erstmal nur theoretisch, da ich noch 
nichtmal weiß um welche Pegel es sich handelt aber ich weiß, dass pro 
Radumdrehung 16 Rechteckimpulse ankommen. Sollte ich jetzt nun am INT0 
bei jedem auslösen einen zähler hochsetzen und wenn ich bei 16 bin die 
Zeit zwischen Impuls1 und Impuls16 nehmen? Damit könnte man ja die 
Geschwindigkeit berechnen, reine Physik. Aber wie würde man diese 16 
Impulse zählen, besser noch, die Zeit dazwischen am besten messen? 
Vielen Dank!
Gast
Hallo,

um den Pegel zu wandeln, kannst Du einen Schmitt-Trigger nehmen (5V - 
damit Du die Impulse mit dem uC erfassen kannst). Um die Frequenz zu 
messen, kannst Du ein Capture-Compare-Register verwenden, oder wenn Du 
die Möglichkeit hast, könnstest Du auch das Signal an einen 
extern-Interrupt Pin des uCs anschliessen, dann zählst Du nur die 
fallenden (oder steigenden) Flanken in einer Sekunde .... und zasss so 
hast Du Deine Frequenz.

Gruß

Ricardo
Um es genauer zu machen, messe die Periodendauer eines Rechtecks, und 
erhalte so den Kehrwert der Frequenz. Wenn du Ereignisse zählst und 
deren Frequenz angeben willst solltest du ja schon so 100 Ereignisse 
abwarten und dann durch die Zeit teilen, sonst wirds ungenau.
Gast
Verwende den Capture Eingang des timers um die Flanken zu zählen.
Dann verwedne einen 2. Timer um alle zb 20 ms einen Interrupt zu 
generieren.
In diesem Interrupt liest du die Anzahl der eingegangen Flanken ein, und 
kannst damit die Geschwindigkeit berechnen.
Danach noch etwas Filtern, zb gleitender Mitterlwert und du hast eine 
brauchbare Geschwindigkeit.
Über die Zeiteinstellung für den interrupt und die Filtertiefe kannst du 
einstellen wie schnell und stabil die Geschwindigkeit der Realität folgt

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.