Moin! Ist dieses Projekt machbar? Die Idee ist, einen Spaceball 4000 (http://spacemice.org/index.php?title=Spaceball_4000) von seriell auf USB umzubauen. Das Projekt sollte nicht allzu hohen Aufwand erfordern; ich will es klar unter €50,- halten. (Es konkurriert mit einer Rabattaktion, aber ich hab mehr Spaß am Basteln als am Kaufen - http://www.spacecontrol.de/3d-maus-rabattaktion-100-euro-rabatt-beim-tausch-einer-alten-3d-maus.html) Weiter unten mehr Details der Hardware. Der Plan, weil keine Möglichkeit zur Platinenerstellung vorhanden: - Die vorhandene Platine soll weiter verwendet werden, wegen passender Form und vorhandenen Tastern, Steckern und Beeper. - Alter Mikrocontroller, EEPROM und anderes Zeug werden entfernt und durch einen neuen µC mit Zubehör ersetzt. - Die vorbestehenden Leiterbahnen werden entfernt oder zumindest unterbrochen; wo nötig werden neue Löcher gebohrt und das Ganze im Steckbrett-/Rattennest-Stil neu verkabelt. (Gottseidank verschwindet das alles dann in einem Gehäuse!) Die Kernfrage: Welcher Mikrokontroller kommt in Frage bei folgenden Anforderungen: - 13 x Eingang für Taster - 1 x Ausgang für Beeper - 5 x Ein/Ausgang für 6 LEDs (s.u.) - 1 x Eingang (evtl. plus 1 x Ausgang) für 6 parallel geschaltete LDRs ("LDR" ist Vermutung, s.u.) - 4 Pins für USB - Programmierbar, sich via USB als HID zu melden. - Für USB/HID bereits vorhandene Source zur direkten oder modifizierten Verwendung (um den USB-Teil zu schreiben fehlt mir die Kompetenz und der Aufwand würde zu hoch). - Programmierung direkt vom PC/Mac über USB, keine zusätzlichen Anschlußkabel, Docks, o.ä. notwendig - Billige oder kostenlose Programmierumgebung für Mac oder Linux. Zur Not steht auch ein virtualisiertes Windows zur Verfügung, aber das ist etwas hakelig und könnte Probleme beim Durchreichen des USB-Ports machen. Genial wäre etwas wie der BBC micro:bit (https://www.microbit.co.uk/device/pins), aber der hat zu wenige I/O-Pins. (Oder ich bin auf die ersten Inkompetenzbarriere gestoßen...). Und ob es fertigen USB/HID code gibt ist auch unklar. Preis wäre OK, und Weiterverwendung bei einem Scheitern des Projekts wäre ein Pluspunkt. Die Hardware des Spaceball 4000 verdient einen Kniefall für den Aufbau des Sensors! (Bild des Kerns: Michael Frey, Original und Lizenz unter https://commons.wikimedia.org/wiki/File:Spaceball_4000_FLX_-_Optical_Assembly.JPG) Es gibt 6 numerierte Module (Miniplatinen) die auf den Flächen eines zentralen Würfels angeordnet sind. Der Würfel hat an den Ecken nach außen ragende Haltedorne. In Einbaulage steht der Würfel auf einer Ecke, d.h., es liegen alle Module 45° zur Unterlage des Spaceballs. Hier wird eine Umrechnung auf normale Raumachsen notwendig werden, aber das kommt später... Jedes Modul hat eine LED, einen Schattengeber der federnd aus der Ruhelage gebogen werden kann und ein Sensormodul ohne Bezeichnung, ich vermute einen Photowiderstand (LDR). Es liegen sich am Würfel jeweils gegenüber die Module mit den Nummern 2 - 5, 3 - 6, 4 - 1. Die 6 Module sind flexibel mit Leiterbahnen verbunden. Das Bild zeigt diese als Abwicklung von der Würfelform. Alle LDRs sind parallel geschaltet (an Grün und Violett). An ihren Anschlüssen liegen 1807mV. Je 3 LED hängen an einem gemeinsamen Pol, daher für 6 LED nur 5 Anschlüsse: | Rot | Schwarz Blau | 6 | 5 Orange | 2 | 1 Gelb | 4 | 3 Jeder LED werden (mit billigem Multimeter gemessen) 118mV zur Verfügung gestellt. (Messung kann grob falsch sein wg. gepulster Ansteuerung? Um diesen Sensorkern liegt eine kugelförmige innere Schale in der die Haltedorne des Kernwürfels festgehalten werden so dass dieser dadurch mit dem Gehäusekörper fest verbunden ist. Diese Innenschale ist auf Michael Freys Bild abgeknipst (nicht zerstörungsfrei zu öffnen). Die Schale hat Aussparungen an den Stellen an denen die biegsamen Schattenwerfer nach außen ragen. Darum liegt die kugelförmige Außenschale, die nur durch die Schattenwerfer getragen wird. Wenn sie aus der Ruhelage bewegt wird biegt sie die Schattenwerfer aus den Lichtwegen LED-LDR. Da die LEDs nicht optisch getrennt sind gehe ich davon aus dass sie zyklisch leuchten und der LDR-Wert im selben Takt abgefragt wird. Auf der Platine liegen - 13 Taster und 1 Beeper - ein EEPROM - ein PIC16C66 04/SP - ein proprietärer(?) undokumentierter(?) schwarzer Käfer ("SPACETEC IMC ECLIPSE-1 0001") - viel Kleinzeug. Die Leitungen vom Sensor gehen alle zum ECLIPSE, drei Bahnen führen von diesem zum PIC16C66 (an dessen Pins RC2, RC4, RC7). Ich habe weder Kompetenz noch Geräte um diese Signale zu analysieren. Ein neuer Mikrokontroller müsste also folgende Aufgaben erfüllen: - die LEDs zyklisch ein/ausschalten, - die LDR-Werte in Phase dazu auslesen und ggf. normalisieren, - normalisierte Werte speichern, - gespeicherte Werte in Drehung u/o Verschiebung der Raumachsen umrechnen und - dies in USB-HID Signalen ausgeben. Was meint Ihr: Hab' ich was übersehen? Was brauche ich für einen µC und was kommt da in Kosten in etwa zusammen? Vorhanden sind Bastlergeist aber kein technisches Studium oder Ausbildung, Lötstation, Multimeter, Mac (bevorzugt), Linux (wenn muss), Windows (virtuell, möglichst zu vermeiden), Internet, Geduld und Darjeeling. Programmiererfahrung ist eher gering, aber man kann ja googeln und fragen. Trotzdem wären ein existierendes ähnliches Projekt zum Abkupfern ein groooßer Vorteil. :-)
Hallo, was übersehe ich hier? Das Teil hat doch scheinbare ine RS232-Schnittstelle als Anschluß, also USB-RS232-Adapter für 5 € dazwischen und fertig. Wie die Treibersoftware dazu aussieht muß doch ohnehin geklärt werden oder ist evtl. schon bekannt. Gruß aus Berlin Michael
Michael U. schrieb: > was übersehe ich hier? Das Teil hat doch scheinbare ine > RS232-Schnittstelle als Anschluß, also USB-RS232-Adapter für 5 € > dazwischen und fertig. Nein, leider nicht. Habs probiert. Auch in einschlägigen Foren ist so ziemlich jeder damit gescheitert, und der Hersteller deklariert es als inkompatibel. Bei den damals hohen Preisen müssten selbst teurere Adapterlösungen bekannt nachgefragt (und bekannt geworden) sein. Im seriellen Terminal mit so einem Adapter kommt zB: @1 Spaceball alive and well after a poweron reset. @2 Firmware version 2.42 created on 24-Oct-1997. KB@ .@` K@@ .@@ K@D .@D K@@ .@@ K@B Das ist die Einschaltsequenz, danach ist alles was mit "K" beginnt und 2 Zeilen lang ist ein Tastendruck oder -loslassen. Für die 3D-Sensorwerte bekomme ich überhaupt nichts, bei keiner Baudrate. > Wie die Treibersoftware dazu aussieht muß doch ohnehin geklärt werden > oder ist evtl. schon bekannt. Kein Support für aktuelle OS. Wäre mir aber bei USB-HID ziemlich egal, das kann ich dann selber belegen, zB am Mac mit USBOverdrive. Danke für's Mitdenken! RW
Richard W. schrieb: > - Für USB/HID bereits vorhandene Source zur direkten oder modifizierten > Verwendung (um den USB-Teil zu schreiben fehlt mir die Kompetenz und der > Aufwand würde zu hoch). So ganz ohne Einarbeitung in den USB-HID-Kram wird's wohl nicht gehen. Zumindest einen Report Descriptor wirst Du selbst schreiben müssen...
Wenn die Elektronik komplett ersetzt wird, könnte mit einem "MouseWarrior" möglicherweise was erreicht werden. Das ist ein mit HID-Code vorprogrammierter µC, mit dem sich mausartige Eingabegeräte konstruieren lassen. http://www.codemercs.com/de/maus
Rufus Τ. F. schrieb: > Wenn die Elektronik komplett ersetzt wird, könnte mit einem > "MouseWarrior" möglicherweise was erreicht werden. > > Das ist ein mit HID-Code vorprogrammierter µC, mit dem sich mausartige > Eingabegeräte konstruieren lassen. > > http://www.codemercs.com/de/maus Du weist aber schon, das es sich hier um eine Maus handelt, die 3 Rotations Achsen, 3 Translationsachsen und ein paar Knöpfe hat? Da kommt man mit einem Standard Maustreiber nicht weit. Ich vermute einmal dass da Softwareseitig unter anderem ein paar üble Dinge wie Low Level Zugriffe auf die Hardware gemacht wurde um über Pingewackle eine Art Kopierschutz zu erreichen. Und da wird der RS232 / UART Übersetzer aussteigen. Auch öfteres wechseln der Bautrate macht vielen RS232 / UART Übersetzern Probleme. Wenn man die 3D Maus weiterhin für's CAD weiterverwenden will, dann wird man nicht darum herum kommen die Originaltreiber zu verwenden. Oder man schreibt die Treiber komplett selbst. Wenn man daraus nur einen Joystick / Maus machen will, dann kann man natürlich den Krieger einsetzen.
Space ball protocol ist gut documentiert und normalerweise von Unix sowie mac nativ unterstützt. Also USB zu serial converter und fertig. Eventuell Protokoll mit Joystick Simulator deiner Wahl verheiraten.
^.^ schrieb: > Wenn man die 3D Maus weiterhin für's CAD weiterverwenden will, dann wird > man nicht darum herum kommen die Originaltreiber zu verwenden. > Oder man schreibt die Treiber komplett selbst. > > Wenn man daraus nur einen Joystick / Maus machen will, dann kann man > natürlich den Krieger einsetzen. Nur kurz, muß gleich weg: Anspruchsvolle Treiber für CAD oä sind nicht angepeilt - ich ziele nur auf ein einfaches HID mit 6 Freiheitsgraden ohne direkten Nutzeinsatz, der findet sich dann schon... Sehe gerade, die Teensies haben analog input (https://www.pjrc.com/teensy/adc.html), USB Raw HID (https://www.pjrc.com/teensy/rawhid.html), und erfüllen anscheinend die Anforderungen (hatte nicht die Zeit mich reinzulesen). Sogar Arduino-Kompatibilität -- da sollte es inspirierenden Code geben. :-) Was sagen Leute mit Erfahrung dazu? Gruß, RW
Für mein altes serielles Tablett habe ich ein Umschnurzel MC (Tiny85) mit V-USB als absolutem Pointer Device gemacht. Das meldet sich als Maus an, nur eben mit absoluten Koordinaten. Ob du eher ein Pointer/Digitizer oder einen Joystick emulieren willst, musst du dir noch aussuchen, ansonsten wird V-USB da das richtige sein - läuft auf fast jedem AVR. https://www.obdev.at/products/vusb/index.html Den original MC lässt du drinnen und baust nur den Umschnurzler.
Richard W. schrieb: > Sehe gerade, die Teensies haben analog input > (https://www.pjrc.com/teensy/adc.html), USB Raw HID > (https://www.pjrc.com/teensy/rawhid.html), und erfüllen anscheinend die > Anforderungen (hatte nicht die Zeit mich reinzulesen). Sogar > Arduino-Kompatibilität -- da sollte es inspirierenden Code geben. :-) > > Was sagen Leute mit Erfahrung dazu? /me hat mit einem alten Teensy (noch mit AT90USB162) einem Sidewinder 3D Pro USB beigebracht. Das war noch der mit dem Digitalprotokoll auf der (analogen) Joystick Schnittstelle. Mit serieller Schnittstelle (UART) dürfte das noch einfacher sein. Schau aber nach ob Du 5V brauchst. Einige moderne USB µCs sind nicht mehr 5V tolerant.
[Entschuldigt für die Nutzung von Google Translate ] Vielen Dank für meine Website in Ihrem ursprünglichen Post Referenzierung und für einen Spaceball zu zerlegen. Darf ich Ihre Bilder von der Optik auf meiner Website hinzufügen? Es ist ein Arduino Basis RS232 -> USB_HID Projekt bereits in existance und Code zur Verfügung steht. http://spacemice.org/index.php?title=Orbotron_9000 https://github.com/thingotron/orbotron_9000 Wenn dies Ihr Problem nicht lösen, ich hoffe, es hilft Ihnen in die richtige Richtung weisen. Glückliches Bastelei! --Tehrasha http://spacemice.org
Hi, Tehrasha, as your website is English I'll switch the language. Tehrasha schrieb: > [Entschuldigt für die Nutzung von Google Translate ] > Darf ich Ihre Bilder > von der Optik auf meiner Website hinzufügen? You may use my pictures on spacemice.org. Please note that the image of the optical assembly is not by me, you'll find the original at https://commons.wikimedia.org/wiki/File:Spaceball_4000_FLX_-_Optical_Assembly.JPG under a CC licencse. I have some more pictures but won't be able to upload them until Sat or Sun. The Orbotron 9000 looks like a great fallback option if my attempt should fail. Is it correct that it is currently sold out but a newer version, capable for ANY serial device is coming up? Greetings, RW
mh schrieb: > So ganz ohne Einarbeitung in den USB-HID-Kram wird's wohl nicht gehen. > Zumindest einen Report Descriptor wirst Du selbst schreiben müssen... Dann beiss ich wohl in diesen Apfel, wenn sich nix Vorgefertigtes findet. Rufus Τ. F. schrieb: > ...könnte mit einem "MouseWarrior" möglicherweise was erreicht werden. Habs mir angesehen; hat leider nicht genug Achsen für dieses Projekt, hab aber mal die Datenblätter gespeichert. Es gibt immer was zu tun... Pic T. schrieb: > ...USB zu serial converter und fertig. Erfahrung sagt: nein. Matthias S. schrieb: > Ob du eher ein Pointer/Digitizer oder einen Joystick emulieren willst, > musst du dir noch aussuchen, ansonsten wird V-USB da das richtige sein - > läuft auf fast jedem AVR. Werde mich mal einlesen. Jim M. schrieb: > /me hat mit einem alten Teensy (noch mit AT90USB162) einem Sidewinder 3D > Pro USB beigebracht. Das war noch der mit dem Digitalprotokoll auf der > (analogen) Joystick Schnittstelle. > > Mit serieller Schnittstelle (UART) dürfte das noch einfacher sein. Schau > aber nach ob Du 5V brauchst. Einige moderne USB µCs sind nicht mehr 5V > tolerant. Das klingt sehr ermutigend. :-) Danke an Euch alle für die Tips! RW
Korrektur zum OP: Die vermuteten LDRs sind Photodioden. Schade dass sich das oben nicht mehr editieren lässt. @Tehrasha Here are some more pictures. You may use them on spacemice.org. RW
> Und da wird der RS232 / UART Übersetzer aussteigen.
Ich denke ja auch das es wesentlich weniger Arbeit ist der Frage nach zu
gehen wieso USB/RS232-Adapter nicht funktionieren.
Wenn ich mal raten darf dann wuerde ich sagen das Teil hat kein eigenes
Netzteil und versorgt sich aus den Steuerleitungen einer RS232. Und da
haben die USB/Adapter halt nur +/-6V oder weniger und ein alter PC hatte
dort +/-12V und konnte vermutlich auch mehr Strom liefern.
Olaf
Olaf schrieb: > Ich denke ja auch das es wesentlich weniger Arbeit ist der Frage nach zu > gehen wieso USB/RS232-Adapter nicht funktionieren. Kann ich nur nicht-technisch einschätzen: Nach so langer Zeit (Supportende 2006) für ein Ding mit anfänglichem Preis von einigen Hundert USD) müßte doch irgendwo im WWW jemand seine Erfolgsmethode gepostet haben. Das muss aufwändiger sein. Das einzige kommerzielle Adapterprodukt braucht schon einen Arduino Leonardo. > Wenn ich mal raten darf dann wuerde ich sagen das Teil hat kein eigenes > Netzteil und versorgt sich aus den Steuerleitungen einer RS232. Und da > haben die USB/Adapter halt nur +/-6V oder weniger und ein alter PC hatte > dort +/-12V und konnte vermutlich auch mehr Strom liefern. Orbotron und OrbShield kommen ohne zusätzliche Spannungsquelle aus. http://orbduino.sourceforge.net/building.html#inventory http://spacemice.org/index.php?title=Orbotron_9000 Ich probier das jetzt selber. Besonders wo es a) was zu lernen gibt und b) für Arduino und Kompatible schon so leicht gemacht wird: "I've extended the joystick firmware to present a much larger joystick to the host PC. The new firmware has: 8 analog axis supporting values from -32768 to 32767. 40 buttons This should be handy for building large control systems like the flight controls for a flight simulator, Firefly console, Viper console, or other large control system." (http://hunt.net.nz/users/darran/weblog/15f92/Arduino_UNO_Big_Joystick_HID_firmware.html) Damit wird der Aufwand doch schon überschaubar. HID descriptor ist auch schon drin. Ein schönes Wochenende! RW
> Das einzige kommerzielle Adapterprodukt braucht schon einen Arduino
Kommerzielles Produkt und Arduino in einem Satz.
Das jetzt zu kommentieren spar ich mir mal.
Mario & Luigi schrieb: > Kommerzielles Produkt und Arduino in einem Satz. > > Das jetzt zu kommentieren spar ich mir mal. Troll. https://www.arduino.cc/en/Main/FAQ
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.