PC-Tastatur am Palm

Foto

Grafitti ist zwar schön, aber für längere Texte am Palm wünsche ich mir doch eine Tastatur. Nur: Spezielle Palm-Tastaturen sind teuer.
Diese Seite inspirierte mich zum folgenden Projekt. An der dort angebotenen Lösung störte mich, dass sie einen Zwischenschritt mehr macht als nötig: Die Konvertierung in Newton-Keycodes.
Meine Schaltung reicht die Daten von der PC-Tastatur einfach durch, die Konvertierung übernimmt ein angepasstes FreeKey auf dem Palm. Um neue Features einzubauen ist es also nicht nötig, den Microcontroller neu zu brennen.

Zur Schaltung im Detail:

Schaltplan
Schaltplan

Der Microcontroller

Ich habe einen AT89S8252 genommen, weil ich ihn erstens gerade vorrätig hatte und er zweitens einfach zu programmieren (z.B. mit 8252-Flash von PROuC) ist. Die dafür benötigten Pins sind im Plan als "ISP" gekennzeichnet.
Allerdings ist der AT89S8252 sowohl von der Pinzahl als auch vom verfügbaren Speicher her völlig überdimensioniert. Wer die Möglichkeit hat, kann also auch einen AT89C52 oder einen anderen 8052-kompatiblen uC nehmen. Auch das Umschreiben auf eine andere Architektur (PIC, AVR etc.) sollte keine große Mühe bereiten. Der uC nimmt nur die Daten der Tastatur in Empfang und reicht sie auf die serielle Schnittstelle weiter.

Der Quarz

Ich verwende einen 3.6864 MHz Quarz. Die Geschwindigkeit reicht völlig aus und es lassen sich genau die benötigten 9600 bit/s für die serielle Schnittstelle erzeugen. Für andere Taktzahlen muss der Quelltext des uC-Programms angepasst werden.

Die serielle Schnittstelle

Der Palm besteht zum Glück nicht auf RS232-konforme Pegel an der seriellen Schnittstelle, TTL-Pegel (0 und 5V) tun's auch. Daher kann man sich einen MAX232 o.ä. sparen und stattdessen einen einfachen Ein-Transistor-Inverter benutzen.
Am 9-poligen Cradle-Stecker (der sonst z.B. in den PC kommt) wird der Pin "an RXD" mit Pin 3, der Pin "an GND" mit Pin 5 verbunden. Direkt an den 10 Kontakten am Palm (Pilot 5000 - Palm V(x), M100, M105) ist RXD der dritte von rechts, GND der ganz linke. (Achtung: Ein Fehler beim Anschließen könnte hier fatale Folgen haben. Ich hafte nicht.)

Die Tastaturbuchse

Ich benutze eine PS/2-Tastatur (kleiner Stecker), deren Buchse im Plan von der "Steckseite" dargestellt ist. DIN-Tastaturen funktionieren auch, man muss nur die Anschlüsse entsprechen ändern (s. z.B. KabelFAQ).
Vorsicht: Ältere Tastaturen verbrauchen z.T. erheblich mehr Strom.

Stromversorgung und -verbrauch

Da sich mein ursrünglicher Aufbau mit einem Linearregler (LM2940) als nicht optimal erwies, habe ich mittlerweile einen Step-Up-Wandler auf Basis des leicht erhältlichen LT1073-5 gebaut. Dadurch lässt sich die Schaltung mit zwei 1,5V Batterien bzw. 1,2V Akkus betreiben. Bei einer Last von 25mA konnte der Regler in meinem Aufbau noch bis 1,75V herunter die Betriebsspannung von 5V bereitstellen.
Der Stromverbrauch der Schaltung (mit Tastatur, ohne Regler) liegt bei ca. 10mA bei 5V. Die angeschlossene Tastatur verbraucht davon nur 2mA, Microcontroller und Inverter den Rest.

Aufbau

Wie man auf dem Foto sieht, ist die Schaltung recht einfach auf einer Lochrasterplatine aufzubauen. Wer sich das nicht zutraut, sollte einen elektronikerfahrenen Menschen um Hilfe bitte. Ich biete ausdrücklich KEINE Bausätze oder Fertigmodule an.

Software

Für den uC wird ein kleines Programm benötigt (ggf. an den Quarz anpassen), für den Palm das von mir modifizierte FreeKey, das übrigens auf ein deutsches Tastaturlayout angepasst ist. Quellcodes liegen in beiden Fällen bei, so dass Änderungen leicht zu realisieren sind.

Warum das Ganze?

"Ist eine PC-Tastatur am Palm nicht etwas unhandlich?", werden sich manche fragen. Stimmt! Aber um sie z.B. nach draußen in den Garten mitzunehmen ist sie noch leicht genug. Außerdem gibt es heutzutage kaum noch einen Ort, wo man sich nicht kurz einmal eine PC-Tastatur leihen könnte. Schließlich gibt es auch kompakte PC-Tastaturen (ungefähr im Laptopformat) , die immer noch weniger kosten als eine Palm-Tastatur.

Rechtliches

Der Quellcode des uCs und die Änderungen an FreeKey stehen unter meinem Copyright, kommerzielle Nutzung ist verboten. Die Schaltung entstammt fast vollständig aus dem AppNotes von Atmel, darauf erhebe ich natürlich keine Copyrightansprüche.
Ich hafte nicht für evtl. angerichtete Schäden.

Christian Zietz
Geschrieben am 2.6.2002 draußen und am Palm.
Letztes Update am 17.4.2004.