Forum: Mikrocontroller und Digitale Elektronik Passende Hardware für Projekt gesucht (lang)


von Frank B. (frank501)


Lesenswert?

Hallo,

für ein neues Langzeitprojet, für welches ich mit Einarbeitungszeit etwa 
1 bis 2 Jahre geplant habe, suche ich passende Hardware und Toolchain.

Es geht um folgendes:
Mittels einer Tastatur sollen auf einem batteriebetriebenem Gerät Daten 
eingegeben werden und diese als CSV Datei gespeichert werden.
Die Daten bestehen aus einer Nummer, welche sich bei jeder Eingabe ohne 
Muster ändert. Dann kommen mehrere Abschnitte mit teilweise 
veränderlichen Daten, die aber auch bei jeder Eingabe abweichen können, 
dies aber nicht müssen.
Im Großen und Ganzen sind es die Nummer und eine Bezeichnung die sich in 
jedem Datensatz ändern.
Mittels einer Tastatur sollen die Nummer und die Datenfelder eingegeben 
werden.
Die Bezeichnung, als zweites sich jedes mal änderndes Datenfeld, soll so 
eingegeben werden können daß beim Eingeben jedes Buchstabens ein zur 
bisherigen Eingabe passender Eintrag aus einer Liste angezeigt wird bis 
entweder keiner mehr passt oder der richtige angezeigt wird und die 
Eingabe bestätigt wird.
Die Liste soll bei einer bisher unbekannten Eingabe um den eingegebenen 
Text erweitert werden.
(Hoffe, ich habe mich bei diesem Punkt verständlich genug ausgedrückt.)

Die Maße des Ganzen Gerätes sollen (in etwa) wie folgt aussehen:
Breite : 200mm
Höhe   : 100mm
Tiefe  : 50mm

Darin untergebracht sein sollen ein Mikocontroller oder etwas 
vergleichbares, eine Tastatur, ein Display (entweder HD44780kompatibel 
4*20 oder vollgrafisch mit etwa der selben Größe), Eine Batterie oder 
ein Akku der etwa 8 Stunden halten muß, eine SD-Karte oder ein 
USB-Stick.

Ich suche also:
1. Einen Mikrocontroller oder ein Embedded System mit dem ich die oben 
genannten Vorgänge realisieren kann.
2. Eine Tastatur mit schreibmaschinenähnlichem Layout.
3. Die zu dem Controller oder Embedded System passende Toolchain.


Bisher habe ich nur Erfahrung mit der Programmierung von AVR-Controllern 
(Tinys und Megas) bin aber bereit und sicherlich auch in der Lage mich 
in andere Systeme einzuarbeiten.

Wäre vielleicht ein Propeller von Parallax geeignet (Habe noch zwei 
davon hier herum liegen) oder reicht auch ein AVR-Mega?
Der Controller müsste ein FAT-Dateisystem auf einer SD-Karte oder einem 
USB-Stick beschreiben können, ein Display ansteuern und Eingaben von der 
Tastatur entgegen nehmen.

Frank

von Hans M. (hansilein)


Lesenswert?

Das einzig schwierige ist die Echtzeitsuche nach bekannten Bezeichnern,
mit der passenden Datenstruktur (Treeset) ist das kein Problem, aber man 
braucht relativ viel Speicher.
Wieviele Bezeichner wird es denn ca. geben?
Man kann den Baum sicher auch auf der SD Karte aufbauen, dann ist es 
eben schwieriger ihn zu updaten aber das sollte zu schaffen sein.
Dann reicht ein ATMega.

von Frank B. (frank501)


Lesenswert?

Hans Mayer schrieb:
> Wieviele Bezeichner wird es denn ca. geben?

Ich rechne mit etwa 300 bis 400 Bezeichnungen mit Längen von 4 bis 30 
Zeichen.


Hans Mayer schrieb:
> Dann reicht ein ATMega.

Der Mega müsste die Tastatur abfragen, gleichzeitig dasDisplay ansteuern 
und die Liste durchsuchen. Ich weiß nicht, ob da die Rechenleistung des 
8bitters ausreicht. Deshalb meine Idee,den Propeller zu verwenden.

Frank

von someone (Gast)


Lesenswert?

cortex m3. reicht völlig. pi mal daumen.

von Hans M. (hansilein)


Lesenswert?

den propeller zu programmieren ist viel schwieriger, eben wegen dem 
parallelen.
In Deinem Fall gibt es aber keine parallelität.
Du wartest auf den nächsten Buchstaben, zeigst ihn an, suchst ob du was 
passendes findest, zeigst das an.
atmegas mit soviel Arbeitsspeicher scheint es nicht zu geben, also 
entweder Du bastelst einen schlauen Algorithmus oder Du wechselst auf 
etwas größeres.
Beispielsweise:
http://de.farnell.com/jsp/displayProduct.jsp?sku=1551847&CMP=e-2072-00001000
Display ist schon dran

von Hans M. (hansilein)


Lesenswert?


von wt (Gast)


Lesenswert?

für die Aufgabe würde sich Luminary von TI sich anbieten, wenn man USB 
Stick als Speichermedium nutzen möchte. Die entsprechenden Bibs sind von 
TI für den Einstieg brauchbar. Die Boards dagegen sind wirklich nur zur 
Evaluierung brauchbar, ein robustes Produkt für dauerhafte Benutzung ist 
was anderes.

Wenn Du dich auf SD Karte besinnst und lediglich Tastatur einlesen 
möchtest, dann reicht xmega völlig aus. Mit AVR scheinst Du familiär zu 
sein, also dürfte dies die erste Wahl für Dich sein.

Robuste und ausbaufähige HW dafür gibt's hier: 
http://www.megahod.de/html/basis_board.html

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

nimm dir irgendein aktueles Smartphone, und pack da eine APP drauf, die 
das macht was du brauchst. Die Erfassung der DAten kann doch vermutlich 
auch locker mittels "Touch" Tastatur erfolgen?

Bezüglich Laufzeit und Zuverlässigkeit der Hardware sparst du dir damit 
unendlich viel Entwicklungsaufwand (Zeit und Geld)

von Hans M. (hansilein)


Lesenswert?

Ein xmega bringt da nix, hat nicht mehr ram als die atmegas.
Das mit dem Smartphone/Tablet würd ich mir echt überlegen, das Projekt 
wird dadurch drastisch einfacher und im Endergebnis besser.

von Fabian (Gast)


Lesenswert?

Nimm ein iPod

von Klaus (Gast)


Lesenswert?

Klingt nach einem Smartphone App

von Peter D. (peda)


Lesenswert?

Frank B. schrieb:
> Ich rechne mit etwa 300 bis 400 Bezeichnungen mit Längen von 4 bis 30
> Zeichen.

400 * 30 = 12kB

Hans Mayer schrieb:
> atmegas mit soviel Arbeitsspeicher scheint es nicht zu geben

Der ATmega1284 hat 16kB, das reicht bequem.

Von der Rechenzeit sehe ich keinerlei Anforderungen, der ATmega1284 kann 
ruhig mit den default 1MHz laufen.


Peter

von Tobi W. (todward)


Lesenswert?

Peter Dannegger schrieb:
> Der ATmega1284 hat 16kB, das reicht bequem.
>
> Von der Rechenzeit sehe ich keinerlei Anforderungen, der ATmega1284 kann
> ruhig mit den default 1MHz laufen.

Würde sagen das kommt auf das Display an. Bei einem Textdisplay mit 
Standartcontroller sollte das reichen. Will er aber ein GLCD nehmen und 
daas dann höchstwahrscheinlich keinen hat, wird es mit den RAM schon 
eng...
12kB Datensätze + Bild für GLCD + FAT-Stack....
Das wird mit 4kB aber eng ;)

Als kleines GLCD würde sich z.B. das Display aus dem Nokia3310 oder aus 
so einem alten Siemens Klotz

Was mir da noch einfällt:
Hier im Forum gibt es einen aktuellen Thread über einen Selbstbau 
Handheld... das könntest du als basis verwenden. Ein OS dafür ist schon 
in arbeit :)

Gruß
Tobi

von Charly B. (charly)


Lesenswert?

Tobi W. schrieb:
> 12kB Datensätze + Bild für GLCD + FAT-Stack....
> Das wird mit 4kB aber eng ;)

dann nimmste den M128 der kann 64k external Ram,
event. ein Goldcap dran und 'gut iss' ;)

vlG
Charly

von Peter D. (peda)


Lesenswert?

Tobi W. schrieb:
> 12kB Datensätze + Bild für GLCD + FAT-Stack....
> Das wird mit 4kB aber eng ;)

Ich hatte aber was von "HD44780kompatibel 4*20" gelesen.

Und das FAT32-, USB-Geraffel kann man outsourcen:

http://de.mouser.com/ProductDetail/FTDI/VDRIVE2/?qs=vnwGVgFuQiZQSHig5qjpOQ%3d%3d


Peter

von Hans M. (hansilein)


Lesenswert?

sorry, dachte 8kB wäre das maximum.

Tja, Frank, was magst Du lieber?
algoritmen basteln -> kleinen atmega
einfaches avr programmieren -> großen atmega
tolles endergebnis -> so ein tablet
neue architektur -> cortex m3

sd-karten lassen sich leicht ansprechen, viel leichter als usb-sticks

von Frank B. (frank501)


Lesenswert?

Hans Mayer schrieb:
> den propeller zu programmieren ist viel schwieriger, eben wegen dem
> parallelen.

Das wäre nicht das große Problem, da ich mich in den Propeller sowieso 
mal einarbeiten wollte.


Hans Mayer schrieb:
> Oder nimm doch sowas:
> http://www.alternate.de/html/product/Handheld/Crea...

Wegstaben Verbuchsler schrieb:
> nimm dir irgendein aktueles Smartphone, und pack da eine APP drauf, die
> das macht was du brauchst. Die Erfassung der DAten kann doch vermutlich
> auch locker mittels "Touch" Tastatur erfolgen?

Genau sowas wollte ich anfangs auch verwenden, bin dann aber auf Grund 
der Umgebungsbedingungen im Ausseneinsatz und damit verbundenen 
möglichen mechanischen Belastungen (es kann durchaus sein, daß ich da 
was drauf ablege oder mal kleinere Teile drauf fallen) wieder von 
abgekommen.


Peter Dannegger schrieb:
> Ich hatte aber was von "HD44780kompatibel 4*20" gelesen.

Das war eine der beiden Alternativen. Die andere war ein GLCD in 
vergleichbarer Größe.



Ich werde mich mal mit dem LM3S1968 - KIT beschäftigen und auch die 
anderen in den Links aufgezeigten Teile genauer anschauen.
Was mir jetzt noch fehlt ist eine Tastatur. Die möchte ich auf keinen 
Fall selber bauen müssen. Ich weiß, das es für ältere Palms und 
Handhelds keline Tastaturen gibt, die in etwa die passende Größe hätten, 
mir aber nicht robust genug erscheinen.



Hans Mayer schrieb:
> Tja, Frank, was magst Du lieber?
> algoritmen basteln -> kleinen atmega
> einfaches avr programmieren -> großen atmega
> tolles endergebnis -> so ein tablet
> neue architektur -> cortex m3

Eine gute Frage. Da ich sowieso einiges an Einarbeitungszeit eingeplant 
habe und das Ganze nicht sonderlich drängelt bin ich für viele 
Alternativen offen.
Selbst die Idee mehrere ATMegas zu verwenden habe ich noch nicht 
komplett verworfen ;-)

Frank

von Wolfram (Gast)


Lesenswert?

Frank B. schrieb:
> Mittels einer Tastatur sollen auf einem batteriebetriebenem Gerät Daten
> eingegeben werden und diese als CSV Datei gespeichert werden.
Hallo Frank, also ich hab das auf meinem Samsung Galaxy S2 als Android 
APP programmiert. Dient als Fahrenbuchersatz.
Sollte bei Dir eigentlich auch recht einfach sein. Dann benötigst Du 
KEINE speziele Hardware, nur ein 1Euro Smartphone.
vg Wolfram

von Bernd N (Gast)


Lesenswert?

Hallo Frank,

CM3 wurde ja schon genannt, wie wärs mit dem Spielzeug hier ?

http://www.steitec.net/ARM-Boards/ARM-LPC1768-Cortex-M3-LCD-Board.html

Oder für den Einstieg:

http://ics.nxp.com/lpcxpresso/

Da du dich eh mit dem Gedanken beschäftigst dich in ein neues Thema 
einzuarbeiten.

von MagIO (Gast)


Lesenswert?

Was Du da beschreibst ist kein Problem für den Propeller, also nimm den.
Ne einfachere Toolchain wirst Du nicht finden.

Dass die Parallelität im Propeller schwierig zu handhaben ist, kann nur 
von jemandem kommen, der sich damit nicht im geringsten auskennt!

HD44780 -> kein Problem - mindestens 5 Objekte dafür im ObEx vorhanden
VGA -> kein Problem (damit lassen sich auch manche grafische LCDs 
betreiben)
TV -> kein Problem
Tastatur -> kein Problem
SD -> dito

RAM brauchst Du für diese Anwendung nicht! Der Zugriff auf die SD-Karte 
ist schnell genug um da eine Wort-Listen-Datenstruktur abzulegen und 
abzufragen.
Es gibt eine Erweiterung für nen SD-Karten-Treiber von mir, mit der man 
1 File (das zum schreiben) geöffnet halten kann und man kann auf 1-4 
weitere Files per byte Addressen zugreifen (quasi wie bei einem RAM).

Und die Hilfe im Propeller-Forum exzellent! Kannst Du Englisch? 
Ansonsten kann ich Dir auch gerne hier helfen.

von MagIO (Gast)


Lesenswert?

PS: Übrigens würde ich für diese Projekt eher 1-2 Wochen ansetzen - mit 
Einarbeitung versteht sich ;o)

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.