B. Kainka, L. Gollub

Messen, Steuern, Regeln mit Palm OS

Franzis-Verlag 2002

Berichtigungen und FAQ

Vorwort

Ein Handheld-Computer mit Grafikdisplay und bemerkenswerter Rechenleistung regt die Phantasie des Bastlers und des professionellen Entwicklers gleichermaßen an. Die Möglichkeiten sind fast unbegrenzt: von der LED-Steuerung bis zum Roboter, vom Thermometer bis zum Oszilloskop. Dieses Buch liefert Ihnen die erforderlichen Rezepte und Informationen.

Personal Digital Assistant (PDA), so bezeichnet die Industrie diese kleinen Universalgenies wie Palm Pilot oder Handspring Visor. Und damit hat man zuerst an den Assistenten für allgemeine Aufgaben gedacht: Notizen, Telefonnummer, Termine und vieles andere. Aber ein Elektroniker sieht natürlich ganz andere Möglichkeiten und stellt auch andere Fragen: Welche Schnittstellen gibt es, wie kann man das Gerät programmieren, welche neuen Möglichkeiten bringt das System z.B. beim Einsatz im Elektronik-Labor? Hier versuchen wir, die passenden Antworten zu geben.

Ein Blick ins Internet zeigt, dass es bereits eine Vielzahl ähnlicher Anwendungen gibt. Palm-Rechner werden als Messgeräte oder als Steuereinheit für kleine Roboter eingesetzt. Oft werden komplett fertige Anwendungen mit Hardware und Software angeboten. Man braucht nicht viel zu wissen, um mehr aus seinem Gerät zu machen. Wir wenden aber uns aber eher an den aktiven Hobbyentwickler. Im Mittelpunkt dieses Buchs stehen Informationen und Anwendungsbeispiele, die als Grundlage für eigene Entwicklungen dienen können.

Wir wünschen unseren Lesern viel Freude und Erfolg!

Lars Gollub
Burkhard Kainka 


Inhalt

1 Einleitung 5

2 Die serielle Schnittstelle des Palm 11
2.1 Die ersten Schritte 13
2.2 Anschlüsse der Palm-Schnittstelle 16
2.3 Untersuchung der Schnittstelle mit Serial.prc 20
2.4 Schaltausgänge 21
2.5 Die Eingänge 25
2.6 Unterschiede zwischen den Modellen 26

3 HotPaw Basic 30
3.1 Befehlsumfang 30
3.2 Ein Blinker an der seriellen Schnittstelle 32
3.3 Verbraucher steuern 34
3.4 Auswertung von Eingangssignalen 38
3.5 Servosteuerung 41
3.6 Messen mit Digitalmultimetern 44
3.7 Arbeit mit dem Palm-Emulator 52

4 Ein- und Ausgänge über Portzugriffe 53
4.1 Prozessorports 53
4.2 Eingänge über Ports abfragen 58
4.3 Ein Digitalzähler 61
4.4 Ausgänge über Port E steuerhttp://www.elo-web.de/elektronikbuecher/messen-steuern-regeln/messen-steuern-und-regeln-mit-c-control-m-unit-2n 62
4.5 RTS über die UART-Register steuern 66

5 Analog-Digitalwandler 70
5.1 Ansteuerung des AD-Wandlers TLC549 70
5.2 Verbesserte Spannnungsversorgung 74
5.3 Ein analoger Datenplotter 76
5.4 Temperaturmessung über NTC-Sensor 77
5.5 Widerstandsmessung mit RC-Glied 81

6 Parallelport-Erweiterungen 84
6.1 Acht Ausgänge über Schieberegister 4094 84
6.2 Acht Eingänge mit 4021 86
6.3 Ein serieller Empfänger 88
6.4. Ein Mikrocontroller-Interface 91
6.5 Schrittmotorsteuerung 94

7 Anwendung der IrDA-Schnittstelle 99
7.1 Einsatz eines RS232-IrDA-Umsetzers 99
7.2 IrDA-Signale 101
7.3 Ein IrDA-Transceiver 106
7.4 Verwendung eines integrierten IrDA-Bausteins 112
7.5 Ein universeller IrDA-IO-Port 114
7.6 Abgesicherte Übertragung 117
7.7 Einfache IrDA-Servosteuerung 119

8 Das Roboter-Kit PPRK von Acroname 122
8.1 Mechanischer Aufbau 122
8.2 Ansteuerung der Motoren 125
8.3 Abfrage der Sensoren 127
8.4 Automatische Steuerung 128

9 Der Springboard-Steckplatz 132
9.1 Plug & Play 133
9.2 Integration in die Hardware 133
9.3 Steckverbinder und Signale 135
9.4 Elektrische Kenndaten 140
9.5 Timing 141
9.6 API-Erweiterung 145
9.7 Speicherbelegung 146
9.8 Das Falch.net DeveloperStudio 148

10 Aufbau experimenteller Springboard-Module 151
10.1 Vorbereitung des Steckers 151
10.2 Platine 152
10.3 Zusammenbau 154
10.4 Schienen 157
10.5 Adapter für den Springboard-Steckplatz 157

11 Das "Hallo Welt!"-Modul 160
11.1 Ansteuerung einer Leuchtdiode 160
11.2 Ansteuerung eines Relais 163

12 Ausgaben über den Steckplatz 166
12.1 Ausgabeschaltung 166
12.2 Ausgabe-Software 171
12.3 Ansteuerung von Leuchtdioden 174
12.4 Ansteuerung anderer Logikfamilien als 74LV 175
12.5 Ansteuerung von Relais 176
12.6 Ansteuerung eines DA-Wandlers 178
12.7 Es geht auch einfacher 180

13 Eingaben über den Steckplatz 189
13.1 Eingabeschaltung 189
13.2 Einsatz als Logikanalysator 192
13.3 Anschluss eines AD-Wandlers 196
13.4 Einsatz als Voltmeter 199
13.5 Einsatz als Oszilloskop 201
13.6 Ein Universal-Interface 206

14 Module mit eigenem ROM 209
14.1 Applikationen im ROM 209
14.2 Weitere Informationen im ROM 213
14.3 Installation der Software 214
14.4 Einstecken und Entfernen eines Moduls 216
14.5 Palm-MakeROM 216
14.6 Schaltungstechnik für ROM-Module 224

15 Ein Beispiel-ROM-Modul 229
15.1 Die Applikationen 229
15.2 Vorbereitung der Applikationen 231
15.3 Erzeugen der Image-Datei 231
15.4 Programmieren der Flash-Speicher 232
15.5 Test des Moduls 235
15.6 Trouble-Shooting 237

16 Anhang 238
Literatur 238
Sachverzeichnis 239


1 Einleitung

Bei der Arbeit an diesem Buch haben wir, die beiden Autoren, unterschiedliche Geräte verwendet. Wir haben uns unterschiedliche Arbeitsschwerpunkte gesetzt und uns gegenseitig ergänzt. Lars Gollub verwendete hauptsächlich einen Handspring Visor Deluxe und arbeitete im Schwerpunkt mit dem Erweiterungssteckplatz. Sein bevorzugtes Werkzeug war das C-gestützte Entwicklungssystem Falch.net DeveloperStudio. Burkhard Kainka verwendete meist einen Palm M100 und programmierte in HotPaw Basic. Da hier die einfacheren Anwendungen liegen, wurden die ersten Versuche in diesem Buch fast ausschließlich mit HotPaw Basic beschrieben.

Die Programme wurde auch auf anderen Geräten getestet, sodass oft Aussagen über die Kompatibilität gemacht werden können. Trotzdem ist es nicht auszuschließen, dass spezifische Unterschiede dazu führen, dass nicht jedes Programm auf jedem System problemlos läuft.

Wir sind davon ausgegangen, dass nicht jeder Leser dieses Buches bereits tiefe Kenntnisse der Elektronik und Informatik besitzt. Deshalb werden zuerst besonders einfache Versuche und Programme vorgestellt. Oft ist es erstaunlich, mit wie wenig Aufwand man kleinere Aufgaben lösen kann. Für die ersten kleinen Projekte eignet sich der Basic-Interpreter HotPaw Basic. Zwar lassen sich damit keine hochprofessionellen Anwendungen entwickeln und die Ausführungsgeschwindigkeit ist nicht übermäßig groß. Als besonderer Vorteil hat es sich jedoch erwiesen, dass kleinere Änderungen direkt am Gerät programmiert werden können, da alle Quelltexte als Memos vorliegen. Es ist ein ganz neues Programmiergefühl, dass man nun Programme sogar handschriftlich eingeben kann.

Wer sich mit elektronischen Zusatzgeräten für den Palm beschäftigen will, benötigt zunächst eine Grundausstattung an Software und Informationen. Die wichtigsten Programme und Datenblätter haben wir auf der CD zum Buch zusammengestellt.

Ein wichtiges Tool ist der Palm-Emulator. Programme lassen sich testen, als liefen sie im echten Gerät. Beim ersten Start des Emulators muss man das ROM des eigenen Geräts übertragen. Dazu gibt es ein spezielles Tool, das Programm "ROM Transfer.prc", das dem Emulator beiliegt. Das gesamte Betriebssystem wird in eine PC-Datei übertragen, die z.B. im Falle von PalmM100.ROM eine Größe von 2 Megabyte hat. Diese etwas umständliche Prozedur löst zum einen Copyright-Probleme und stellt zum anderen sicher, dass der Emulator tatsächlich genauso arbeitet wie das reale Gerät.

Im Bereich der Elektronik werden für die einfachen Versuche keine tiefen Kenntnisse benötigt. Voraussetzung ist aber ein gewisses technisches Geschick und etwas Erfahrung mit dem Lötkolben. Andererseits sind viele der hier vorgestellten Versuche geeignet, die ersten Schritte in die Welt der Elektronik zu unternehmen. Die einfachen Schaltungen werden daher besonders ausführlich erklärt und erläutert. Wenn die Grundlagen einmal gelegt sind, wird jeder in der Lage sein, eigene Vorstellungen umzusetzen und eigene Projekte zu realisieren. Wir sehen sie schon vor uns, die unzähligen Roboter, Automaten und Spezialmessgeräte, die unsere Leser mit ihren PDAs entwickeln werden.

Wir gehen davon aus, dass der Anwender bereits mit dem grundlegenden Umgang mit seinem Gerät vertraut ist, also Texte editieren, Programme laden und starten kann. Auf dieser Ebene wird also wenig zu erklären sein. Die spezielle Software wie z.B. die eingesetzten Programmierumgebungen werden dagegen ausführlich vorgestellt. Allerdings gibt es hier Unterschiede. Während sich die Basic-Beispiele vor allem an Hobbyanwender richten, stellen die C-Beispiele bereits gewisse Ansprüche. Der Leser kann zwar einfach die kompilierten Programme laden und einsetzen. Wer jedoch selbst mit C weiterarbeiten möchte, benötigt einige Grundkenntnisse, die hier vorausgesetzt werden müssen. Die komplexeren C-Beispielprogramme im zweiten Teil des Buchs werden daher nicht mehr in allen Einzelheiten erläutert. Der interessierte Leser kann jedoch die vollständigen Quelltexte von der CD laden und sich mit Hilfe der Kommentare im Programmtext einarbeiten.