vklaffehn
19.04.2008, 21:14
Moin!
Ich kämpfe hier grad mit einem merkwürdigen Problem :
ich habe einen Drehencoder in ein Getriebe eingebaut, um die Umdrehungen des Getriebemotors zählen zu können (ein Zahnrad des Getriebes läuft jetzt nicht mehr auf der Achse, sondern auf dem Schaft des Encoders). Der Encoder kann 24 Impulse pro Umdrehung (STEC12E07 von Reichelt), Grey-Code ist erstmal uninteressant (?), da ich einfach nur mitzählen will, wie weit das Zahnrad sich gedreht hat. Der mittlere Pin habe ich auf Masse gelegt, und einen der anderen an PB2 meines Mega8. Den Pin habe ich als Eingang konfiguriert und den Pullup aktiviert, dann habe ich eine kleine Funktion geschrieben, die eigentlich warten soll, bis der Pegel an PB2 von High nach Low wechselt. Das sah auch erstmal ganz gut aus, allerdings drehte sich alles bei doppelter Motorspannung auch doppelt so weit, ich dachte da an prellenden Encoder oder so. Daraufhin habe ich mal alle Kabel (ISP, RS232, anderer Motor...) abgezogen und festgestellt, daß wenn ich jetzt nur Strom einschalte, der Encoder anscheinend gar nicht zählt. Zum Testen sollte er einen Step in die eine Richtung und danach einen Step in die andere laufen und anschließend anhalten, das ganze ist so langsam, daß man zuschauen kann. Schalte ich das ganze ein, so dreht sich der Motor ständig in die Anfangsrichtung, bis ich z.B. mit meinem Finger auf den Encoderpin und den Massepin fasse. Durchgemessen sind die Leitungen, irgendwie schafft es also der Encoder nicht, den Pin auf Masse zu ziehen? Testweise habe ich schon einen 100nf Kondensator zwischen Kontakt und Masse geschaltet, das hat aber überhaupt keine Auswirkungen. Hat jemand einen Tipp, was das wohl noch sein könnte? Ich bin irgendwie ein wenig ratlos.....
Danke!!
MfG
Volker
Ich kämpfe hier grad mit einem merkwürdigen Problem :
ich habe einen Drehencoder in ein Getriebe eingebaut, um die Umdrehungen des Getriebemotors zählen zu können (ein Zahnrad des Getriebes läuft jetzt nicht mehr auf der Achse, sondern auf dem Schaft des Encoders). Der Encoder kann 24 Impulse pro Umdrehung (STEC12E07 von Reichelt), Grey-Code ist erstmal uninteressant (?), da ich einfach nur mitzählen will, wie weit das Zahnrad sich gedreht hat. Der mittlere Pin habe ich auf Masse gelegt, und einen der anderen an PB2 meines Mega8. Den Pin habe ich als Eingang konfiguriert und den Pullup aktiviert, dann habe ich eine kleine Funktion geschrieben, die eigentlich warten soll, bis der Pegel an PB2 von High nach Low wechselt. Das sah auch erstmal ganz gut aus, allerdings drehte sich alles bei doppelter Motorspannung auch doppelt so weit, ich dachte da an prellenden Encoder oder so. Daraufhin habe ich mal alle Kabel (ISP, RS232, anderer Motor...) abgezogen und festgestellt, daß wenn ich jetzt nur Strom einschalte, der Encoder anscheinend gar nicht zählt. Zum Testen sollte er einen Step in die eine Richtung und danach einen Step in die andere laufen und anschließend anhalten, das ganze ist so langsam, daß man zuschauen kann. Schalte ich das ganze ein, so dreht sich der Motor ständig in die Anfangsrichtung, bis ich z.B. mit meinem Finger auf den Encoderpin und den Massepin fasse. Durchgemessen sind die Leitungen, irgendwie schafft es also der Encoder nicht, den Pin auf Masse zu ziehen? Testweise habe ich schon einen 100nf Kondensator zwischen Kontakt und Masse geschaltet, das hat aber überhaupt keine Auswirkungen. Hat jemand einen Tipp, was das wohl noch sein könnte? Ich bin irgendwie ein wenig ratlos.....
Danke!!
MfG
Volker