Langsame Umdrehungen Messen über Schleifer

Guten Morgen zusammen,

nach längerer Bastel- und Programmier-Abstinenz habe ich mal wieder eine Frage an Euch:

Ich habe 4 Schnecken-Getriebe Motoren, siehe Bild. An allen 4 ist nochmal eine M12 Gewindestange angeschraubt, Steigung 1,75 mm. Also pro Umdrehnung 1,75 mm Hub.

Die Motoren Steuer ich über 4 H-Brücken, via nem Arduino.
Wie man auf dem Bild sehen kann, kommt pro Umdrehung einmal der Schleifer vorbei und gibt mir ein Signal aus.

Ich würde gerne die Position über das Zählen der Umdrehungen bestimmen.

(Beim Start fahren alle Motoren bis zu einem Endschalter zurück um die Nullpos. zu bestimmen)

Jetzt ist aber das Problem, wie so oft, bei solchen Zählsituation, dass das ja am besten über den Interrupt zu lösen wäre. Aber ich habe ich ja nur 2 auf meinem Arduino.
Pro Auslösung des Interrupt ist somit eine Umdrehung eingetroffen, die ich dann zähle. Aber wie könnte ich das mit 4 Motoren lösen?
Gibt es evtl. externe IC die ich davor klemmen könnte?

Vielen Dank und Gruß Michael

Damit Du Interrupts verwenden kannst muß der Kontakt entprellt werden.
Der Arduino hat an allen Pins Interrupts , nur die Pin 2 und 3 werden direkt getriggert während die anderen über den Port einen Interrupt triggern.

http://playground.arduino.cc/Main/PinChangeInterrupt
http://www.geertlangereis.nl/Electronics/Pin_Change_Interrupts/PinChange_en.html

Grüße Uwe

Und wenn die Dinger eh so langsam drehen - reicht dann nicht Polling in der Loop?

Jetzt ist aber das Problem, wie so oft, bei solchen Zählsituation, dass das ja am besten über den Interrupt zu lösen wäre. Aber ich habe ich ja nur 2 auf meinem Arduino.

Sind schonmal mindestens zwei falsche Voraussetzungen.

  1. hättest du mehr Intrerrupts.
  2. verwendest du besser gar keine.
  3. Ein Schleifkontakt ist deutlich schwieriger in den Griff zu kriegen als ein einfacher prellender Taster. Das wird dein eigentliches Problem werden, fürchte ich :wink:

Wie lang ist denn die Zeit eines Pulses ca. ? oder wie viele Pulse je sek ?
( Ich tippe mal aus dem Bild auf ca 10% Pulsdauer )
Einigermaßen konstante Geschwindigkeit ?

Kannst du sicherstellen, dass die Motoren immer so stoppen, dass der Kontakt gerade nicht aktiv ist, um dir das Leben zu erleichtern ?