Projekt: Sega Saturn Wireless Controller mit Funk statt Infrarot

    • Projekt: Sega Saturn Wireless Controller mit Funk statt Infrarot

      Nach meinem ultimativen Saturn Mod (siehe Link in Signatur) habe ich seit Jahren den Wunsch nach einem Wireless Funk (kein Infrarot!) Controller von Sega, möglichst in Erstausrüsterqualität, also ein orginal Sega Pad und kein 3rd Party Produkt.

      Nachdem nun eine Petition fehlschlug und ein möglicher Hersteller (Messiah) konkurs ist, ist ein offizieller Release hinfällig geworden :(
      Also muss ich selbst ran, Helfer sind natürlich willkommen.

      Den Ursprunsgedanken, ein Standard Controller auf Wireless umzurüsten muss ich wohl wegen des hohen Aufwandes aufgeben, also den nächst einfachen Weg:

      Die orginal Sega Infrarot Wireless Controller umrüsten, technisch relativ einfach zu realisieren, allerdings schwierig aufzutreiben.

      Da ich noch nicht im Besitz eines Wireless Infrarot Saturn Pads bin (und somit noch nicht starten kann) suche ich seit kurzem eben dieses, also potentielle Verkäufer bitte PN!

      Der Umbau von IR zu Funk könnte sogar ganz einfach werden, anstatt der IRED einfach die Funkmodule anlöten:

      Möglichkeit 1:

      35cm Band:
      Sendemodul fürs Pad:
      elv.de/output/controller.aspx…bereich=&marke=

      Empfänger für die Basis:
      elv.de/output/controller.aspx…bereich=&marke=

      Vorteil:

      -sehr einfache Montage in das Sega Pad und in die Basis

      Nachteile:

      -teuer, Sender und Empfänger kommen mit Versand auf EUR 33,72!
      -nur für max. 36 Sekunden Sendezeit pro Stunde zugelassen (also eigentlich nicht einsetzbar für diesen Zweck)
      -nur 1 Pad umbaubar, da Kanal nicht eingestellt werden kann
      -Reichweite überdimmensioniert, 300m sind nicht notwendig

      Möglichkeit 2:

      70cm Band:
      Sender und Empfänger:
      conrad.de/ce/de/product/130428…EMPFAeNGERMODULSET-433MHZ

      Vorteile:

      -Reichweite mit bis zu 30m ok
      -günstiger als die ELV Version
      -einfacher Einbau
      -nicht eingeschränkt in der Nutzung

      Nachteil:

      -wiederum keine Frequenzeinstellung für beide Pads (eventuell aber modifizierbar)

      Möglichkeit 3:

      Als günstige Alternative sind mir gerade diese mini RC Autos in den Sinn gekommen,muss mir mal eins holen und zerlegen.
      Die wären günstiger und von der Reichweite auch praktischer.
      Ausserdem gibts es auch Modelle mit einstellbaren Känälen um 2 Autos gleichzeitig zu steuern, also ideal für die 2 Sega Pads.

      Jede Anregung, Hilfestellung etc. sind willkommen!

      Wenn das Projekt erfolgreich beendet wird ist eine Modifikation für interessierte User denkbar, im Idealfall sollte sogar eine Umbauanleitung für User mit Löterfahrung reichen.

      The post was edited 4 times, last by Turbo-T ().

    • Finde das ist ein sehr interessantes Vorhaben, an den Luxus von Funk-Controllern hat man sich in Zeiten von PS3 / 360 ja wirklich gewöhnt und möchte es eigentlich kaum mehr missen. Allerdings ists halt doch ein wohl recht teurer Spaß, wenn du alleine für die Teile 33 Euro hinlegen musst. Rechnet man jetzt noch den Preis für die Infrarot Controller (so es denn funktioniert) dazu, kommt man schon auf ein stolzes Sümmchen. Trotzdem drück ich dir die Daumen - poste doch mal Fortschritte, sobald du was neues zu berichten weisst ;)

      (theoretisch, wenn du den Dreh raus hast, müsste sich das ja auch für andere Konsolen mit Infrarot-Controllern umsetzen lassen...Mega Drive? :whistling: )
      neXGam, i'm your mother!
    • Ja, so ein Projekt hatte ich auch mal geplant.
      Ich empfehle dir mal die Seite von Mark Feldmann anzuschauen: [url]http://www.ppl-pilot.com/index.htm[/url]

      Ich persönlich würde nicht versuchen, die Infrarot Pads umzubauen. Wie du siehst, passen auch in normale Standard Controller Ipod Akku+Ladeelektronik+Mikrocontroller+Funksender rein. Das Handling dürfte dadurch auch besser sein.

      Ich selbst habe 2 jap. Funkcontroller. Sie liegen nicht schlecht in der Hand, aber sie sind deutlich dicker und im Eifer des Gefechts können sich die Batteriedeckel sehr leicht lösen.
    • Hab mir die Seite angesehen und das macht schon lust auf mehr.

      Allerdings hab ich beim Saturn Pad wohl Probleme, da da drinn 2 Multiplexer verbaut sind, die jeweils 2 Ausgänge (gesamt also 4) haben.
      Somit könnte ich theoretisch noch einen Multiplexer (4to1) einbauen, der aus den 4 Datenleitungen einen macht, allerdings benötige ich ja auch das Schaltsignal für diese Multiplexer, und das kommt vom Saturn und dann müsste die Funkverbindung doch bi-direktional sein.

      Habe ich das richtig verstanden, kann da jemand weiterhelfen?

      Schaltbild des Sega Saturn Pads:
    • Also das Sender/Empfänger-Set von Conrad für 15€ , das du gepostet hast, finde ich ziemlich interessant und das würde ich benutzen.

      So oder so werden die Daten seriell über Funk übertragen, also mit Multiplexer ist nichts anzufangen. Du brauchst auf jeden Fall sowohl im Controller, als auch in der Empfangseinheit einen Microcontroller, der die Signale verarbeitet.

      In der Empfangseinheit selbst musst du wieder den Saturn Controller nachbilden, also bspw. mit den zwei 74153 Multiplexern. Das Diagramm stimmt übrigens, ich habe auf die Weise schon 2 Saturn Adapter gebastelt. Nur die Nummerierung am 9 pol. Saturn Stecker stimmt nicht ganz, wenn ich's noch recht weiß.
    • Hm, also müßte ich am Saturn Controller vor den 2 Multiplexern auf einen Prozessor gehen, der die Signale in einen Datenstrom (seriell) wandelt.
      Dann einen Empfänger bauen, der ebenfalls einen Prozessor beinhaltet, der das serielle Signal wieder in die 13 Einzelbefehle wandelt.

      Das ist ein sehr hoher Aufwand und leider kenn ich mich überhaupt nicht mit PIC Programmierung aus.

      Der einfachste Weg wird wohl doch über die Infrarot Controller gehen.
      Die Conrad Lösung gefällt mir auch super, allerdings möchte ich gerne beide Controller umbauen,und dafür brauche ich 2 Frequenzen bzw. 2 Kanäle.
      Den Sender könnte ich verstellen, da ich einen Spektrum Analyzer in der Arbeit habe, allerdings weiß ich nicht wie ich den Empfänger abgleichen könnte...

      Kennst du dich mit mit der Materie aus?
      Hast du wirklich 2 jap. Funkcontroller oder hast du dich verschrieben und Infrarot Controller gemeint?
    • Oh, ja, ich hab ich verschrieben, ich meinte natürlich jap. Infrarot Controller. :D

      Ich denke ohne einen Microcontroller geht da gar nix. Ich glaube nämlich nicht, dass du einfach statt der IR Diode das Funkmodul anlöten kannst und gut ist.

      Im Datenblatt des Conrad Sender-/Empfängersets steht auch bspw., dass das Eingangssignal im Manchester Code vorliegen muss. Ich bin mir jetzt nicht ganz sicher, aber ich denke, dass die Infrarotgeschichte anders codiert ist. Da musst du dann echt mit dem Microcontroller die Buttons im Pad abfragen und diese Daten unter Berücksichtigung des richtigen Taktes im Manchester Code an das Funkmodul füttern.

      Bei pollin.de gibt es auch einige sehr günstige Funkmodule. Bei diesen kann man auch eine Frequenzabweichung festlegen, so lassen sich denke ich auch 2 oder mehr Module gleichzeitig benutzen. Aber für die brauchst du erst Recht einen Microcontroller.
    • Sodele, es ließ mir keine Ruhe. Ich habe mir zwischenzeitlich dieses Conrad Set für 15€ gekauft.






      Ich habe Programme für meine AVR Microcontroller geschrieben, aber es ist wirklich nicht soooo einfach Sender & Empfänger zum Laufen zu bringen. Das Schwierigste daran ist, dass der Microcontroller mit dem Empfänger den Anfang der Übertragung erkennt. Außerdem muss man schauen, dass man Störungen rausfiltert und das Empfangene auf Fehler überprüft. Wie befürchtet muss alles, was man dem Sender füttert, im Manchester Code sein.
      Jedenfalls habe ich es zum Laufen gebracht, die Konstruktion sieht noch sehr abenteuerlich aus:





      Aber es läuft stabil und ohne Lags, hab mit Guile in SF2 Turbo schon fleißig Flash Kicks verteilt.
      Der Pad läuft auch bereits schon von 3,7V Akku :)

      Der nächste Schritt ist das alles schön in das Controller Gehäuse zu packen. Außerdem muss ich noch den Schaltkreis für das Aufladen per USB Kabel bauen.
      Wenn Interesse da ist, könnte ich Tutorial-mäßig Bilder vom Zusammenbau posten, evtl. auch den Code für die Microcontroller hochladen.

      The post was edited 1 time, last by micro smile ().

    • Respekt!
      Hab auf jeden Fall interesse daran und werde deinen Mod auch einsetzen, bis ich die Infrarotteile zu einem vernünftigen Preis bekomme gefriert die Hölle zu!

      Scheinst ja recht fit zu sein mit Elektronik, was machst du denn beruflich?
      Ich bin Radio- und Fernsehtechniker, mittlerweile aber als Industrieelktroniker tätig ;)

      Das Funkmodul ist aber im Kanal nicht verstellbar, oder?
      Mit Prozessorcodes und Compilern kenne ich mich nicht so gut aus, kann ich dein File (.hex?) mit einem GalepIV brennen und welchen Prozessor muss ich verwenden? Oder ich bestelle bei dir.

      Das Nonplusultra wäre natürlich, alle 10 Controller zeitgleich einsetzen zu können (Saturn Bomberman Partys ;) ).
      Wäre es mit dem Manchester Code möglich, eine Art Netzkennung zu programmieren mit deinem Prozessor um mehrere Pads zeitgleich zu nutzen?

      USB Ladeschaltung ist ja super, eine Low Power Led wäre auch gut, muss mal ne Schaltung ausdenken.
    • Die Bastelei mit den Microcontrollern ist reines Hobby :D

      Ich würde die Infrarot Pads eh gleich abschreiben. Denn ein großer Minuspunkt wäre, dass die nur 2 Mignon Zellen aufnehmen. Würdest du da normale Batterien verwenden, hättest du glatte 3,0V zur Verfügung. Bei Verwendung von NiMH Akkus dann nur noch gerade mal 2,4V. Das ist für Funkmodule eigentlich zu wenig. Mit einem 3,7V Lithium Akku bist du von der Spannung her auf der sicheren Seite.

      Ich verwende für den Sender einen ATtiny2313 und für den Empfänger (wahrscheinlich) einen ATMega8. Die kann man wohl mit einem Galep 4 brennen, aber ich hätte auch noch je 1 weiteres Exemplar übrig, falls du wirklich Interesse daran hast.

      Das Conrad Funkmodul Set ist mit einem Pad schon völlig ausgelastet. Der Sender hat nur eine Bandbreite von 2kHz. Und da man ihn mit Manchester Code füttern muss, bleibt gerade mal eine Übertragungsrate von 1000bits/s. Will man 60 mal pro Sekunde die 13 Saturn Buttons und bspw. 3 Startbits übertragen, dann sind das schon 960 bits. Da bleibt nicht mehr viel Luft :tooth:
      Für 2 oder gar 10 Pads dieser Bauart kann man diese Funkmodule also nicht nehmen; zumal sie sich auch überlagern und gegenseitig stören würden, so dass am Ende wahrscheinlich gar nichts mehr bei der Konsole ankommt.

      Ich habe aber noch andere Funkmodule entdeckt, die sehr vielversprechend sind. Und zwar die Easy Radio Module von LPRS:
      lprs.co.uk
      lprs.co.uk/product_info.php?cPath=21&products_id=28
      lprs.co.uk/product_info.php?cPath=21&products_id=54

      Die sind scheinbar echt super einfach zu bedienen. Man muss sie nur seriell mit Daten füttern und sie kümmern sich selbständig um die Modulierung. Außerdem kann man, wenn man will, viele Einstellungen vornehmen und auch aus 10 Kanälen wählen. So reicht dann auch 1 Empfänger für mehrere Sender. Und die Übertragunsgrate ist mit 19200baud auch viel, viel höher.
      Vielleicht baue ich für mein SNES in Zukunft mit diesen Dingern 2 Wireless Pads. Den Empfänger würde ich dann auch gleich in die Konsole bauen, damit's ordentlich aussieht :)

      Zurück zum Saturn Pad. Ich habe jetzt alle Komponenten im Pad verstaut, hier kommt die Foto Love Story:


      Damit man ihn per USB Kabel aufladen kann, bekommt der Saturn Controller eine Micro USB Buchse spendiert. Plus und Minus an Pin 1 und 5 anlöten, den Rest kann man abknipsen.


      An diesen 3 Seiten muss man minimal feilen, damit die Buchse rein passt.


      Die Pins nach hinten biegen, damit das Gebilde schön flach wird und mit Heißkleber befestigen.


      Sieht gut aus! 8)


      Für die USB-Lade Schaltung habe ich den Maxim 1811 verwendet. Infos dazu auf:
      grautier.com/grautier/index.ph…es/66-USB-LiPo-Lader.html
      ppl-pilot.com/nj.htm
      maxim-ic.com/quick_view2.cfm/qv_pk/2536
      Ihn gibt es aber nur im kleinen SOIC 8 Gehäuse, deshalb habe ich eine passende Platine geritzt (zum allerersten Mal, btw)


      So sieht die Ladeschaltung fertig bestückt aus.


      Ab damit in die Unterschale des Pads.


      Für die LEDs wollte ich eigentlich Montageringe verwenden, aber ohne sieht's auch schon sehr gut aus, also reicht es zwei 3mm Löcher zu bohren.


      Die gelbe LED zeigt an, ob der Akku geladen wird, und die rote LED leuchtet, wenn der Controller in Betrieb ist.


      Jaaa, sieht auch gut aus.


      Schauen wir uns mal die Oberschale an. Die Mitte ist eigentlich der einzige größere Freiraum, in den man einen Akku legen kann. Mit ca. 36mm x 36mm ist er aber wirklich nicht sehr groß. Die meisten Akkus sind mind. 40mm breit, deshalb habe ich mich nicht für den Ipod Mini Akku entschieden, sondern...


      ...für einen Ipod Shuffle Akku. Der hat aber nur eine Kapazität von 250mAh. Mal schauen, wie lange das Pad damit läuft.


      Das ist die Platine des Controllers im Originalzustand...


      ...und hier ist bereits das Kabel entfernt.


      Im Saturn Pad kommt ein ATtiny2313 Microcontroller zum Einsatz. Beinchen nach oben biegen und zurechtstutzen; Kondensator und Widerstand anlöten.


      Das ganze wird dann mit Heißkleber auf der Platine befestigt. Der Original Sega IC bleibt auf der Platine, denn...


      ...auf diese Weise kann man die Buttons mit nur 8 Drähten abfragen, anstatt mit 13. Pin Nr. 11 des Sega ICs wird allerdings nochmal direkt an den Microcontroller angeschlossen, das ist nämlich der A Knopf. Ich plane das Pad durch Drücken des A Knopfes anzuschalten.


      Das kleine grüne Blättchen links ist der Sender und der grüne Draht ist die Antenne. Ich musste für optimalen Empfang die Antenne aber noch um ein paar cm kürzen.
      Den Akku habe ich mit einem Stückchen Uhu Patafix Klebepad auf dem Microcontroller befestigt, so bekommt man ihn auch wieder los, wenn es sein muss.
      Jetzt muss man nur noch die Platine, dann die Unterschale zuklappen, verschrauben und...


      ...fertig ist das Pad. Sieht auch nicht viel anders aus als ein Standard Pad.


      Die rote LED kommt leider ziemlich gelb 'rüber auf den Fotos.


      Bei eingestecktem Micro-USB Kabel läd der Maxim 1811 den Akku auf. Wenn er fertig ist, schaltet er ab und die gelbe LED geht natürlich dann aus.

      So, das war's vorerst. Als nächstes ist der Empfänger an der Reihe. Da bin ich mir aber noch nicht sicher, ob ich ihn in ein kleines Gehäuse zum Einstecken in den Controllerport bauen soll oder gleich in den Saturn selbst, das wäre natürlich eleganter...

      The post was edited 1 time, last by micro smile ().

    • Danke für das Lob :thumbup:

      Mit diesen Sender-/Empfänger-Modulen wäre ein kabelloses N64 Pad nicht möglich. Da bräuchte man schon eins der besseren Easy Radio Module für die höhere Übertragungsrate. Und natürlich wäre auch der Aufwand das Programm für den Mikrocontroller zu schreiben höher. Aber generell ist das schon möglich.

      Den Umbau als Special zu veröffentlichen wäre denkbar, aber erst mal muss ich den Empfänger noch fertig bauen und dann muss man sehen, wie sich das Ding so schlägt, Thema Akkulaufzeit und so.

      Das mit dem Einschalten per A Knopf hat eigentlich funktioniert. Der Mikrocontroller ist nach 1min Inaktivität in den Power Down Zustand gegangen und hat die Energieversorgung für den Sega IC und das Sendemodul gekappt. Allerdings hat der Pad in diesem ausgeschalteten Zustand trotzdem sporadisch gefunkt, ganz komische Geschichte.
      Ich hab daraufhin gelesen, dass die seltsamsten Dinge passieren, wenn sich Microcontroller schlafen legen, da spinnen teilweise andere Komponenten noch rum, wie geladene Kondensatoren usw.
      Deshalb habe ich die Idee mit dem Auto Power-Off und Einschalten per A Knopf aufgegeben. Jetzt wird das Pad ganz normal per Schalter ein- und ausgeschaltet. Natürlich musste ich jetzt auch erst wieder ein Loch für den Schalter bohren:




      Da ich keinen Kippschalter parat hatte, habe ich kurzerhand den Schalter aus meinem Action Replay 3 geklaut. Der wird dann ersetzt, wenn ich irgendwann mal wieder bei Reichelt bestelle. Gut an dem Schalter ist der relativ kurze Hebel.
      Der Akku hat jetzt auch seinen neuen Platz in der Oberschale bekommen und nicht mehr auf der Platine.


      So sieht der ganze Aufbau in der definitiv endgültigen Version aus. Zuklappen und...


      ...es ist vollbracht! Dieses Mal wirklich :)

      Natürlich ist wichtig, dass man bei so einem kabellosen Pad schaut, dass der Energieverbrauch ziemlich niedrig ist. Die 2 verbauten LEDs sind Low Current LEDs, die nur 2mA an Strom verbrauchen (normale LEDS: 20 mA)
      Der Mikrocontroller läuft nur mit 128kHz! (üblicherweise 1 bis 8MHz) Das spart auch noch mal einiges an Strom. Dafür hab ich extra das Programm neu geschrieben, damit es mit 128kHz läuft.
      Eine Sache wäre vllt. noch zu erledigen; Momentan sendet der Pad 60 Mal in der Sekunde seine Daten an den Empfänger, so häufig wie ein normales Pad eben. Vielleicht wäre es besser, wenn er nur sendet, wenn sich was bei den Buttons getan hat. Aber wenn man die Buttons nur bei Veränderung einmal sendet, habe ich die Befürchtung, dass der Empfänger das evtl. nicht mitbekommt und dann bleiben Buttons hängen... Aber da wäre auf jeden Fall großes Einsparpotenzial, muss man mal schauen.

      Wegen den 2 Microcontrollern schick ich dir noch eine PM, Turbo-T.

      The post was edited 1 time, last by micro smile ().

    • Jungs, es gibt Neues von der Bastel-Front. Und zwar habe ich mich an den Bau des Empfängers gemacht.


      Zunächst galt es den Saturn-Stecker zu öffnen. Die beiden Hälften sind offenbar nur geklipst, aber sie halten recht fest zusammen. Am besten fährt man mit einem Teppichmesser in die Naht, danach kann man das Gehäuse mit 'nem Schraubenzieher aufhebeln.


      Sesam öffne dich! Der Stecker hat ringsum eine Nut, mit der kann man ihn sehr gut befestigen.


      Ich hab aus einem Reichelt Kleingehäuse ein Rechteck ausgeschnitten. Leider war da schon vorher ein rundes Loch drin, deswegen wurde das Loch im Endeffekt größer als eigentlich nötig. Damit's trotzdem bündig wird, habe ich noch dieses kleine Plättchen angefertigt.


      Den Stecker kann man dann ganz einfach in das Gehäuse einschieben, hält 1A!


      So sieht mein Aufbau des Empfängers aus. Links sieht man den eigentlichen Conrad-Empfänger. Er ist ca. 4 oder 5 mal so groß wie der Sender.
      In der Mitte thront der der Avr Microcontroller, der das Empfangene interpretiert und schließlich die Zustände der Buttons ausgibt, und zwar an die zwei 74HC153 Multiplexer auf der rechten Seite, Aufbau siehe Diagramm von Turbo T weiter oben gepostet.


      Alles passt recht bequem in das Gehäuse, also Klappe zu...


      ...schnell noch ein Cover hingeschludert und gut ist.

      Als nächstes muss sich der Wireless Controller im echten Einsatz bewähren. Deswegen hängt auch noch das Programmierkabel aus dem L-Trigger Loch heraus, damit ich den Microcontroller im Pad bei Bedarf schnell flashen kann. Der ist ja wie auf den ersten Bildern zu sehen ist fest auf die Pad-Platine geklebt.

      Weitere Infos folgen... :D

      The post was edited 1 time, last by micro smile ().

    • Ok, der Controller funzt soweit ganz gut. Das Gehäuse vom Empfänger habe ich noch mal umgestaltet, jetzt steht der Empfänger hochkant und nimmt weniger Platz weg.

      Ich habe mir auch die Mühe gemacht die Schaltungen zu zeichnen, bzw. malen trifft es eher ;)

      USB Ladeschaltung:


      Sendeschaltung:


      Empfängerschaltung:


      HEX Dateien zum Selberflashen:
      ul.to/jg2a27

      Und schließlich hab ich noch ein Video des Controllers auf Youtube hochgeladen ^^
      youtube.com/watch?v=I9fJ1Ltcez0