-         

Ergebnis 1 bis 4 von 4

Thema: Hall Sensoren einlesen

  1. #1

    Hall Sensoren einlesen

    Anzeige

    Hallo,
    moechte so einfach wie möglich einen Hall Sensor mit Bascom einlesen. Der Sensor ist in einem Hubmotor untergebracht, arbeitet zwischen 14 und 26 Hz, und dreht pro Puls 0,49556mm. Es gibt ein A Signal und 90 Grad versetzt ein B Signal.
    Habe es noch nie gemacht daher waere ich ueber Starthilfe dankbar.
    Der Hub wird ueber ein Relais in Bewegung gesetzt und wenn die Position x erreicht ist soll er einfach stoppen.
    Grüsse Bepo

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Das was du hast ist ein normaler Drehencoder. Du kannst mit einem Interrupt das ganz einfach lösen
    Als Beispiel löst A den Interrupt aus
    Code:
     Wenn Interrupt auslöst
    B überprüfen
    Wenn B=1
    Zähler +1
    Wenn B=0
    Zähler -1
    Zu beginn muss man immer eine Referenzfahrt machen.

  3. #3
    Vielen Dank. Klingt ja wirklich einfach

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Moin moin

    Hmm, wenn der Zähler bei steigender Flanke hoch und bei fallender
    heruntergezählt wird bleibt der Zähler = 0! Wie soll jetzt festgestellt
    werden wie weit der Motor gedreht hat?

    IRQ ist schon mal gut, den IRQ in Baskomm aber dann so
    einstellen das nur bei Fallender ODRsteigender Flanke der
    IRQ ausgelößt wird und dann eine Variable hoch oder herunterzählen.

    Diese Variable wird dann im Hauptprogramm abgefragt und wenn der
    gewünschte motorstand erreicht ist der Motor gestoppt. Danach wird die
    Variable auf 0 gesetzt.

    Soll das ganze auch in die Andere Richtung klappen, muß man den
    A und B Ausgang verknüpfen. So kann man die Drehrichtung bestimmen
    und je nach Drehrichtung eine ISR für herauf/herunterzählen aufrufen.
    Dann sollte die Zählvariable aber nicht auf 0 gesetzt werden denn dise
    wird von den beiden ISR`s auf der "momentanen" motorpositio
    gehalten.

    Ein tip welcher sensor verwendet wird (datenblatt) würde sicher
    hilfreich sein.

    Gruß Richard

Berechtigungen

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