-         

Ergebnis 1 bis 5 von 5

Thema: Inkrementalgeber zählt zuviele Impulse

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.10.2009
    Beiträge
    6

    Inkrementalgeber zählt zuviele Impulse

    Anzeige

    Hallo Forum,
    ich hab versucht einen Inkrementalgeber zu basteln, welcher soweit ganz gut klappt. Leider zählt er bei langsamen Drehzahlen zuviele Schritte.
    Der Sensor funktioniert optisch mit einem Fototransistor. Als elektronische Schaltung habe ich die Tastenentprellerschaltung verwendet.
    Habe das Problem jetzt per delay gelöst, aber das muss doch auch irgendwie funktionieren ohne den controller zu pausieren.
    Wäre schön wenn jemand einen Vorschlag hat.
    Gruß Max

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Um festzustellen in welche Richtung sich der geber bewegt, muß man ja den neuen mit dem Alten Zustand vergleichen. Wenn man für jede Abtastung, also z.B. im PinChange Interrupt den Zustand nur 1 mal Ausliest, für den neuen Schritt und zum merken für den nächsten Schritt, sollte in der Summe nichts falsches rauskommen. Es kann höchstens passieren das man beim Prellen eines Signals eine schnelle hin und her bewegung mitkreigt, das kostet aber nur ein bischen Rechenzeit, in der Summe paßt es wieder.

    Wenn man das hin und her nicht haben will, dann könnte man ähnlich wie bei der Tastenentprellung die Port nur periodisch, z.B. alle 2 ms abfragen.

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.979
    Hallo max!

    Damit der µC immer was nutzliches tut, habe ich als delay (ca. 10 ms) ein Unterprogramm für Displayausgabe verwendet. Man könnte dafür auch mehrere andere nacheinander laufende Unterprogramme nutzen, deren gesamte Ausführungszeit dem nötigen delay gleich ist.

    MfG

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    21.10.2009
    Beiträge
    6
    Danke für die schnellen Antworten.

    Dann lasse ich es mit dem delay.

    Das mit dem PinChange Interrupt hab ich nicht verstanden.Die Drehrichtung ist aber eigentlich egal.

    mfg

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Bei vielen neueren µCs kann man ein Interrupt auslösen lassen wenn sich einer von den Gwählten Eingangspins ändert. Das bietet sich an für einen Incrementalgeber. In der ISR zu dem Interrupt kann man dann den Incrementalgeber aktualisieren. Das Hauptporgramm kann dann den Zählerstand einfach aus einer variablen auslesen (allerdings als atomarer Block mit CLI/SEI).

Berechtigungen

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