- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 3 von 3

Thema: Bascom und Drehgeber

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2010
    Beiträge
    22

    Bascom und Drehgeber

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo ,
    hat jemand ein Bascom-Programmbeispiel für eine Schaltung mit der man mit einem MC z. B. ATMega 8 ein Inkrementaldrehgebersignal erfassen und die Position auf einem Display ausgeben kann .
    Wie ist die erreichbare Zählfrequenz ? Es gibt viele Beiträge zu diesem Thema im www aber ich habe es leider nicht so ganz kapiert .

    Vielen Dank für jede Antwort

    Hans

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Hallo Hans,

    in Bascom gibt es einen eigenen Befehl, der "Encoder" heißt. Dieser Befehl muss allerdings sehr engmaschig ausgeführt werden, damit ihm keine Aktionen des Drehgebers "entgehen".

    Um genau dies zu vermeiden (dass eine Aktion am Drehgeber nicht erkannt wird), benutze ich eigentlich immer eine Interrupt-basierte Lösung.
    Im anhängenden Bild sieht man schön die Funktionsweise eines Drehgebers (oder Encoders): Er besteht im wesentlichen aus zwei Schließkontakten, die mit einer gewissen Phasenverschiebung geschlossen und geöffnet werden, wenn man an der Achse dreht. Legt man die Kontakte A und B über PullUp-Widerstände auf +5V, gibt es zwei Rechtecksignale, wie im Bild dargestellt. Die senkrechten, gestrichelten Linien stellen hierbei die "Rast"-Postition des Encoders dar.

    Du legst Kontakt A auf einen Interrupt-Eingang und konfigurierst den Interrupt als falling, und Kontakt B auf einen beliebigen Eingang (PINX.Y). In der Interrupt-Routine wird PINX.Y abgefragt: Ist dieser Eingang low, dann wurde gegen den Uhrzeigersinn gedreht, ist er high, wurde im Uhrzeigersinn gedreht (CW = clockwise = im Uhrzeigersinn, CCW = counterclockwise = gegen den Uhrzeigersinn).

    Ich entprelle den Interrupt-Eingang immer mit einem kleinen Kondensator (z.B. 10nF vom Eingang gegen Masse), weil sonst die Kontakte oft mehrfach gezählt werden. Als Code könnte das so aussehen:

    Code:
    Dim Variable as Byte
    
    Config INT0=falling
    On INT0 Drehregler
    Enable INT0
    Enable Interrupts
    
    Do
    ..
    ..
    ..
    Loop
    
    Dehregler:
    If PINX.Y=1 then Variable = Variable + 1 else Variable = Variable - 1
    Return
    So entgeht dem Controller keine einzige Bewegung am Drehgeber - und bei einer halbwegs vernünftigen Taktfrequenz müsste man schon eine hochtourige Bohrmaschine an den Encoder anschließen, um an die zeitliche Auflösungsgrenze zu kommen

    Klicke auf die Grafik für eine größere Ansicht

Name:	Encoder.jpg
Hits:	50
Größe:	24,7 KB
ID:	24693

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hallo Hans,

    ich habe mal einen einführenden kleinen Artikel zu dem Signal, das Drehencoder ausgeben geschrieben. Da stehen zumindest die Basics drin, ich denke er sollte einigermaßen gut zu verstehen sein. Kannst ja mal einen Blick darauf werfen. Dann kann ich dir noch den Artikel über Drehgeber auf mikrocontroller.net empfehlen, da sind Varianten der Auswertung mit ihren Vor- und Nachteilen diskutiert, auch der o.g. Und auch hier im RN-Wissen gibt es einige Beispielcodes in Bascom zu dem Thema.

    Gruß
    Malte

Ähnliche Themen

  1. Lock und Fusebits lesen und setzen in BASCOM?
    Von Alex20q90 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 06.02.2009, 05:30
  2. Problem mit RN-Motorcontrol und Drehgeber
    Von Jens_ im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 0
    Letzter Beitrag: 29.05.2008, 20:09
  3. Drehgeber GP1A30R-Sharp und Parallax
    Von klaus_800 im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 21.05.2006, 20:09
  4. Incremental Drehgeber mit bascom auswerten...
    Von sme-bbg im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 09.03.2005, 21:23
  5. [ERLEDIGT] Absolut Drehgeber aus Incremental Drehgeber + yC
    Von qntal im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 11.11.2004, 13:28

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen