Archiv verlassen und diese Seite im Standarddesign anzeigen : Verwendung einer PC-Maus als Inkrementalgeber
Hallo allerseits,
ich brauche für eine Positionssteuerung einen Inkrementalgeber. Ich habe mich mal ein bisschen erkundigt und die Dinger sind (mit Scheibe) z.T. recht bis sehr teuer. Eine PC-Maus, wo ja auch 2 Inkrementalgeber drin sind, kostet da schon weniger.
Meine Fragen:
1.) Wie genau ist ein solcher Geber? Theoretisch kann es zwar sein, dass er einen Zahn etwas zu breit hat, aber das müsste sich doch auf die ganze Umdrehung ausgleichen, oder?
2.) Wie kann man so ein Ding ansteuern? Ich meine, kann man das Ding einfach rauslöten, und dann steht da drauf, wieviel Spannung wo anzulegen ist/wo das Signal rauskommt?
MfG
Christian
Hallo Christian,
PS/2 Mäuse wollen eine Versorgungsspannung von 5V haben. Da es ziemlich viele verschieden IC's gibt, sie in den Dingern verbaut sind, bleibt eigentlich nichts anderes als ein Reverse Engineering. Ist zwar eine Menge Arbeit, dafür hat man aber einen Zähler, der auch dann keinen Impuls verschläft, wenn der µC beschäftigt ist.
Die Verbindung zum µC wird über zwei Leitungen hergestellt (CLOCK und DATA).
Mehr zum Thema "Auslesen einer PS/2-Schnittstelle findest du unter: https://www.roboternetz.de/phpBB2/viewtopic.php?t=15744
Die Auflösung ist IMHO für einen Inkrementalgeber im Bereich der Odometrie hoch genug, Verluste beim Zählen hab ich bisher nicht festgestellt.
Gruß,
Xanadu
1.) Wie genau ist ein solcher Geber? Theoretisch kann es zwar sein, dass er einen Zahn etwas zu breit hat, aber das müsste sich doch auf die ganze Umdrehung ausgleichen, oder?36 Zähne habe ich gezählt. Die sind sehr sauber und gleichmäßig. Damit kann man bei 2Phasen Abstastung 144 Schritte erzeugen.
Manfred
OK, ich werd mich mal ein bisschen einlesen.
[...]
Die Verbindung zum µC wird über zwei Leitungen hergestellt (CLOCK und DATA).
Mehr zum Thema "Auslesen einer PS/2-Schnittstelle findest du unter: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=15744
[...]
Hallo nochmal,
ich habe den Artikel, den du mir angegeben hast, hier vor mir liegen. Das Protokoll hab ich gefressen. (Hoffe du verzeihst mir, wenn ich für meine Steuerung mich ein bisschen an deinem Code anlehne O:))
Ich hab aber dennoch ein kleines Problem:
Ich sehe ehrlich gesaght nicht durch, wie die genaue Daten-Syntax ist. Wenn ich jetzt also von meiner Maus wissen will, ob sich in Y-Richtung was getan hat, und wenn was (Schritte, Richtung?), wo finde ich die Wert? Diese Information muss ja irgendwie codiert in den Rückgabewerten stehen. Wie kann ich sie extrahieren?
Muss ich eigentlich die Maus vor der Verwendung initalisieren?
MfG
Christian
Hi,
ja, du musst die Maus initialisieren. Ich hab mal meinen aktualisierten Code im anderen Thread (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=15744) gepostet .
Du darfst ihn gerne verwenden ;-)
Gruß,
Chris[/url]
Jetzt aber doch noch meine Frage: Wo hast du das alles her? Ich meine, es ist zwar schön und gut, was du da schreibst, aber ich weiß ehrlich gesagt nicht, was ich ihr (der Maus) damit genau sage. Die Frage ist z.B. was kann man alles für "Resolutions" einstellen. Welche Werte kann ich ihm dann geben?
Wo kann man das denn nachlesen. Das würde mich (rein interessehalber) auch privat interessieren.
MfG
Christian
Wo hast du das alles her?
Ehmmm, ja, hier stehts: http://www.computer-engineering.org/ps2protocol/
(Ist ein gern genannter Link, ich hatte das als bekannt vorausgesetzt ;-) )
Chris
Nein, tut mir Leid, den Link kannte ich nocht nicht.
Jetzt meine Frage: Mit Resolution kann ich ja die Auflösung einstellen (in Impulse des Zählers pro mm Mausbewegung). Richtig?
Ich will ja eigentlich nicht eine Strecke messen, sondern eine Drehung. Ist es also so, dass bei 8 counts/mm für jeden Zahn einen Impuls erhält? Oder gilt da ein anderer Umrechnugsfaktor?
MfG
Christian
Natürlich gelten die Streckenangaben nür für passend designte Encoderscheiben. Für uns ist die Anzahl der Zählererhöhungen entscheidend. Ich hab das mal ausgemessen. Jeder "Zahn" besteht ja sozusagen aus zwei Farbwechseln (hell->dunkel und dunkel->hell).
Bei 8 counts/mm erzeugt jeder Übergang zwei Impulse, jeder Zahn also 4 Zählerschritte. Bei 4 counts ist jeder Übergang ein Impuls, also zwei pro Zahn und bei 2 counts/mm zählen nur Wechsel von dunkel nach hell.
Da meine Encoderscheibe relativ grob war, habe ich mich zu Resoultion 2 (4 counts/mm) entschieden.
Hintergrundinfos bekommst Du auch, wenn du mal die Suchfunktion des Forums mit dem Begriff "Quadratur*" benutzt.
Gruß,
Chris
Nein, ich glaube wir reden aneinander vorbei.
Wenn ich eine andere Maus habe und diese nun ein anderes Speichenrad hat (64 Schritte), dann macht das Rad bei 1 mm Bewegung theoretisch mehr Schritte als ein Rad mit z.B. 32 Schritten. (Doppelt so viele um genau zu sein)
WIe kann man das ausgleichen? Mein Problem: Wenn ich einen Drehwinkel messen will, muss ich beachten, dass ich nicht messen kann, was genau eine Umdrehung ist. Wenn ich ihm jetzt 8 cnt/mm einstelle, wiß ich nicht, ob er mir auch wirklich 64 zählt, oder z.B. nur 60 (Korrekturfaktor!)
MfG
Christian
Entscheidend sind doch die Impulse. Die count/mm kommen doch nur aus der PS/2-Maus Spezifikation. Je nach eingestellter Resolution wird der Quadraturdecoder anders eingestellt (siehe oben), der Rest ist Sache deiner Encoderscheibe und eines Taschenrechners.
Oder ich verstehe das Problem nicht.
Chris
Ich gehe davon aus, dass ich die Orginalencoderscheibe der Maus verwende. Zudem muss ich das Ding per µC einlesen und die Daten verarbeiten.
MfG
Christian
Okay, dann musst du die Encoderscheibe analysieren. Wenn sie 60 Teilungen hätte, dann würde jeder Zahn 6 Grad bedeuten. Bei Resolution 2 hättest du dementsprechend je Impuls 3 Grad.
Gruß,
Chris
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.