Forum: Mikrocontroller und Digitale Elektronik Palm als UserInterface


von Tim (Gast)


Lesenswert?

Hallo zusammen,

als UserInterface für ein Datenerfassungssystem mit einem AVR habe ich
mir aus Zeit- und Kostengründen überlegt einen billigen Palm zu
verwenden. Der Palm Zire m150 bietet für ca. 80,- Euro ein
kontrastreiches S/W Display mit Touchscreen, 2MB Speicher und ist
einfach und schnell zu programmieren (alleine das Display und die
Touchscreenfolie würde einzeln mehr kosten). Ausserdem lässt sich das
dünne Teil leicht in eine eigene Kiste verpacken und jederzeit über
einen PC updaten. Da der Zire keine serielle Schnittstelle besitzt (nur
USB und IR), suche ich jetzt nach einer einfachen Lösung das Gerät mit
meinem AVR zu verbinden um mit diesem -möglichst über einfache RS232
Befehle- kommunizieren zu können.
Würde mich also freuen, wenn sich schonmal einer mit den Schnittstellen
und den möglichen Protokollen des Palm Zire auseinandergesetzt hat und
mir diesbezüglich einige Tips geben könnte.

Viele Grüße und Dank im voraus

Tim

von Jim (Gast)


Lesenswert?

Nimm lieber einen älteren Palm III oder IIIx. Die haben mehr Speicher
und eine serielle Schnittstelle. Andernfalls zieht das Argument mit den
Zeit- und Kostengründen nicht.

von Roman (Gast)


Lesenswert?


von Ratber (Gast)


Lesenswert?

@Roman

Genau.

Die IR ist eigentlich gut zu nutzen aber das bedeutet leider auch mehr
Stromverbrauch was vieleicht etwas problematisch ist wenn man ur auf
Batterie oder Akku ist.Muß also im Zweifelsfall mit eingerechnet
werden.

ansonsten würde ich auch nach möglichkeit auf nen IIIX Raten.

Mit 4 MB haste genug platz und der hat auch noch ne Serielle die gut
angesprochen werden kann.
Beispiele für Modemadapter gibt es ja genug so das man da im Code etwas
wühlen kann.

Natürlich ghts auch mit USB aber das ist wesentlich Komplexer.

My 2 Cent

von Jörg Maaßen (Gast)


Lesenswert?

Welcher Palm ist denn am besten geeignet für ein solches vorhaben.

Es gibt da ja mitlerweile so viele. Kann mann alle nehmen, die eine
serielle Schnittstelle haben oder ist einer ganz besonders zu
bevorzugen. Oder muß ein bestimmtes Betriebssystem drauf sein.

Wie programmiere ich denn so einen Palm. Gibt es da C- oder
Basic-Compiler.

Ich würde den Palm auch gerne als Datenerfassungsgerät nutzen.

Gruß Jörg

von Ratber (Gast)


Lesenswert?

Also mal Diplomatisch.

Die neueren Modelle sind schneller aber auch Teurer.
Die Alten haben ne leicht zu beherschende Serielle wärend die neueren
USB nutzen (Vieleicht aber auch nur nen verstecktes USB-Seriell wie so
oft denn echte USB-Schnittstellen sind noch eher rar bei Geräten mit
relativ wenig Datenaufkommen. Ich weiß es nicht.)

Für Eigene Soft gibt es Compiler und Entwicklungstools von guter und
schlechter Qualität was natürlich meist reziprok zum Preis steht. ;)

Inwieweit das so geht wie gewünscht weiß ich leider auch nicht.

Ich hab nen alten Palm IIIx den ich mir irgendwann 98 geleistet habe
und der läuft immernoch Tadelso so wie es gedacht war.
Bis auf nen kleinen Umbau des Cradles zwecks Akkiuladung hab ich da uch
noch nix dran verändert.

Such mal bei Google danach.
Da müßte eigenlich was zu finden sein wenn was geht.

von Tim (Gast)


Lesenswert?

Dank erstmal für Eure Anregungen,

also der Palm soll in meinem Projekt die Bedienungseinheit ersetzten
und die über den AVR aufgenommenen Messwerte graphisch aufbereiten. Ich
bohre mir also nur ein viereckiges Loch in die Frontplatte, klebe den
Palm in den Ausschnitt, verbinde ihn über einen billigen IF-Transceiver
mit meiner AVR-Platine und fertig ist mein UserInterface.
Es gibt für Palm OS unzählige kostenlose Programmier- und
Emulationstools, um in kürzester Zeit eine graphische und professionell
aussehende Oberfläche zu zaubern. Durch den Touchscreen wird die
Bedienung natürlich viel komfortabler und übersichtlicher (Darstellung
und Veränderung von Kennlinien), als z.B. bei der Verwendung eines 4
zeiligen LCD-Displays, welches nur Zeichen darstellen kann und mit
irgendwelchen Tastern (die auch noch befestigt und beschriftet werden
müssen) über unzählige Drähte an den AVR angeschlossen werden müssen.
Bei der Palmlösung braucht der AVR sich nur um die eigentlichen
Aufgaben kümmern (Messwerte möglichst schnell erfassen), während bei
der konventionellen Lösung der AVR sich nebenbei (zeit- und
speicheraufwendig) noch um die Ein- und Ausgabeeinheit kümmern muss
(deren Routinen natürlich auch erstmal programmiert werden müssen).
Die AVR <-> Palm Verbindung erfolgt Idealerweise über die
IR-Schnittstelle (auch wegen der Störsicherheit). Den Palm selber kann
man zu Servicezwecken über USB an einen PC hängen und ggf. über diese
Verbindung via IR auch den AVR neu programmieren.
Nach einigen Recherchen im Internet habe ich erfahren, das eine
einfache serielle Kommunikation (ohne IRDA-Protokoll) über das
Infrarotport des Zire mit einigen popligen Basic-Befehlen doch noch
möglich sein soll:


Der Palm Zire ist das neue Gerät am unteren Ende der Preisskala und
damit für Hardware-Experimente besonders interessant. Allerdings hat
der Zire keinen Palm-Connector für die RS232 mehr. Es gibt nur noch die
USB-Schnittstelle für den PC-Hotsync und die IrDA-Schnittstelle für den
Datenaustausch mit andern Geräten. Deshalb ist die IrDA-Schnittstelle
der einzige Weg zur Ansteuerung eigener Hardware. Mit großer
Erleichterung wurde entdeckt, dass der Zire trotz OS4 mit HotPaw Basic
ganz normal einzelne Bytes senden und empfangen kann. Daten wurden in
beiden Richtungen erfolgreich zwischen Palm M100 und Palm Zire
ausgetauscht.

#ir2.bas  'Senden
open "com1:",9600, ir as #5
print#5,"Hallo"
for n= 1 to 100
 print#5,n
 a= fn wait(1)
next n
close #5
end

#irdarx1.bas 'Empfangen
open "com1:",9600,ir as #5
draw -1
while 1
n =get$(#5,0)
t$=str$(n)+"    "
if n>-1
  draw t$,75,60,2
  sound 800,100,63
endif
wend



Ich habe mich übrigens für den Zire entschieden, da ich evt. mehrere
identische Systeme bauen werde und ich bei der Bauteil- und
Ersatzteilbeschaffung nicht vom aktuellen EBAY-Angebot abhängig sein
will. Die 2 MByte Speicher des Zire reichen wirklich voll aus und ich
werde sie nicht ansatzweise benötigen. Bald soll's übrigens den Palm
Zire21 fürs gleiche Geld geben (in US z.Zt. $99,-). Dieser hat das
gleiche Gehäuse, rechnet jedoch mit 126MHz !!  und hat 8MB Speicher
(statt 16MHz und 2MB).

Als UserInterface-Alternative zum Palm habe ich auch überlegt den
aktuellen Gameboy Advanced SP zu nehmen. Dieser lässt sich auch super
programmieren (nur C und Assembler) und man hat vor allem direkten
Zugriff auf die Hardware. Der GameBoy bietet für fast das gleiche Geld
zwar ein super TFT-Farbdisplay, eine geniale Grafikengine, SuperSound
und praktische, robuste Tasten, hat jedoch kein Touchscreen und
erfordert einen etwas höheren Programmieraufwand. Da ich für mein
Projekt auch eine Echtzeituhr mit Kalender und Alarm benötige kam er
für mich dann leider doch nicht in Frage.
Aber von den technischen Möglichkeiten her, ist der GameBoy wirklich
erste Wahl und nur zu empfehlen :-).

von Frank Linde (Gast)


Lesenswert?

Hallo Tim,

finde ich wirklich toll, dass Du Dir die Mühe gemacht und Deine
Erkenntnisse hier so ausführlich erläutert hast!  :-)

Gruß, Frank

von Andreas (Gast)


Lesenswert?

Hallo Tim,

danke auch von mir für den Super-Beitrag. Einen Gameboy als UI
einzusetzen - die Idee ist klasse. Einen Palm Vx nutze ich zwar täglich
aber als UI ist er (in meinem Fall) einen kleinen Tick zu groß. Daher
finde ich den Hinweis auf 'nen Gameboy genial!

Hättest Du eine URL unter der man mehr zur Programmierung und der HW
der Spielzeuge (und hier paßt es ja tatsächlich...) erfahren kann?

Gruß
Andreas

von Tim (Gast)


Lesenswert?

Für Gameboy-Interessierte hier zur Einführung zwei Pages mit
weiterführenden Links:

http://www.automatedhome.co.uk/article.php3?story_id=1212&section=Reviews&slashSess=f6f95eadf52168ae3367a5932159f9ca

http://stud.fh-heilbronn.de/%7Eadimitri/konsolen.html


.. das Teil ist für das Geld einfach genial und für jeden Bastler eine
Herausforderung.

Viele Grüße

Tim

von Dirk (Gast)


Lesenswert?

Hi,

fuer Einzelstuecke oder ein paar Geraeten ist auch der HP Jornada 520
interessant. Der Jornada 520 hat RS232 , Farbdisplay und CF. Windows CE
Developer Software gibt es auch.


Mfg

Dirk

von MrNiemand (Gast)


Lesenswert?

hm ich hab nen m125  an meinen avr über max232 ansgeschlossen empfangen
von daten funzt aber das senden nich, an was kann das liegen?

aber kommunikation pc <> avr und pc <> palm funzt über serielle
schnittstelle perfekt!!!

von Frank Linde (Gast)


Lesenswert?

Hast Du bei allen Versuchen mit dem gleichen Kabel gearbeitet?

Gruß, Frank

von MrNiemand (Gast)


Lesenswert?

jo hab ich ein normales serielles hot sync kabel das ja logischerweise
rxd und txd gekreutzt hat. Diese Kreuzung hab ich mit einem Adapter
wieder aufgehoben, so kann ich auch den pc anschließen (avr an max 232
rx und tx gekreuzt!!!)


wenn ich beim kreuzen nen fehler hätte, würde ja empfangen auch nicht
funktionieren :(

von Frank Linde (Gast)


Lesenswert?

Wie exakt triffst Du denn mit dem AVR die verlangte Baudrate? Vielleicht
ist der Palm beim Empfang etwas pingeliger als Dein PC? Ups, sehe
gerade, dass Du nicht ausdrücklich geschrieben hast, dass im
Problemfall der Palm der Empfänger ist. Bitte nochmal konkretisieren.

Gruß, Frank

von MrNiemand (Gast)


Lesenswert?

also der palm empfängt die daten vom avr richtig.
Das Problem: Vom palm aus gesendete Daten kommen beim AVR nicht an.

Baudrate 9600 Quarzfrequenz 4mhz

1. wenn ich aber was vom pc zum avr schicke kommt es an, (also wenn ich
den PC statt des Palms anschließe)
2. wenn ich was vom palm zum pc schicke kommt das auch an.


Danke für deine Bemühungen!!!

von Frank Linde (Gast)


Lesenswert?

>> Baudrate 9600 Quarzfrequenz 4mhz

Hhm, das gibt einen völlig unkritischen Baudratenfehler von 0,2
Prozent. Kommt also als Problemursache eher nicht in Betracht.

Hast Du ein Oszilloskop? Falls ja, miß mal die TX-Pegel des Palm
während die Verbindung zum AVR besteht. Eventuell liegen die gerade
knapp unter den Pegeln, die der Max232 zur Erkennung benötigt, während
der PC damit noch klarkommt?

Ich kenne den m125 nicht, wird er über Akku oder Batterie betrieben?

Gruß, Frank

von MrNiemand (Gast)


Lesenswert?

oh hab mich verschrieben ich hab den m130.

Der wird über Lithium Ionen Akku gespeist. Der ist aber noch voll!


Ich habe aber dummerweise kein Ozilloskop aber ich versuch trotzdem mal
nachzumseesen was der palm sendet. Es könnte ja wirklich sein das der
andere Pegel hat!!!

von Frank Linde (Gast)


Lesenswert?

Mit dem Multimeter wird Dir das schwierig. Wenn Du z.B. permanent $FF
sendest, dann hast Du zusammen mit den Start- und Stop-Bits eine Art
Pulsweitenmodulation. Das ergibt dann für ein träges Multimeter eine
hinreichend stabile Spannung. Allerdings ist der gemessene Wert
natürlich nur in Relation zu einem Wert interessant, der nach dem exakt
gleichen Verfahren mit dem PC erhalten wird. Als Absolutwert taugt er
nichts!

Gruß, Frank

von MrNiemand (Gast)


Lesenswert?

hm irgendqwie scheint b ei mir das senden net über txd sondern nen
andern pin zu laufen denn:

hab txd und rxd am palm verbunden, so das sich er palm selbst daten
schickt. funzte nicht.

wenn ich aber rxd und dcd verbunden hatte, funzte es.(Kein Witz)
(wieso das? wieso funzt dann die kommunikation mit dem pc?)

ich hab trotzdem mal mit dem multimeter nachgemessen -8 bis -9v mehr
konnte ich nicht ablesen ;)

von MrNiemand (Gast)


Lesenswert?

kann mir den keiner helfen????

von Robert (Gast)


Lesenswert?

Dear All,

Please excuse my limited German, so I will express myself in English -
besides if any of you could answer me I would appreciate it were in
English if possible.

Reading your thread messages, it seems to me you are quite experts in
the field of programming ircomm applications in Hotpaw basic. So far I
have no problem there. My problem is at the hardware level: We have
several very specialized data logger units which only talk via RS232
(wired, 9-pin) and we would like to collect data using Palm devices.

Thinking about the newer ones, we would like to use the cheapest Palms,
such as Zire 21, which only have IR-ports.

My question is: do any of you have any idea on how to covert the wired
RS232 signals to IR signals, with the adequate IrCOMM protocol so a
program in Hotpaw basic running in a Zire palm could read the data
logger ?

Best regards, Vielen danke und grüssen,
Robert.

von Zotteljedi (Gast)


Lesenswert?

Hi Robert,

perhaps you should take a look at the MCP21XX series from Microchip,
which I found after some minutes on Google. A helpful entry point for
your further search may be:

http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=11032&mid=10&lang=en&pageId=79

and do not forget to visit the Application Notes provided when you
click on 'info' beneath the devices in the list.

There are also some nice devices available from Philips, go to their
portal for Standard Products
(http://www.standardproducts.philips.com/), and search there for
"irda" to get an idea of stuff you can get there, including some
Application Notes with examples.

If you cannot change the existing devices, consider a kind of adapter
that takes RS-232 on one side and provides IR on the other one.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.