Drehimpulsgeber macht Blödsinn.

Gast #3650182
Lesenswert?

Hallo,

habe bei Reichelt folgenden Impulsgeber beschafft.


http://www.reichelt.de/STEC11B02/3/index.html?&ACTION=3&LA=446&ARTICLE=73912&artnr=STEC11B02&SEARCH=drehimpulsgeber


mein Programm hat natürlich nicht funktioniert. Was aber aufgrund der 
Obigen Oszillogramme auch klar war.

Was ist das für ein Gequirlter Dreck? Die Typische 90° Verschiebung ist 
nicht gegeben. Beide Signale sind eigentlich gleich, unterscheiden sich 
nur im Tastgrad. Was soll das? Ist der Kaputt?

Übrigens im Versuchsaufbau, war der Inkrementalgeber mit einem Motor 
verbunden, um die Oszillogramme möglichst gleichmäßig zu haben.
Angehängte Dateien:
Gast #3650213
Lesenswert?

Jan R. schrieb:
> Übrigens im Versuchsaufbau, war der Inkrementalgeber mit einem Motor
> verbunden, um die Oszillogramme möglichst gleichmäßig zu haben.

Dreh viel langsamer und miss nochmal. (Schau dir im Datenblatt auch mal 
die Zeitangaben für "Chattering" und "Bounce" an).
Gast #3650231
Lesenswert?

Hallo,

habe mir im Forum folgenden Nutzer beschafft:

Jan R.

Der Kerl hat natürlich nicht funktioniert. Was aber aufgrund der
des falschen Anklemmens auch klar war.

Was soll das? Ist der Kaputt?

Übrigens würde ich dafür gerne diesen Kerl mit einem Motor antreiben,
um ihn möglichst gleichmäßig wie einen Brummkreisel rotieren zu lassen.

(Aus der Sicht des Drehgebers)
Gast #3650245
Lesenswert?

Thomas O. schrieb:
> wo ist denn das Problem
>
> 11 00 01 11 00 01...
>
> man muss doch nur die Bitfolge auswerten

Du hast den Sinn des Gray-Code nicht verstanden. Da dürfen sich zwei 
Bits nicht gleichzeitig ändern, weil sie das in Wirklichkeit auch nie 
tun würden und immer Glitches auftreten.
Gast #3650318
Lesenswert?

Mike schrieb:
> Winfried J. schrieb:
>> Mit einem Draht funktioniert es nicht und ab zwei kann man verwechseln.
>
> Die große Frage ist jetzt, welcher von den Dreien ist verwechselt?

Naja, so ein schweres Rätsel ist das ja nicht.

Mike (Gast) sagte es ja schon.

Jan R. hat common als einen Signalausgang genutzt, und GND an einen der 
Schalter gelegt. Dadurch bleibt das Signal des blauen Kanals high, 
solange der Schalter zu GND offen ist.

Pinbelegung aus Datenblatt:

A C B

Common ist der Pin, an dem das gelbe Signal abgegriffen wurde.
Gast #3650543
Lesenswert?

Stimmt common ist in der mitte ich hatte es außen. (Im Reichert 
datenglatt war es aber auch außen.)

Motor habe ich in verschiedenen Drehzahlen getestet. dies Schnelle hat 
da nicht verändert bzw. verschlechtert

Habe die dinger jetzt mit zwei Furzkissenkondensatoren Entprellt.
Gast #3650576
Lesenswert?

Jan R. schrieb:
> (Im Reichert
> datenglatt war es aber auch außen.)

Nein war es nicht. Da steht überall ACB bzw. BCA.

Jan R. schrieb:
> Gequirlter Dreck
> Furzkissenkondensatoren

Sag mal, hast du das Tourettsyndrom, oder was ist mit deine 
Ausdrucksweise los? Wenn ja, ist ja nicht schlimm. Möchte es nur wissen, 
ob man dich in Zukunft noch ernst nehmen soll.
Gast #3650804
Lesenswert?

Mike schrieb:
> Jan R. schrieb:
>> Habe die dinger jetzt mit zwei Furzkissenkondensatoren Entprellt.
>
> ... und bei jedem Schließen macht der Schalter einen Kurzschluss über
> dem Kondensator? Die Kontakte werden sich freuen.

Schwachsinn 1k ist in Reihe.

>bullshit.
>herrgott, steh doch wenigstens zu >deinen fehlern. das ist doch >erbärmlich.

Tut mir leid. Hatte mich verlesen. Hatte am Anfang selbstverständlich 
auch gedacht verpolt zu haben. Aufgrund des Datenblatts aber 
Ausgeechlossen.. (Lesefehler!)

>Jan R. schrieb:
>>Gequirlter Dreck
>>Furzkissenkondensatoren
>Sag mal, hast du das >Tourettsyndrom, oder was ist mit >deine Ausdrucksweise los? 
Wenn ja, >ist ja nicht schlimm. Möchte es >nur wissen, ob man dich in Zukunft 
>noch ernst nehmen soll.

Nein Furzkissenkondensator sage ich schon immer zu Kerkos wegen der 
Form. Das vorher ok. Hatte die Wochen schon ein paar Defektteile BLDC 
mit defekter Phase usw. Deshalb war ich einfach genervt. Tut mir leid.
Gast #3650815
Lesenswert?

Jan R. schrieb:
> Habe die dinger jetzt mit zwei Furzkissenkondensatoren Entprellt.

Man kann Kontakte durch Kondensatoren NICHT entprellen, man verschiebt 
nur die Probleme.

Wenn der Schalter ein RC Glied bedient und das dann mit einem 
Schmitt-Trigger ausgewertet wird, kann man zwar in hardware entprellen, 
man muss aber Drehgeber und Taster nicht entprellen wenn man ein 
ordentliches Programm schriebt, das entprellt nämlich von selber einfach 
in dem der Kontakt in vernünftigen Zeitabständen abgefragt wird.

Glaubt man natürlich auf Flanken mit Interrupts reagieren zu müssen, hat 
man ein dummes Programm und Probleme am Hals.
Gast #3650826
Lesenswert?

MaWin schrieb:
> ... ordentliches Programm schriebt, das entprellt nämlich von
> selber einfach in dem der Kontakt in vernünftigen Zeitabständen
> abgefragt wird.

Und letzlich stört das Prellen beim Drehgeber auch nicht weiter die 
Positionsauswertung, weil durch Verwendung des Gray-Codes benachbarte 
Positionen einen Hamming-Abstand von genau 1 haben, die Zählung also 
immun gegen Kontaktprellen ist.

Jan R. schrieb:
> Schwachsinn 1k ist in Reihe.

Solch Schwachsinn entsteht halt, wenn du nur einen Prosaschaltplan von 
der Eingangsbeschaltung "zeigst" und den Widerstand nicht 
"einzeichnest".
#3650875
Lesenswert?

Mike schrieb:
> Du hast den Sinn des Gray-Code nicht verstanden. Da dürfen sich zwei
> Bits nicht gleichzeitig ändern, weil sie das in Wirklichkeit auch nie
> tun würden und immer Glitches auftreten.

Ich habe einfach die Signale am Oszi ausgewertet und einen 
Lösungsvorschlag gemacht wie ich es auswerten würde. Ob der Drehencoder 
Graycode ausspuckt oder nicht war mir egal.


Wenn man es richtig anklemmt lautet die Bitfolge laut Datenblatt

rechts rum 01 11 01 00 10 11 01 00 10 11...

links rum  11 10 00 01 11 10 00 01 11 10...
Gast #3650965
Lesenswert?

Thomas O. schrieb:
> 11 00 01 11 00 01...
> man muss doch nur die Bitfolge auswerten

Thomas O. schrieb:
> Ob der Drehencoder Graycode ausspuckt oder nicht war mir egal.

Der Auswerteschaltung ist das aber nicht egal. Wenn du das Signal beim 
ersten Übergang ("11" -> "00") interpretierst, entgeht dir, dass durch 
nicht exakt gleichzeitiges Umschalten zwischen den ersten beiden 
Zuständen, je nach Schaltreihenfolge auch die Zwischenzustände "10" oder 
"01" auftreten

> Wenn man es richtig anklemmt lautet die Bitfolge laut Datenblatt ...

Bis auf den Zahlendreher (rechts startet mit "10") - Ja
Gast #3650976
Lesenswert?

MaWin schrieb:
> Jan R. schrieb:
>> Habe die dinger jetzt mit zwei Furzkissenkondensatoren Entprellt.
>
> Man kann Kontakte durch Kondensatoren NICHT entprellen, man verschiebt
> nur die Probleme.
>
> Wenn der Schalter ein RC Glied bedient und das dann mit einem
> Schmitt-Trigger ausgewertet wird, kann man zwar in hardware entprellen,
> man muss aber Drehgeber und Taster nicht entprellen wenn man ein
> ordentliches Programm schriebt, das entprellt nämlich von selber einfach
> in dem der Kontakt in vernünftigen Zeitabständen abgefragt wird.
>
> Glaubt man natürlich auf Flanken mit Interrupts reagieren zu müssen, hat
> man ein dummes Programm und Probleme am Hals.

Natürlich RC glied. Natürlich Schmitt-trigger.. Habe ich natürlich so 
gemacht.
Gast #3651065
Lesenswert?

Jan R. schrieb:
> Natürlich RC glied. Natürlich Schmitt-trigger.. Habe ich natürlich so
> gemacht.

Mein Vorschlag, wenn Du einen AVR verwendest:
Beitrag "Drehgeber per Interrupt auswerten, AVR"
Wenn Du per Interrupt die Änderungen erfaßt, kannst Du von ganz langsam 
bis ganz schnell alle Drehgeber verwenden.
Den Gray-Code muß man auch nicht kennen, um Drehgeber auszuwerten. Das 
ist alles nur Wichtigtuerei.
Gast #3651608
Lesenswert?

M.n. schrieb:
>> Den Gray-Code muß man auch nicht kennen, um Drehgeber auszuwerten.

Womit er Recht hat. Es ist vollkommen egal, ob man das Wort "Gray-Code"
schon einmal gehört hat, wenn der Verlauf der Impulse der beiden Kanäle
bekannt ist.

gez. Zittermann
Gast #3652129
Lesenswert?

Axel Schwenke schrieb:
> m.n. schrieb:
>> Den Gray-Code muß man auch nicht kennen, um Drehgeber auszuwerten. Das
>> ist alles nur Wichtigtuerei.
>
> Genau!!1!elf
>
> Man muß gar nichts kennen oder wissen. Immer diese Wichtigtuer, die
> alles erklären!!1! Dabei reicht es doch vollkommen, wenn man etwas
> nachbaut. Am besten was von Mino, dann fühlt er sich GROSS.

Leute was ist euer Problem? Der Encoder stellt praktisch den Grey-Code 
da. (Ich glaube jeder der in der Lage ist einen Drehencoder auszuwerten, 
weis was der Graycode ist.) Warum macht ihr also den Fertig, der das 
beigetragen hat.?
Gast #3652159
Lesenswert?

Jan R. schrieb:
> (Ich glaube jeder der in der Lage ist einen Drehencoder auszuwerten,
> weis was der Graycode ist.)

Wozu muß er das wissen? Ein Drehencoder oder ein Resolver liefert ein 
Sinus/Cosinus Signal oder zwei um 90° verschobene Signale. Und das schon 
seit der Zeit, als Herr Gray noch ein warmer Gedanke seiner Eltern war. 
Und für einen 2 Bit Code hätte Herr Gray wohl auch kein Patent erhalten.

MfG Klaus
Gast #3652177
Lesenswert?

Klaus schrieb:
> Ein Drehencoder oder ein Resolver liefert ein
> Sinus/Cosinus Signal oder zwei um 90° verschobene Signale. Und das schon
> seit der Zeit, als Herr Gray noch ein warmer Gedanke seiner Eltern war.

Leute, ob man das Zeugs nun als 2-Bit Gray-Code oder 
Sinus/Cosinus-Signal bezeichnet, ist doch völlig wurscht, solange der 
Hamming-Abstand aufeinanderfolgender Codeworte genau ein beträgt. Und ob 
man die Theorie kennt, ist auch völlig wurscht, solange der 
zusammengeklaubte Code (irgendwie) funktioniert ;-)
Gast #3652226
Lesenswert?

m.n. schrieb:
> Den Gray-Code muß man auch nicht kennen, um Drehgeber auszuwerten. Das
> ist alles nur Wichtigtuerei.

Ja, is klar. Muß man nicht kennen. Aber nur, wenn man die Regel nicht 
begreift, daß sich nur ein Bit gleichzeitig ändern darf. Das ist schon 
alles. Aber das muß man nicht kennen, ist ja alles Wichtigtuerei.
Mann, laß Hirn regnen, aber bitte ohne Interrupts :-)
Gast #3652227
Lesenswert?

Mike schrieb:
> Leute, ob man das Zeugs nun als 2-Bit Gray-Code oder
> Sinus/Cosinus-Signal bezeichnet, ist doch völlig wurscht,

Und hier gleich noch so einer. Wie kann man ein Rechtecksignal als 
Sinus/Cosinus bezeichnen? Ach, ich vergaß, solche Wichtigtuerei muß man 
ja nicht wissen. Schlimm, aber wahr...
Gast #3652337
Lesenswert?

Den Gray-Code zu verwenden hat einen Sinn, um zum Beispiel bei einem 
4-Bit Zähler die Ausgangssignale auf Fehler zu überprüfen. Wenn 
Fehlerfreiheit vorliegt, darf sich bei Änderung des Zählerstandes 
jeweils nur ein Bit ändern.
Und ich wiederhole es gerne noch einmal, wer in ein Quadratursignal 
einen beabsichtigten Gray-Code interpretiert, pußtet sich nur unnötig 
auf.
Auf ähnliche Weise könnte man sich wichtig machen, zur Vermeidung einer 
Multiplikation, die Addition von Logarithmen vorzuschlagen.

Unter Verkennung des Problems werden damit die Umwege als 'die' Lösung 
suggeriert und durch aggressives Auftreten 'untermauert' :-)
#3652372
Lesenswert?

m.n. schrieb:
> pußtet sich nur unnötig
> auf.

Ist mir egal, ob das jemand als Aufpusten bezeichnet.
Hauptsache der Code ist kurz und funktioniert und da kann ich absolut 
nicht klagen. Kondensatoren brauch ich nicht.

Ich hatte allerdings mal den Fall, daß der Code nicht funktionierte. Mit 
dem Oszi habe ich dann gesehen, daß die Schleifer des Drehgebers 
wackelten, d.h. die Pulse waren willkürlich unterbrochen. Da helfen dann 
auch keine Kondensatoren mehr. Vielleicht war er zu heiß gelötet oder 
durch eingedrungenes Flußmittel verschmutzt.

Manchmal passiert es eben, daß der Drehgeber defekt ist. Dann kann auch 
die beste Schaltung und die beste Software nichts mehr dran ändern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren