Cherry-Tastatur mit OLED – Teil 1

2

02.11.2017 von plaintron

Cherry CyMotion Master XPress

Vor etwa zehn Jahren habe ich mir eine Cherry-Tastatur gekauft. Das Modell heißt CyMotion Master XPress und ist eine recht normale und günstige Rubberdome-Tastatur mit ein paar Besonderheiten. Mir gefiel die Form gut und die insgesamt 28 Sondertasten wollte ich benutzen, um häuftig verwendete Programmierbefehle oder Programmfunktionen zu speichern. Das hat im Prinzip auch gut funktioniert, allerdings werden die Tastenmakros nicht im Tastatur-Controller gespeichert, sondern im PC. Ist dieser gerade intensiv mit anderen Aufgaben beschäftigt, kommt es zu Verzögerungen bei der Ausgabe. Ärgerlich ist hier etwa, dass die Komma-Taste im Ziffernblock auf diese Art arbeitet. Sie lässt sich zwischen „Punkt“ und „Komma“ umschalten, ganz praktisch eigentlich. Tippe ich schnell irgendwo Zahlen mit dem Ziffernblock ein, passiert es durchaus, dass das Komma an der falschen Stelle steht. Bei Online-Banking oder Excel-Berechnungen kann das zu sehr ärgerlichen Unfällen führen.

Also hatte ich schon lange den Plan, den Controller neu zu bauen und eine Hardware-Makrofunktion zu implementieren. Nun ergab es sich, dass diese Tastatur irgendwann einem Wasserschaden zum Opfer fiel und ich mir ein fast baugleiches Modell gekauft habe, weil ich Optik und Tastenanordnung immer noch überzeugend fand und bis heute finde.

Die Tastatur-Mechanik besteht aus drei Folien. Die obere und untere Folie sind mit aufgedruckten Leiterbahnen versehen, die mittlere Folie dient als Abstandhalter und ist entsprechend gelocht, so dass die Silikon-Knöpfe unter den einzelnen Tasten die beiden Kontaktfolien zusammenpressen können. Durch das eingedrungene Wasser waren die Leiterbahnen nun teilweise oxidiert und hochohmig. Mit Leitsilber ließ sich das aber leicht reparieren.

Aufbau der Tastatur analysieren

Nun ging es ans „reverse engineering“, ich musste also herausfinden, welcher Kontaktpunkt auf der Oberseite mit welchem Kontaktpunkt auf der Unterseite welchen Tastendruck erzeugt. Die beiden Folien bilden eine XY-Matrix, deren Struktur aber einem Cherry-eigenen System folgt, das sich nirgendwo nachlesen ließ. Also habe ich die Anschlüsse zwischen Folie und Controller durchnummeriert und die jeweilige Anschlussnummer zusammen mit der Tastenbezeichnung auf die Folie geschrieben.

Die fertige Matrix sieht nun so aus:

Arduino oder Teensy-Plattform?

Als neuen Controller habe ich einen Teensy++ 2.0 gewählt. Grundsätzlich hätte auch ein Leonardo-Klon funktioniert, allerdings hatte diese Idee ein paar Nachteile. Die Anzahl der IO-Ports genügt nicht für einen vollständigen Tastatur-Scan und das Board wird vom PC nicht beim Bootvorgang erkannt, lässt sich also nicht nutzen um Bios-Einstellungen zu ändern. Den Mangel an Pins habe ich zunächst versucht durch einen Port-Expander zu kompensieren. Das IC PCA9555 stellt 16 GPIO-Ports zur Verfügung und wird über den I²C-Port angesteuert. Erste Experimente funktionierten sogar ganz gut, indem ich die 8 Zeilenpins darauf gelegt habe. Auf dem Bild ist der Port-Expander im SSOP-Adapter rechts montiert. Die Verbindung zur Tastatur übernimmt eine speziell für diesen Zweck gefertigte Adapterplatine (isolationsgefräst).

Links hinten im Bild ist ein Olimexino 32u4 zu sehen, das ist ein Leonardo-Klon von Olimex mit ein paar klugen Extrafunktionen.

Da ich noch zwei Teensy-Boards in der Schublade hatte, habe ich damit auch noch einige Versuche gemacht. Mit dem Teensy 3.0 und einer Arduino-Bibliothek funktionierte der ganze Aufbau ohne Port-Expander, weil genug Pins herausgeführt sind.

Einige Pins des Teensy sind in der Boardmitte angeordnet, deshalb habe ich mir ein kleines Expansion-Board aus einer SMD-Adapterplatine gelötet (rechts im Bild).

Für die endgültige Ausführung fiel meine Wahl dann auf den Teensy++ 2.0 (bzw. einen China-Nachbau), ein älteres Modell, bei dem fast alle Anschlüsse an den Seiten herausgeführt sind, mit einem 16MHz Atmel-Controller, völlig ausreichend für meine Zwecke. Der Original-Controller der Tastatur ist ein 8-Bit-Controller mit 6 MHz von Samsung (S3C9688/P9688).

So sah mein Testaufbau dann schließlich aus:

Damit ist alles bereit für die Entwicklung der Tastatur-Software. Mehr darüber erzähle ich im nächsten Teil.

Advertisements

2 Kommentare zu “Cherry-Tastatur mit OLED – Teil 1

  1. […] Cherry-Tastatur mit OLED, Teil 1 […]

    Gefällt mir

Kommentieren

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Blogverzeichnis - Bloggerei.de
%d Bloggern gefällt das: