mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Drehgeber / Drehencoder über SUB-D Kabel 1,8m funktioniert nicht


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe einen ALPS Drehgeber mit vollschritt-Rastung, den ich über ein 
handteil, was mit 1,8m 9-pol SUB-D Kabel an einem ATmega32 angeschlossen 
habe. Ich benutze das für mich angepasste Programm von Peter Dannegger.

Mein Problem: Der Drehgeber zählt nur noch in eine Richtung. Als ich ihn 
auf dem gleichen Board hatte wie den uC ging alles super, auch wenn man 
schnell gedreht hat.

Kann es sein das sich schon bei 1.8m die Kapazität der Leitung bemerkbar 
macht und meine Pulse verzerrt? Hab keine Ahnung was das sonst noch sein 
kann. Weiß einer von euch vielleicht Rat? Auf der Leitung (SUB-D) liegt 
nur Masse und die beiden Pulssignale vom ALPS sonst nix. Es sollen aber 
noch Ausgänge vom uC da mit durch!

Bin für jede Hilfe dankbar

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl. über einen Pegelwandler (z.B: MAX 232) die Kabelstrecke mit 12V 
(bzw. 10V) betreiben. Das erhöht schonmal die Störsicherheit. Ausserdem 
ist der Treiber stark genug. Ich nehme mal an, dass Du Pullups drin 
hast.
Dann kannst Du mit nem Oszi der Leitungskapazität beim Laden zusehen
(sehr schöne e-Funktion ;-) )

Die Verbindung müsste dann so aussehen:

                   Kabelstrecke
                       ##
VCC----------------------------------------------------------
         ---|---       ##        ---|---                    |
A--------|     |-----------------|     |--------|A - Enc.|--|
B--------| MAX |-----------------| MAX |--------|B - Enc.|--|
         |     |       ##        |     |   |
         ---|---       ##        ---|---   2k(Pulldown an A und B)
GND-----------------------------------------
                       ##

Einen dicken Elko an der Drehencoderseite nicht vergessen! Und die 
üblichen 100nF Block Cs auch nicht.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Bei kurzen distanzen gehen auch ein Bustreiber, statt den beiden MAX 
Teilen.

Autor: R. W. (quakeman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am einfachsten wirst du dein Problem erkennen, wenn du auf der 
Controller Seite nach den 1,8m mal ein Oszi dranhängst und dir die 
rauskommenden Signale genauer anschaust. Es kann schon sein, daß die 
Signale bis dahin leicht verfälscht werden, auch wenn 1,8m nicht 
unbedingt sehr viel ist.
Aber wenn es direkt am Board funktioniert und mit 1,8m Kabel dazwischen 
nicht mehr, muß es ja definitiv am Kabel liegen.

Hast du schon versucht ein anderes Kabel zu benutzen, nur um ein 
eventuell defektes Kabel auszuschließen?

Ciao,
     Rainer

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt einfach nur genügend kleine PullUp-Widerstände anstelle der 
internen PullUps im ATMEGA verwenden, um die Flanken schnell genug zu 
bekommen. 1kOhm extern an jeden Eingangspin des ATMEGAs nach Vcc 
schalten, an den der Drehencoder angeschlossen ist. Treiberschaltkreise 
braucht man dafür nicht, der Drehencoder ist niederohmig genug.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.