Forum: Mikrocontroller und Digitale Elektronik 16Bit Timer/Counter dekrementieren


von Thomas (Gast)


Lesenswert?

Hallo

Ich ich möchte mit einem AVR uP(AT90CAN128) einen Inkrementalgeber
auswerten und muss zu diesem Zweck den 16 Bit Timer/Counter bei
Drehrichtungswechsel auf dekrementiern umschalten. Das Hinaufzählen und
bei 360° auf Null zu setzen ist kein Problem. Nur habe ich noch nicht
herausgefunden wie ich die Richtung änderen kann. Im PWM Mode macht er
das ja automatisch.

Jetzt schon vielen Dank

von ...HanneS... (Gast)


Lesenswert?

Warum den Timer und nicht ein ganz normales Registerpaar??

...

von Thomas (Gast)


Lesenswert?

Weil ich din prozessor nicht unnätig belasten möchte und damit sicher
keine Flanken verlorengehen. Parallel sollte eine PID Regelung laufen.

von peter dannegger (Gast)


Lesenswert?

Das geht nicht mit den Timern.

Du must die Phasenwechsel in Software auswerten, z.B.:

http://www.mikrocontroller.net/forum/read-4-37992.html#new

Das hat sogar den Vorteil, daß automatisch entprellt wird.
Auch können mehrere Encoder angeschaltet werden.

Die PID-Regelung kann ja einfach die Interrupts wieder freigeben, damit
im Hintergrund die Encoder ausgelesen werden. Also kein Problem.


Ich nehme für solche komplexeren Aufgaben allerdings immer MCs mit
mindestens 2..4 Interruptprioritäten (8051).


Peter

von Thomas (Gast)


Lesenswert?

Ich habe auf dem uP nur noch ein Clock und Richtugnssignal (externe
Encoderauswertung) und da wäre es am einfachsten mit Timern zu
arbeiten. Aber wenn man den nicht auf dekrementieren umschalten kann,
muss ich mir wohl eine andere Lösung einfallen lassen. Ich verstehe
aber nicht ganz wiso AVR diese einfache Funktionalität nicht eingebaut
hat.

Besten Dank.

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.