Hallo Kollegen, ich bin am Verzweifeln mit einem Projekt, dass als Inputdevice zwingend die STEC11B03 Drehgeber vorschreibt: Auswerte-HW ist ein ATXMEGA 256A3, die Drehgeber hängen an PORT E Pin 0&1. Externe Pullupwiderstände 1Kohm gegen VCC. Ich habe alle mir zur Verfügung stehenden Auswerteroutinen getestet, die Ergebnisse sind mehr oder weniger unbrauchbar, entweder kippt mitten im Drehen die Richtung um oder es werden trotz konstanter Geschwindigkeit unterschiedliche Inkremente gemessen. Folgendes ist getestet: die HW ist laut DSO und Logicanalyzer in Ordnung es wurden verschiedene Drehgeber gleichen Typs probiert getestet wurde Auswertung mit dem ATXMega QDEC sowie die Routinen von Peter Fleury für einfache und schwierige Encoder sichergestellt sind auch die korrekten Abtastraten: 1Khz per Sampling ( also keine Interrupts über die Ports ) und rechtzeitiges Abholen der Werte .... Wie gesagt, die Ergebnisse sind zwar unterschiedlich aber trotzdem alle unbrauchbar ! Hat noch jemand ein Idee ausser die Encoder zu ersetzen ? Danke im Voraus Gruß Thomas
Wie stark prellt dein Exemplar denn? Hast du mal ein Oszilloskop-Bild?
...die Routinen nackt ohne weiteren Code hast du laufen lassen? Klaus.
Da legt man sich die Kontakte auf 2 LED und dreht mal, um die Funktion zu prüfen anstatt nur sämtliche Fremdcodes, die an sich vermutlich alle funktionieren blind herumzukopieren.
Danke für die Ratschläge, das hilft mir aber so nicht weiter: wie ich schon geschrieben habe, bin ich sehr wohl in der Lage gewesen die üblichen Probleme vorher auszuschliessen. Ausserdem habe ich die jeweiligen Programmcodes auch verstanden und mache das auch nicht zum ersten Mal, nur eben nicht mit diesen Encodern. Mit guten optischen Teilen klappt das eben ja auch ! Weder Logicanalyzer noch DSO zeigen Prellen im verdächtigen Bereich an, die Codes, die die verschiedenen Routinen liefern, sehen im Einzelfall auch vernünftig aus, nur im Ablauf nicht. Ich glaube eher an ein Timingproblem, daher wäre meine Frage, was sind die Einflussfaktoren: Abtastrate, zeitiges Abholen der gelieferten Rohdaten ? Gruß Thomas
Thomas M. schrieb: > Ich habe alle mir zur Verfügung stehenden Auswerteroutinen getestet, .. und deshalb bist du der Auffassung, daß die Schuld an den Drehgebern liegt. Frage 1: Hast du die Dinger auch ordentlich entprellt, bevor du deren Signale an die Portpins legst? Frage 2: hast du die Signale der Drehgeber dir mal aufgezeichnet oder dir ein Printout deines LA gemacht - und hast du aus den daraus gewonnenen Abhängigkeiten und Zeiten die richtigen Schlüsse gezogen? Frage 3: Hast du auf Basis von Frage 1 und 2 dir eine eigene Auswerteroutine geschrieben? W.S.
Hallo, ich verwende immer den Codestamm von Peter Dannegger für Drehgeberauswertung. Und muss auch bei einige Encodern, diese mit 3kHz abtasten..
Ja, um Timingprobleme auszuschließen, tastet man einfach mal mit 10kHz ab und gut is.
Bei anderen geht's Beitrag "XMega und QDec" oder hier: http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29
Habe auch einen XMEGA (Serie E5) und dem gleichen Encoder über QDEC angebunden. Keine Probleme. Die Pullups müssen übrigens nicht 1k klein sein, 10k reicht völlig. In meinem Fall habe ich sogar nur die internen 30..50k des XMEGA benutzt.
:
Bearbeitet durch User
Wir benutzen den STEC11B04, geht völlig problemlos mit meinem Code. Wir hatten allerdings mal das Problem, daß die Kontaktflächen vermutlich durch eingedrungenes Flußmittel verunreinigt waren. Das konnte man auch sehr gut auf dem Oszi sehen, wie beide Kontakte gleichzeitig prellten. Da half dann nur noch Austausch. Bei einem funktionierenden Encoder muß immer ein Kontakt konstanten Pegel haben, während der andere prellt.
Ich benutze die STEC11B03 schon ewig und ohne Probleme. Nur in Hardware entprellt mit entsprechend einfacherer Software, wenn es funktioniert, warum ändern... Ich lese die normalerweise mit 4kHz ein.
Encoder falsch angeschlossen? Wenn man Masse mit einem der beiden Ausgänge verwechselt, reagiert der Encoder komisch, alles schon dagewesen ;-)
Thomas M. schrieb: > Danke für die Ratschläge, das hilft mir aber so nicht weiter: > wie ich schon geschrieben habe, bin ich sehr wohl in der Lage gewesen > die üblichen Probleme vorher auszuschliessen. > > Ausserdem habe ich die jeweiligen Programmcodes auch verstanden Wenn du so ein Überchecker bist, warum fragst du dann? Muß doch für dich eine Kleinigkeit sein, das zum Fliegen zu bringen. Wahrscheinlich hast du den Encoder einfach nur falsch angeschlossen. Aber Hauptsache, den Fehler erstmal bei anderen suchen...
Vielen Dank für die konstruktiven Beiträge: Inzwischen habe ich folgendes herausgefunden: Zwei unterschiedliche Drehgebermodell 1xSTEC11B03 1xSTEC11B09 zeigen nur wenig Kontaktprellen sprich so alle 20-30 Steps. Verschiedene Typen des gleichen Modells ähnliches Verhalten. Es liegt auch sicher nicht an den bewährten Routinen von P. Dannegger, die in anderer Konstellation auch bei mir problemlos laufen. Damit hier kein falsches Bild entsteht, ich hätte erwartet, dass wenn überhaupt das Qdec Setup eben wegen Prellens Probleme macht. Ich werde mir ggf. einen langsamlaufenden Getriebemotor beschaffen um konstante Bedingungen zu haben. Bei den Dannegger Routinen setze ich die Abstastzeit durch die Interruptperiode, ich habe verstanden, dass ich die Abtastrate auf 4-10Khz erhöhen soll, das werde ich noch testen. Bei dem Qdec-Ansatz verwende ich die Standardaufrufe aus dem ASF Beispiel, leider steht mir im Moment kein optischer Encoder zum Vergleich zur Verfügung.
Thomas M. schrieb: > die HW ist laut DSO und Logicanalyzer in Ordnung Dann zeig doch mal Daten mit anständiger Abtastrate. Diese Rumstocherei im Nebel bringt niemandem etwas. Und dass das Prinzip Drehgeber prinzipiell funktioniert, ist wohl unbestritten, wenn man mal von deinen Erfahrungen absieht.
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.