Hello, Guest the thread was viewed2.5k times and contains 18 replies

last post from Shadow-aSc at the

neue Hardware: Joystick Reanimator

  • Moin,


    ich möchte Euch mein neues OpenSource-Hardware-Projekt vorstellen, den ...

    Joystick Reanimator - Releasedate: 24.02.2024


    Vorwort

    ---------

    In über 25-jähriger Tätigkeit als Servicetechniker kam es immer mal wieder vor, dass ich bei der Fehlersuche Mikroschalter hatte,

    welche nicht mehr richtig durch schalteten. Dieses Problem hatten ganz besonders solche Schalter, welche in ihrer Funktion extrem niedrige Ströme schalten mussten.

    Da viele Mikroschalter an den Kontaktflächen versilberte Kontakte besitzen, kann es unter ungünstigen Betriebs- und/oder Lagerbedingungen vorkommen,

    dass diese versilberten Oberflächen der Schaltkontakte anlaufen / oxidieren und es dadurch zu relativ großen Übergangswiderständen bei geschlossenen Kontakten kommen kann, obwohl der Schalter mechanisch völlig normal schaltet.

    Diese Übergangswiderstände sind durch einfache ohmsche Messungen mit einem Standard-Multimeter messbar. Mikroschalter, welche etwas höhere Ströme im Betrieb schalten müssen,

    haben das Problem durch den minimalen Lichtbogen beim Schaltvorgang nicht, denn der kleine Lichtbogen reinigt quasi die oxidierten Schaltkontakte

    bei jedem Schaltvorgang.



    Beschreibung

    --------------

    Der "Joystick-Reanimator" wurde entwickelt, um Joysticks mit Mikroschaltern, die durch eine Oxid Schicht an den Schaltkontakten nicht mehr richtig funktionieren,

    einfach und mit sehr wenig Aufwand wieder zu reanimieren. Um Dies zu erreichen, wird durch einen aufgeladenen Kondensator an den im Mikroschalter befindlichen

    Schaltkontakten ein sehr kleiner Lichtbogen erzeugt, welcher dann die Oxid Schicht teilweise oder ganz auflöst und der Mikroschalter wieder sauber durchschaltet.

    Weiterhin sind auch 4mm - Messbuchsen vorhanden um den Widerstand der geschlossenen Schaltkontakte vor und nach der Prozedur messen zu können.

    Ein Idealer Schalter hat 0 Ohm im geschlossenen Zustand und einen unendlich großen Widerstand im geöffneten Zustand.

    Da die dünnen Leitungen im Joystickkabel ca. 1-2 Ohm Widerstand haben, ist der ideale messbare Wert bei geschlossenem Schalter 1-2 Ohm.

    Die Praxis hat gezeigt, dass selbst Widerstandswerte 50 Ohm den Joystick am C64 zuverlässig arbeiten lassen, da die CIA-Eingänge hochohmig sind.

    Ziel ist es jedoch, durch die Prozedur mit dem Joystick-Reanimator den Widerstandswert der Mikroschalter so gering wie möglich zu bekommen.



    Benutzung

    --------------

    die schnelle Nummer:

    1. schalte den Joystick ggf. auf Commodore/ATARI-Mode (falls der Joystick auch CPC o.ä. unterstützen sollte)

    2. schalte am Joystick ein eventuell vorhandenes Dauerfeuer AUS

    3. stecke den Joystick in den Stecker vom "Joystick-Reanimator"

    4. versorge den "Joystick-Reanimator" mit Strom mittels eines Mini-USB-Kabel's welches an ein Gerät oder Netzteil mit USB-Anschluss angeschlossen ist (es wird nur ein kleiner Strom von max. 350 mA aus dem USB-Port benötigt)

    5. betätige nun jede Richtung und den Feuerknopf einzeln nacheinander für jeweils [1 Sekunde EIN] und für [3 Sekunden AUS]

    6. wiederhole Punkt 5 drei bis fünf mal

    7. entferne das USB-Kabel vom "Joystick-Reanimator"

    8. betätige den Joystick noch einmal kurz in alle Richungen um den Kondensator zu entladen

    9. teste den Joystick am C64 / AMIGA / ATARI


    oder


    Benutzung mit einem Multimeter für "vorher/nachher"-Tests:

    1. schalte den Joystick ggf. auf Commodore/ATARI-Mode (falls der Joystick auch CPC o.ä. unterstützen sollte)

    2. schalte am Joystick ein eventuell vorhandenes Dauerfeuer AUS

    3. stecke den Joystick in den Stecker vom "Joystick-Reanimator"

    4. stecke ein Multimeter (Mode: Widerstandsmessung) an die beiden Messbuchsen vom "Joystick-Reanimator"

    5. betätige nun jede Richtung und den Feuerknopf einzeln nacheinander und schreibe Dir die Widerstandswerte der einzelnen Schalter auf

    6. schalte danach das Multimeter in den Mode: Spannungsmessung 20V

    7. versorge den "Joystick-Reanimator" mit Strom mittels eines Mini-USB-Kabel's welches an ein Gerät oder Netzteil mit USB-Anschluss angeschlossen ist

    8. betätige nun jede Richtung und den Feuerknopf einzeln nacheinander für jeweils [1 Sekunde EIN] und für [3 Sekunden AUS]

    9. wiederhole Punkt 8 drei bis fünf mal

    10. entferne das USB-Kabel vom "Joystick-Reanimator"

    11. betätige den Joystick in alle Richtungen um den Kondensator zu entladen (Spannung auf dem Multimeter < 0,5V)

    12. schalte das Multimeter in den Mode: Widerstandsmessung

    13. messe nun den Widerstand jedes Schalters bei Betätigung und vergleiche die Werte mit den Werten von Punkt 5

    14. teste den Joystick am C64 / ATARI



    Einschränkungen

    -----------------

    Der "Joystick-Reanimator" funktioniert nur bei Joysticks mit Mikroschaltern, welche direkt gegen GND schalten.

    Zum Beispiel der Competition Pro mit den kleinen dreieckigen Dauerfeuertasten schaltet seine Mikroschalter über 150 Ohm-Widerstände gegen GND.

    Hier ist der "Joystick-Reanimator" wirkungslos, genau so wie bei Joysticks mit Gummikontakten oder andere Joysticks ohne Mikroschalter.



    Fertigung

    -----------

    Die Gerber- und KiCAD-Files liegen im Verzeichnis ./kicad

    Mit diesen Daten lassen sich bei allen PCB-Produzenten Leiterplatten in Auftrag geben.


    Die empfohlene Bestückungsreihenfolge ist:

    1. Widerstände R1-R3 - jeweils 56 Ohm/1W

    2. Mini-USB-Buchse

    3. SUB-D - Stecker

    4. zwei 4mm - Messbuchsen

    5. Elektrolyt-Kondensator 4700/16V (Polarität beim Einbau beachten !)



    Stückliste

    ------------

    ____________________________________________________________________________________

    Stückzahl Typ Wert Gehäuse

    ------------------------------------------------------------------------------------

    1 SUB-D Stecker 9polig US-Norm, gewinkelt

    1 Leiterplattenbuchse 4mm, rot PB 4 RT

    1 Leiterplattenbuchse 4mm, schwarz PB 4 SW

    1 Elko 4.700µF/16V axial

    3 Widerstand 56Ohm/1W 0207

    1 USB-Einbaubuchse B-Mini Printmontage, gewinkelt

    ____________________________________________________________________________________

    Alle benötigten Teile zum Bau von 1 Baugruppe sind auch über diesen öffentlichen Warenkorb abrufbar:

    https://www.reichelt.de/my/2109638



    Viel Spaß beim Löten und beim "Joystick reanimieren" :-)

  • Huhu,


    wir vom ACH haben mit dem Joystick Reanimator schon einige Joysticks wieder flott gemacht. Das Teil funktioniert einfach und macht was es soll.


    Einfach anschließen, frei brennen und sich freuen den Joystick zum reinigen der Kontakte nicht auseinander schrauben zu müssen. Das spart enorm Zeit.

    □▢□ Apple Mac Mini • MacBook Pro • Power Mac G4 MDD □▢□ Atari 2600 • 7800 • 800 XL • 1040 STE □▢□ Commodore A500 • A600 • A1200 • A2000 • B500 • VC20 • C16 • Plus4 • C64 • C128 • SX-64 □▢□ Gigatron TTL □▢□ HYPERKIN RetroN 1 • RetroN 77 • RetroN Sq □▢□ Individual Computers C64RMK1 • C64RMK2 • TC64V1 □▢□ mega65.org MEGA65 □▢□ MiST □▢□ MiSTer □▢□ N-GO Spectrum NEXT Clone □▢□ Nintendo NES • NES Classic Mini • SNES • SNES Classic Mini • N64 • Wii • Wii U • SWITCH • GAME BOY • GAME BOY Color • GAME BOY ADVANCE • NDS • 3DS □▢□ Olimex Duinomite-Mega □▢□ Philips VG 8020 □▢□ Retro Games Ltd. TheA500 Mini • TheC64 Mini • TheC64 Maxi □▢□ Sega Master System • Mega Drive • Game Gear □▢□ Sharp PC-1500 • PC-E500 □▢□ Sinclair ZX Spectrum 128K □▢□ Sony PlayStation • PS1 Mini • PS2 • PS3 • PS4 • PSP • PS VITA • PS VITA TV □▢□ Texas Instruments TI99/4A □▢□ toy:lobster C64D2TV □▢□ VTech VZ200 • IQ TV 512 • Laser 210 • 310 • 500 □▢□ ZX-Uno XL □▢□

  • Dieses Problem hatten ganz besonders solche Schalter, welche in ihrer Funktion extrem niedrige Ströme schalten mussten.

    Da viele Mikroschalter an den Kontaktflächen versilberte Kontakte besitzen, kann es unter ungünstigen Betriebs- und/oder Lagerbedingungen vorkommen,

    dass diese versilberten Oberflächen der Schaltkontakte anlaufen / oxidieren und es dadurch zu relativ großen Übergangswiderständen bei geschlossenen Kontakten kommen kann, obwohl der Schalter mechanisch völlig normal schaltet.

    Darum gibt es z.b. im automotive-Bereich eine Design-Anforderung mit einem definitierten "Kontaktreinigungsstrom" zu arbeiten, meist um die 10mA, aber abhängig vom OEM und natürlich auch den verwendeten Tastern/Schaltern.


    Oxidschichten verhalten sich oft wie Halbleiter, d.h. wird es zum Glücksspiel, ob es geht oder nicht...


    Das Problem war auch 1980 schon bekannt, geplante Obsoleszenz nannte man das damals zwar noch nicht, aber letztlich läufts auch drauf raus, darum halten die ja auch alle mechanisch nix aus, hätte man auch anders machen können, aber schlecht für den weiteren Umsatz nach Marktsättigung...



    Wer macht eine Kleine PCB und eine Sammelbestellung? :anonym

    der hier:

    ich möchte Euch mein neues OpenSource-Hardware-Projekt vorstellen, den ...

    Joystick Reanimator - Releasedate: 24.02.2024

    Gerber-Datei ist ja im Original schon verlinkt...



    zum Thema: ungeeignete Joysticks durch eingebaute 150 Ohm-Widerstände und andere Marotten (elektronisches Dauerfeuer, umschaltbare Schaltmatrix etc):


    Grundsätzlich geht das auch OHNE den Kondensator, aber dauert eben länger (sprich man muss dann etwas öfter drücken, bis die Reinigung klappt).


    Nimmt man anstelle der 56 Ohm-Widerstände dann noch PTCs (die aber nur eine begrenzte Haltbarkeit haben, werden mit jeder Auslösung höherohmiger im Betrieb danach)

    dann verhindert man auch harte Kurzschlüsse.


    Mit einer elektronischen Stromlimitierung auf z.b. 10mA könnte man auch die Spannung gefahrlos erhöhen:

    10mA halten i.d.R. auch für niedrigere Spannung konzipierte ICs aus, ABER natürlich im Schutzkleinspannungsbereich bleibend (d.h. 12V, max 25V DC)

  • DA ist mir doch grad eine Idee gekommen:


    An den Control-Ports liegt ja auch 5V (max 100mA) an:


    Man könnte eine kleine PCB machen oder die bestehenden Umschalter/4-Joystick-Erweiterungen/Schutzbeschaltungen so erweitern, das diese die Joysticks mit eben kleineren Vorwiderständen (oder eben elektronischer Strombegrenzung auf 10mA je Leitung) betreiben und dieses Schaltsignal gibt man dann via HEF/MC4066 oder ähnlichen Analogschaltern auf die eigentlichen Joystickeingänge oder gar "hart" digital über 74LS06 oder ähnliche Open-Collector/Drain Ausgänge.


    Damit verhindert man bei einigermaßen regelmäßiger Nutzung eine Korrosion der Kontakte dann zuverlässig. Gegen bestehende Korrosion oder bei nur sehr sporadischer Nutzung wäre das aber vermutlich nicht genug, respektive braucht es eben einige Betätigungen, bis der Effekt dann eintritt.


    Ich weiß aus dem Stehgreif nicht, ob da beim C64 (mit seiner auch dort trickreichen Mehrfachnutzung und den CIAs) was gegen digitale Ansteuerung sprechen könnte, aber Autofire arbeiteten von jeher meist auch direkt elektronisch angebunden).


    Zum einmal inital "aktiv" freibrennen müsste man dann den Strom schaltbar erhöhen oder gar nen Elko *) zuschalten (das wäre dann so das ultimative Extra an so nem Adapter/Umschalter oder 4 Player-Teil für den Userport (dort ja sogar mit 9V AC verfügbar)


    *) dessen ESR dabei übrigens mehr Einfluss hat als seine schiere Kapazität, ein 47µF als X7R SMD-Kerko in 2010 package dürfte es genauso tun wie der 100x größere Elko!

  • Das ZIP auf der CSDB Seite hat bei mir nur 190 Bytes und enthält nur ein leeres Directory.

    sorry, -trb- hat mich schon darauf hingewiesen, habs auf der csdb gefixed.


    Darum gibt es z.b. im automotive-Bereich eine Design-Anforderung mit einem definitierten "Kontaktreinigungsstrom" zu arbeiten, meist um die 10mA, aber abhängig vom OEM und natürlich auch den verwendeten Tastern/Schaltern.

    davon wusste ich bisher nichts. ich habe einfach nachgedacht und 1+1 zusammengezählt und es dann einfach gemacht und letztendlich funzt es prima.

    Man kann jetzt alles Mögliche drum herum bauen und "Wurstblinker" mit anbauen - ich hab's so günstig und einfach wie möglich gemacht, dass es mir als Werkzeug dient - nicht mehr, nicht weniger !

  • Man kann jetzt alles Mögliche drum herum bauen und "Wurstblinker" mit anbauen - ich hab's so günstig und einfach wie möglich gemacht, dass es mir als Werkzeug dient - nicht mehr, nicht weniger !

    Man muss unterscheiden vom "regenerieren" bereits oxidierter Joysticks, da ist Deine Lösung sehr gut, aber wenn man es für die Zukunft VERHINDERN will, dann wäre eine Umrüstung oder ein Neubau eines entspr. Adapters für die CP1/2 resp. 4Player-UP Lösungen sicher eine gute Sache, denn damit erledigt man zwei Probleme auf einmal dann: Die Beschädigungsgefahr der CIAs (allein schon durch die indirekte Betätigung über Open Collector) durch ESD oder auch Controller wie Genesis oder Mega, die intern Push-Pull-ausgänge haben, als auch eben man die joysticks bei Benutzung quasi ständig "kontaktreinigt", mehr als das durch die rein mechanische Betätigung möglich wäre (Bei den winzigen Strömen, die über die C64&co. internen Pullups fließen...)

  • Ruudi : alles viel Theorie und alles richtig was Du sagst.

    Ich frage mich, warum Du sowas noch nicht schon vor 20 Jahren gemacht hast ?


    Theorie ist immer geil, etwas Benutzbares was funktioniert finde ich persönlich aber schon bisschen geiler, darum hab ich das mal umgesetzt ;)

  • Ich frage mich, warum Du sowas noch nicht schon vor 20 Jahren gemacht hast ?

    4 Kinder, Hausbau, Arbeitsverhältnis ganztags, reicht das?



    Ansonsten noch: meine historischen und bis HEUTE funktionstüchtigen QS-II haben KEINE Microswitches, brauchte es aber auch nicht, weil ich noch zu der Generation gehöre, die gelernt hat auf ihre Sachen aufzupassen....

  • 4 Kinder, Hausbau, Arbeitsverhältnis ganztags, reicht das?

    Als Ausrede? Ja.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Gestern aufgebaut und heute meinen "Competition Pro" von damalsTM wiederbelebt. Scheint wirklich gut zu funktionieren soweit! :thumbup:


    Ich habe mich an vorher/nachher Messungen versucht, aber zumindest mit meinem einfachen Multimeter war es nicht leicht, saubere Werte abzulesen. Ich vermute, das Teil lässt sich vom Elko in der Schaltung irritieren. :nixwiss:


    Und ich habe auf die Schnelle mal ein geschlossene Bodenplatte für das Projekt gezeichnet und gedruckt. Kein vollständiges Gehäuse, das brauche ich hierfür nicht, mehr eine Art "Tischschoner":



    STL anbei, falls jemand Interesse hat.

  • Und ich habe auf die Schnelle mal ein geschlossene Bodenplatte für das Projekt gezeichnet

    Ich möchte noch betonen, dass das vor allem auch deshalb einfach und schnell ging, weil GI-Joe keine Geheimniskrämerei betrieben, sondern gleich das KiCAD-Projekt mit veröffentlicht hat. Dank und Daumen hoch dafür! :thumbup:


    So konnte ich rasch einen Export der Platine im STEP Format machen, den im Fusion 360 importieren und danach das "Gehäuse" zeichnen, ohne irgendwas messen zu müssen.