Drehzahlvergleich mit ATMEGA16

Gast #2485859
Lesenswert?

Hallo,

ich habe schon sehr lang im Forum gesucht und leider dazu nix gefunden.
Ich bin noch sehr unerfahren in Sachen Mikrokontrollerprogrammieren.
Ich arbeite an einem ATMEGA16 und Programmiere in C. Mein Problem ist 
folgendes.
Ich muss zwei Drehzahlen miteinander Vergleichen. Das Problem liegt 
meiner Ansicht nach daran, dass der Eingang PB0 schon belegt ist, da ich 
den Timer0 schon für eine Funktion meines Programmes benötige(als 
Zähler). Kann ich mit den verbleibenden Eingängen überhaupt zwei 
voneinander unabhängige Drehzahlen einlesen?
Es geht um die Ganganzeige eines Motorradmotors. Ich möchte die Drehzahl 
am Getriebeeingang mit der Drehzahl am Getriebeausgang vergleichen um 
daraus den aktuellen Gang zu ermitteln. Es ist dabei nicht notwendig die 
Drehzahl auf ein LCD auszugeben sondern lediglich in einer Variablen zu 
speichern. Die Drehzahl selber möchte ich dann nur über LED's ausgeben 
(also so eine Art Lauflicht)- aber das bekomm ich dann sicher hin.
Mein eigentliches Probelm ist das mit den beiden Drehzahlen.

Ich hoffe mein Problem ist soweit klar.

Ich bedanke mich schonmal für die Mühe von euch.

Gruß Matthias
Gast #2485874
Lesenswert?

entweder fragst du zwei Eingänge in regelmäßgen Abständen (Timer) ab und 
misst jeweils den Zustand so die Dauer eines Pegels (High oder Low), 
oder du lässt einen Timer laufen und wartest auf das Eintreten der durch 
die Sensoren ausgelösten Intrrupts und speicherst für jeweils eine 
Flanke die Zeit/den Timerwert und bildest dann die Differenz zwischen 
zwei Flanken.
Sowas machen diverse AVR mit Hilfe der Inputcapture-Unit, allerdings nur 
für einnen Kanal.
Gast #2485893
Lesenswert?

Vielen Dank ersteinmal für die schnelle Antwort.

Leider versteh ich das nicht ganz. Eine Drehzahl prinzipiell kann ich ja 
nur mit Hilfe von Timer/Counter ermitteln. Oder sehe ich das falsch? Ich 
find das auch irgendwie komisch dass man nur an zwei Eingängen des µC 
die Flanken zählen kann. Warum kann ich nicht an jedem beliebigen 
Eingang die Signale Zählen. Etwa in der Art wie:" wenn 5 Signale am 
Eingan PA1 dann...."
Das würde mich nebenbei auch mal Interessieren :-)

Meine Hauptfrage ist: Geht es überhaupt. Also zwei Drehzahlen mit den 
mir noch zur Verfügung stehenden Eingängen einzulesen.

Sorry für undeutliche Ausdrucksweisen

Gruß Matthias

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren