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?
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.
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.
hättest du mehr Intrerrupts.
verwendest du besser gar keine.
Ein Schleifkontakt ist deutlich schwieriger in den Griff zu kriegen als ein einfacher prellender Taster. Das wird dein eigentliches Problem werden, fürchte ich
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 ?