Hallo !
Bin momentan auf der Suche nach einer geeigneten Mikrocontroller -
Platine als Ersatz für das LEGO Mindstorms RCX 2.0 Board
(http://www.geocities.com/swatson001/research/rcx_internals.html),
da sich dieses für mein Maturaprojekt als unzulänglich erwiesen hat.
Dieses µC - Board beinhaltet eine Java - VM, die ich aber nicht
unbedingt brauche, C ist für Mikrocontroller - Anwendungen ohnehin
besser.
Ich tendiere mittlerweile stark dazu, mir ein C167 -
(Entwicklungs)Board zu kaufen, da dieses genügend frei wählbare
I/O - Ports und sogar einen A/D - Wandler beinhaltet, was sich für eine
Robotersteuerung (Motorcontroller, Sensoren,...) ganz gut eignet.
Würde mich über ein paar Tipps freuen !
Grüße,
Thomas
"Think big" ist aber sowas von "out" (großes (Entwicklungs)Board)
"Think small" ist "in" (1-Chip).
Z.B. der ATMega8 dürfte ideal sein für Robotersteuerung, sowohl
preislich als auch leistungsmäßig.
Es sein denn, Du suchst was für Bild- und Spracherkennung, da müßte es
wohl schon ein DSP sein, aber da gibts auch 1-Chip-Lösungen.
Peter
Hallo Thomas,
um eine Empfehlung aussprechen zu können sollten wir schon wissen,
welche Rechenleistung Du brauchst, wieviel I/O-Pins, Anzahl und
Auflösung/Geschwindigkeit der A/D-Wandler, Anzahl PWM-Kanäle usw. usf.
Auch Deine finanziellen Möglichkeiten hast Du nicht erwähnt. Ist es
wichtig, daß das ganze möglichst billig wird oder ist es egal, wenn das
Entwicklungsboard 200 und der C-Compiler 1000 kosten? Bei dem von
Peter erwähnten ATmega8 kostet der selbstgebaute Programmer <5, die
Prototypenplatine ebenfalls 5 und der Gnu-C-Compiler (winavr) ist
kostenlos.
Markus
Danke für die bisherigen Tipps !
Antwort an Markus:
Der µC, den ich vorher eingesetzt habe, war ein H8 mit 20Mhz und 8 Bit,
das war schon ein wenig zu langsam, am meisten hat aber die Infrarot -
Übertragung gebremst, da sie nur auf 2400 Baud eingestellt war und sich
einfach nicht beschleunigen hat lassen.
Zu den I/O - Ports: Ich habe an Peripherie zwei Motoren(werden einen
separaten Controller brauchen), zwei Tast-, einen Rotations- und einen
Kompasssensor. Aufgrunddessen braucht der A/D - Wandler keine besonders
große Geschwindigkeit haben, viele Analog - Ports wären jedoch von
Vorteil.
Auf jeden Fall muss der µC eine serielle Schnittstelle besitzen, da ich
ein Funkmodul über UART anschließen werde.
Tja, zu den Kosten... Der µC darf 200-300 Euro kosten, weniger wäre
natürlich von Vorteil. Der Compiler sollte eigentlich möglichst wenig
kosten, wobei aber in der Schule, die ich besuche, schon einiges an
Software vorhanden ist.
Mfg,
Thomas
Hallo Thomas,
laut der Webseite die Du angegeben hast, läuft der H8 nur mit 10MHz und
braucht (soweit ich das auf die Schnelle richtig verstanden habe)
mindestens 2 Takte pro Befehl, macht also maximal 5 MIPS. Da sind die
AVRs deutlich schneller. Insbesondere frage ich mich, wie die Java-VM
funktioniert. Vermutlich hat sie (wegen der Codegröße) keinen JIT, so
daß sie alles interpretieren muß. Sowas kostet aber ziemlich
Performance. Da ist ein C-Compiler sicher viel schneller.
Wenn ich Deine Anforderungen so lese, dann denke ich schon, daß die
ATmega-Serie eine gute Wahl für Dich wären. Die gibts vom ATmega8 (8KB
Programmspeicher, 1KB RAM im 28poligen DIP-Gehäuse, dadurch einfach
selber zu löten) bis hin zum ATmega128 (128KB Programmspeicher, 4KB
RAM, 64Pin TQFP-Gehäuse). Sie haben alle A/D-Wandler und
Hardware-UART. Schau Dir die Datenblätter einfach mal an.
Markus
Hallo Markus,
danke für deine Hinweise, habe mir die Datenblätter schon angesehen,
die ATmega.. Controller sehen durchaus tauglich aus für mein Projekt,
jedoch habe ich heute schon ein kleines C167-Board besellt, da die
Schule für diesen µC einige Compilerprogramme hat und ich mir dadurch
Kosten spare. Trotzdem danke !
Thomas
Hallo Thomas,
für die AVRs gibts einen kostenlosen C-Compiler, Du sparst also nicht
wirklich Geld. Andererseits ist der C167 vermutlich schneller.
Markus
Eine eigene Frage?
Dieser Thread ist über 23 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.