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

Eine eigene Frage? Dieser Thread ist über 14 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.