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
Warum den Timer und nicht ein ganz normales Registerpaar?? ...
Weil ich din prozessor nicht unnätig belasten möchte und damit sicher keine Flanken verlorengehen. Parallel sollte eine PID Regelung laufen.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.