Is auf alle Fälle besser als ne Maus ,-)Zitat von Bastlwastl
Gruß, Sonic
Ich hab jetzt eine andere Lösung gefunden.
Ich hab mir von einer Firma die auf Automatisation spezialisiert ist ein paar ausgemusterte Drehgeber besorgt und sie hergerichtet.
Die Teile arbeiten mit 24V, daher kann ich sie direkt an die SPS-Versorgung anschließen und erhalte ein genaueres Messergebnis.
Leider habe ich mich bei der Auswärtung vertan und den Robotter wegen falscher Positionierung Umgeschmissen.
Diesen Fehler habe ich behoben und jetzt gann ich mein nöchstes Profekt beginnen.
(Hatte auf den Übertrag beim Zähler vergessen.Ich hatte zwar eine Doppelwort-Variable verwendet, aber auch sie ist zu klein geworden)
Ich werde um eine sicherere Horizontalpositionierung zu erreichen den Horizontalantrieb auf Kettenantrieb umbaun.
(Der Robotter wird sich wie eine Zahnradbahn an einer Fahrradkette entlangziehen.)
Dadurch kann ich auf die komplizierte und anfällige Anfahr-und Bremsregelung verzichten.
(Ich werde statt dessen gefederte Mitnehmer am Antrieb verwenden wie es bei der ÖBB Lok der Baureihe 1045 gemacht wurde.(Secheronantrieb))
Ich möchte sonic und Albanac für ihre Hilfe danken.
mfg Bastlwastl
Is auf alle Fälle besser als ne Maus ,-)Zitat von Bastlwastl
Gruß, Sonic
Wegen einer Kugelmaus als Drehgeber. Ich habe auch lange herumgesucht und keine brauchbaren Informationen gefunden. Hatte eine PS/2-Maus geöffnet und die beiden Drehachsen abfragen wollen. Da sitzt ein IC drauf (16-Füssler) der sich EIC0I35200 nennt. Dieser ist in der Lage die vier IR-Lichtschranken auszuwerten und das fertige Resultat als Data/Clock-Signal zu liefern. Nur habe ich zu deisem IC keinerlei Beschreibungen gefunden. Der wäre ideal als Umsetzer und man könnte ihn einfach auf den aktuellen Ist-Wert der Position abfragen. Bräuchte eben nur noch zwei digitale Ports.
Die vier Lichtschranken habe ich eh herausgelötet und als eigenes Gebersystem in ein Getriebe verbaut als A- und B-Signal. Jetzt muss ich ohne diesen IC eine recht komplizierte Methode der Auswertung machen über zwei verbogene Freq-Eignänge als Interrupts, einen TL084 als Schmitt-Trigger und zwei Ports als Richtungssignal. Wenn jemand über das PS/2-Protokoll Infos hat bei einer Maus dann nur her damit. Kann mit jeder Info etwas anfangen die sich auf das Protokoll bezieht. Die Interrupt-Variante schluckt relativ viel Rechenzeit (2mm-Auflösung und fast 7km/h max-Speed zweimal...). Wenn das ausserhalb im vorhandenen IC gelöst werden kann ist die Positions-Regelung schneller und sicherer.
Grüsse Wolfgang
Ich habe auch versucht die Elektronik einer PS/2-Maus zu nutzen. Ich konnte nur über den IC der die Messung und das PS/2-Protokoll vornimmt nirgends finden mit Daten. Das PS/2-Protokoll einer Maus habe ich auch nirgends finden können. Wenn jemand Infos hat wäre ich auch sehr dankbar. Dann könnte ich die ausgelöteten 4 IR-Empfangsdioden und 4 IR-Sendedioden ohne eigene OP-Schmittrigger und ohne Interrupts fahren. Wäre wesentlich zeitunkritischer und die Rechneleistung des Controlers würde nicht so sehr beansprucht.
Die IR-Bauteile habe ich ohne die in der Maus vorhandenen Geberscheiben realisiert. Nur die IR-Bauteile sind verwendet worden. Die Geberscheibe habe ich im Getriebe im Zahnrad nachgebildet durch selbstgefeilte Laschen im Zahnrad mit je 90° Länge und 90° Pause. Damit bekomme ich bei der Drehung genau das A/B-Signal einer Maus und es wäre auch kompatibel.
Die Auswertung habe ich über einen Quad-OP (TL084) realisiert den ich als vierfach-Schmitt-Trigger beschaltet habe. Die Versorgung des OP's ist bei GND und +5V was eine Rechteck-Ausgangsspannung TTL-Kompatibel ausgibt.
Die Auswertung der Signale mache ich im Moment ohne den PS/2-IC einer Maus. Ich bin hergegangen die A-Signale auf den Freq-Port zu legen und die B-Signale auf Digitale Ports. Den Freq-Interrupt habe ich in eine eigenes Assemblerprogramm verbogen damit ich im Hintergrund den Ist-Wert als Interrupt-Routine aktualisiere. Damit kann ich im Hauptprogramm den Soll-Ist-Vergleich fahren. Nur belastet der Interrupt die Geschwindigkeit der Hauptroutine sehr, da ich alle 2mm nun einen Interrupt auslöse und das für 2 Motoren. Mit dem IC wäre das extern und zeitunkritisch, aber eben dafür brauche ich das PS/2-Protokoll einer Maus um dem IC verwenden zu können.
Grüsse Wolfgang Schmid
Noch ein Nachtrag. Ich hab das Innenleben der PS/2-Maus einmal gezeichnet als Schaltplan und man erkennt damit die Funktion etwas genauer. Diese IR-Sendedioden und IR-Empfänger habe ich allerdings nicht mehr auf der Platine da diese im Getriebe montiert sind und die Auswertung dort übernehmen ohne die Maus-Mechanik.
Bild hier
Wenn man nun diesen IC ohne die Taster betreibt und diesen an die IR-Empfänger im Getriebe anschliesst wird man an einem PC den Mauszeiger verändern können. Das Protokoll habe ich jedenfalls noch nicht zu 100% herausgefunden. Es müsste möglich sein en zwei digitalports der C-Control 1 das abzufragen was die Maus so spricht. Also die Änderung der Position abfragen. Damit wäre es ja extern gelöst.
Wenn jemand schon einmal eine PS/2-Maus an einer C-Control betrieben hat wäre ich dankbar um eine klein Info für das Protokoll.
Nachtrag: Platine mit Mausbauteilen fertig aufgelötet kannrecht kompakt sein http://www.mds-5.de/temp/GeberelektronikPS2Maus.jpg
Grüsse Wolfgang
@sonic
Ein Drehgeber ist für diese Anwendung nicht umbedingt besser als eine Maus, aber wesentlich einfacher zu realisieren.
Und da ich ein fauler Sack bin hab ich mich für die Drehgeber entschiden.
(Vorallem weil sie mich nur 2 Flaschen Bier und etwas Zeit zum Reperieren gekostet haben.)
@BlueNature
Ich hab da was gefunden:
http://www.hut.fi/~then/mytexts/mouse.html
Da steht alles ganz genau beschrieben.
Diese Seite ist zwar Englisch wird aber für dich sicher kein unüberwindliches Problem sein.
Zur Not gibts auch das Wörterbuch auf:
http://dict.tu-chemnitz.de/
Als ich gesehen habe wie aufwändig dieses Protokoll mit einer alten SPS zu verwirklichen ist (die direkte Mausauswertung über das Komunikationsprotokoll würde beinahe den gesamten Speicher benötigen) wollte ich die Signale direkt auswärten.
(desswegen auch die Fragen zu den minimal benötigten Versorgungsspannungen.)
Da ich aber ein paar ausrangierte Drehgeber bekommen habe (die Reperatur von einer Firma hätte mehr gekostet als neue) habe ich auf das Herumgefummle bei der Maus verzichtet und hab die Drehgeber reperiert und eingebaut.
Ups
Hatte vergessen mich anzumelden.
mfg Bastlwastl
Ich hab auch Infos gefunden, aber die wiedersprechen sich so in gewissen Dingen.
Werde einfach mal drauf los programmieren versuchen per Assembler und dann schon sehen was herauskommt. Wenns funktioniert werde ich es auf meiner Seite eben mal kurz aufführen. Aber nicht mit vielen Infos. Hauptsache es geht. Hab mir die Infos mal auf der engegebenen Seite angesehen. Sind eher die Grundlage, aber müsste gehen. Es gibt 2 Betriebsarten der Maus. Das steht dort nicht. Zudem ist ein Schreibfehler im Register 1 Bit 7. Das muss YV heisen, nicht XV
Lesezeichen