mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pollin Encoder


Autor: Max Meier (gbl1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Vorweg: ich bin neu in diesem Bereich, habt Geduld mit mir.


Ich weiß, dieses Thema ist schon oft behandelt worden, jedoch für mich 
nicht ausreichend.

Auf meinem Testboard habe ich einen Pollin-Encoder (das Dicke Teil) 
aufgelötet. A, GND und  B sind direkt auf die CPU geschaltet.

Mein Problem ist folgendes:

Drehe ich nach rechts, wird auch RECHTS zu 99% erkannt,
Drehe ich nach links, wird "irgendwas" ERKANNT. links/rechts wechseln 
sich ab.

Ich bitte daher um
* Einen Schaltplan mit einem Pollinencoder und den dazugehörigen BASCOM 
Programmteil.

LG
Günter

Autor: DerDaOben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Auf meinem Testboard habe ich einen Pollin-Encoder (das Dicke Teil)
> aufgelötet. A, GND und  B sind direkt auf die CPU geschaltet.
Pullups?

>  A, GND und  B sind direkt auf die CPU geschaltet.
Du solltest deine Begriffe genauer spezifizieren: die CPU ist ein 
kleiner Teil im Inneren eines uC. Du kommst von aussen bestenfalls an 
Pins ran.

Autor: Michael L. (michaelx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch naheliegend ...

http://www.mikrocontroller.net/articles/Drehgeber

... bis zum Ende lesen!

"Dekoder für Drehgeber mit wackeligen Rastpunkten" könnte wichtig sein!

Autor: gbl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, diesen Link kenne ich schon. Ich glaube das Problem mit den 
Rasterpunkten trifft auf mich zu.

Leider ist hier keine Beschaltung beschrieben und C kann ich nicht.

@Lothar:  Ich meinte natürlich die Pins am "schwarzen Käfer" ....


Wie ich schon geschrieben habe.
Ein Schaltplan mit BASCOM wäre toll, das obiges Problem "erschlägt".

LG
Günter

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BASCOM enthält eine Encoderfunktion

So geht's:

Beitrag "Drehencoder in Bascom"

Autor: gbl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,

werde diesen Code testen.
Wie muß ich nun den Encoder anschließen? Pin A und B einfach and PIN D2 
und D3? Ohne Kondensator und Wiederstand?




Config Portd = Input
Config Int0 = Change
On Int0 _encoder
Enable Int0
Enable Interrupts

Dim Enc As Byte , A As Byte , B As Byte

Enc_a Alias Pind.2
Enc_b Alias Pind.3

Cls
Cursor Off

Do

   Upperline
   Lcd Enc ; "   "

Waitms 60
Loop



_encoder:

   If Enc_a = 1 And Enc_b = 0 Then
      Enc = Enc + 1
   End If

   If Enc_a = 0 And Enc_b = 1 Then
      Enc = Enc + 1
   End If

   If Enc_b = 1 And Enc_a = 1 Then
      Enc = Enc - 1
   End If

   If Enc_b = 0 And Enc_a = 0 Then
      Enc = Enc - 1
   End If

Return


LG Günter

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.