Gast
#4553373
Hallo zusammen, ich habe folgendes Problemchen: Habe mir diesen Motor mit fertigem Encoder gekauft: http://www.robotshop.com/eu/en/12v-103rpm-30-1-gear-motor-encoder.html Bisher habe ich den Encoder nur zum Auslesen der Position genutzt, jetzt möchte ich aber auch noch Drehgeschwindigkeit und evtl. Drehbeschleunigung messen. Bei großen Geschwindigkeiten läuft das auch sehr zuverlässig über die gezählten Ticks, bei kleinen Drehgeschwindigkeiten kann ich die Geschwindigkeit jedoch nichtmehr verlässlich bestimmen, da zu wenige Inkremente/Zeitschritt auftreten. Software-seitige Lösungen, (LP-Filter, Luenberger-Beobachter, Kalmanfilter) hat bis jetzt nicht wirklich weitergeholfen. Mir fallen jetzt noch zwei Lösungswege ein: a) Die Magnetscheibe ersetzen: Meine jetztige Scheibe hat zwei Nordpole und zwei Südpole. Mit mehr Polpaaren, kann ich ja entsprechend die Auflösung erhöhen. Wisst ihr ob, man so etwas fertig kaufen kann, oder ist selbst basteln angesagt? Über Google habe ich keine Anbieter gefunden. b) Die ISR umstellen: Über die beiden Hallsensoren zähle ich bei wechselnden Flanken die Ticks hoch und bestimme dann die Geschwindigkeit über Ticks/Samplezeit. Statt Ticks zu zählen könnte ich ja auch die Zeit zwischen zwei Ticks "messen" und dann die Drehgeschwindigkeit über Drehgeschwindigkeit = 1 Tick / Zeit zwischen Ticks bestimmen. Das Problem ist halt, dass ich auf diese Weise keinen Stillstand erkennen kann. Was meint Ihr? Vielen Dank für Eure Antworten.