Forum: Mikrocontroller und Digitale Elektronik Timer/Counter


von Christopher W. (chrizi)


Angehängte Dateien:

Lesenswert?

Moin!

Eines meiner Projekte im Moment ist ein kleines Multi-instrument für 
meine Kawasaki... im Anhang mal ein aktueller Stand der Dinge: Das 
Display mit µC-Platine und Spannungsregler mit original 
Kronkorken-Kühlkörper...

Für die ermittlung der Geschwindigkeit und Drehzahl bräuchte ich 
Counter... da aber leider nur einer (oder?) im ATmega 32 drin steckt, 
müsste ich das anders regeln... meine Frage: Wie? mit einem externen 
Counter hätte ich zu viele Pins... oder gibt es da serielle lösungen?

ChriZi

von Christopher W. (chrizi)


Lesenswert?

Kleiner Nachtrag: mit nur einem Counter meinte ich einen counter, der 
auch einen externen Eingang hat... im Datenblatt steht, dass der 32er 2 
Counter hat,... aber wo ist der zweite eingang? PB1?

ChriZi

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Geht doch:
Die Drehzahl wird per InputCapture (ICP) gemessen und die 
Geschwindigkeit per externem Interrupt.
Dazu startet man einen Timer und lässt ihn konstant durchlaufen.
Beim ICP stellt man eine bestimte Flanke ein und misst zwischen diesen 
beiden die Zeit (T = ICP_Wert_aktuell - ICP_Wert_alt; ICP_Wert_alt = 
ICP_Wert_aktuell).
Mit Hilfe eines OnCapture-Interrupts baut man sich dann eine Torzeit in 
der man die Impulse des Tachos zählt.
Die Impulse kann man entweder durch einen weiteren Counter (2 hat der 
MEga32 mindestens) oder durch eine Variable in der Service-Routine eines 
externen Interrupts zählen lassen.
Beim OC-Interrupt wird der Zähler dann ausgelesen und beim Überlauf des 
Timers zurückgesetzt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.