Forum: Mikrocontroller und Digitale Elektronik ARM oder AVR?


von Philipp Karbach (Gast)


Lesenswert?

Ich wollte mir in nächster Zeit mal eine Mikrokontrollerplatine zulegen.
Die vielfalt dabei scheint ja relativ groß zu sein. Ich habe schon
öfters mit ASM und C programmiert und kenne mich ziemlich gut mit
Hardware aus.

Auf der Controllerplatine würde ich gerne verschiedene Sachen
anschließen:

- LCD Display ala Pollin.de mit parallel Controller
- IDE HDD oder CF vielleicht
- Einfache Schaltungen mit Relais,etc.

Als Linux Nutzer geht es mir dabei auch um Kompatibilität, außerdem
halte ich nicht gerade viel von Spezialsprachen wie es bei C-Control
leider der Fall ist. Ich besitze sogar ein C-Control board hab aber nie
viel damit gemacht weil die Software einfach schrecklich ist.

Was würdet ihr mir jetzt Empfehlen? Welches Einsteigerboard ist für
sowas gut? Soll ich doch lieber gleiche nach einer SBC/i386 kompatiblen
Platine schauen? Achja falls jemand mir noch ein gutes Buch dazu
empfehlen kann wäre ich sehr dankbar.

von DJShadowman (Gast)


Lesenswert?

Ich hab noch 200 LCDs rumliegen mit HD44780 Controller.
Geb bescheid, wennde eins brauchst.
2*8
1*16
2*16
2*20
2*40

Bevor man Konkursware vom Polin kauft ;-)

von Ppp M. (sanic)


Lesenswert?

Solange du nicht viele schnelle I/O Ports benötigst und mit
Taktfrequenzen bis 16 MHz zurecht kommst sollte ein AVR einen günstigen
Einstieg darstellen.
Momentan arbeite ich mich in die Thematik "ARM" ein und das ist nicht
gerade einfach.

Grüße

von Philipp Karbach (Gast)


Lesenswert?

hab mir mal die boards auf myavr.de angesehen und das sieht recht lustig
aus. vor allem das board für 30€ mit LCD zum selbstlöten, das sollte
viel spaß bringen.

DJShadowman, danke fürs Angebot, ich glaub ich hab selbst noch ein oder
zwei HD44780 kompatible hier rumfliegen :).

von Andy (Gast)


Lesenswert?

Hi,

also, ob man ARM und AVR in Relation zu einander setzen kann, ist
fraglich, das wäre so, als würde man Obst mit Früchten vergleichen
wollen. ARMs sich 32bitter und werden für High-End-Lösungen benutzt:
Handys, PDAs usw., AVRs sind popelige 8 bitter für Low-Cost-Lösungen
gedacht.

Adny

von Peter Dannegger (Gast)


Lesenswert?

Also wenn Du es Dir wirklich zutraust, kann Du das Fliegen gleich auf
einen Airbus A380 (= ARM) lernen.

In der Regel fängt man aber auf einer kleinen Propellermaschine (= AVR)
an, um überhaupt erstmal die Grundlagen zu erlernen.

Und wenn man auch schon Linux programmieren kann, hat man dennoch
absolut Null Ahnung von der Mikrokontrollerprogrammierung.


Das schöne an der Mikrokontrollerprogrammierung ist, man braucht kein
riesiges aufwendiges Entwicklungsboard. Man setzt einfach den
Mikrokontrollerchip in genau die Schaltung ein, in der er auch seinen
Dienst verrichten soll.

Diese Monster-Entwicklungsboards sind eigentlich nur für die Schule
gedacht, wo es ja nie zu praktischen Anwendungen kommt.


Peter

von Andy (Gast)


Lesenswert?

Peter trifft den Nagel auf den Kopf, die Leute, die sich gut in der
PC-Programmierung auskennen, werden sich in der
Controller-Programmierung nicht auf Anhieb zurechtfinden, denn bis auf
die Syntax der ProgSprache hat es nichts miteinander zu tun. Deswegen
würde ich Philipp ebenfalls lieber AVR für den Einstieg empfehlen.

Andy

von papa_of_t (Gast)


Lesenswert?

Ich habe auch mal ein Projekt mit der C-Control realisiert (auch
erfolgreich), aber eher aus damaliger Unkenntnis von Bascom-AVR. Ich
bin schnell an die Leistungsgrenzen gestoßen, und der Controller-Preis
ist irre. Aber gut - bin nicht dümmer geworden dabei.

Dann hab ich nach AVR geschaut und mich hat der Preis vom STK500
erstmal abgeschreckt. Braucht man aber gar nicht als Einsteiger. Und
obwohl ich früher Assembler programmiert habe und auch hin und wieder
einsetze, nehme ich Bascom-AVR (Demo) zum Basteln. So ein Print-Befehl
und allgemein kurze Listings haben schon ihren Reiz. Total mundgerecht
und bequem für mich, nicht so teuer und ein echter Geheimtip (Buch und
Bausatz gibt es nicht bei Amazon):

http://www.segor.de/L1Bausaetze/rowalt.shtml

Aktuell hab ich da eine SD-Karte über SPI abgeschlossen, da schaffe ich
mit bis über 250 kByte/s Durchsatz Daten drauf zu scheiben (ATmega8, mit
14,7456 MHz getaktet) - Das reicht sowohl vom Speicher her als auch von
der Geschwindigkeit für meine Zwecke und wird evtl. für viele Deiner
Vorhaben auch reichen, es sein denn, Du willst Bild oder Film
bearbeiten..

Viel Spaß beim Basteln!

von Philipp Karbach (Gast)


Lesenswert?

hallo danke für die vielen antworten. Ich hab mir schon ein bisschen
code für mikrocontroller angesehen. Die meisten files erinnern mich
stark and alle möglichen Parallelport-Programme die ich mal geschrieben
hab. (Bitmasken, port, Interrupts, etc.) Gerade im C-Code kommt mir das
irgendwie anschaulich vor. Naja wie auch immer vielleicht hab ich aber
noch gar keine ahnung.

Auf jedenfall werde ich mir mal so eine Platine von myavr bestellen,
für den Preis kann man nicht viel falschmachen denke ich. Weiteres
Feedback ist dennoch erwünscht.

von Peter Mahler (Gast)


Lesenswert?

>Also wenn Du es Dir wirklich zutraust, kann Du das Fliegen gleich auf
>einen Airbus A380 (= ARM) lernen.

>In der Regel fängt man aber auf einer kleinen Propellermaschine (=
>AVR)
>an, um überhaupt erstmal die Grundlagen zu erlernen.

Naja,

der Vergleich hinkt wohl etwas!

Es ist zwar schon richtig, dass ich die uC-Programmierung am besten auf
einem 8-Bitter lerne, auch ist der AVR-Assembler um einiges einfacher zu
lernen als der vom ARM7.

Aber :
Das Verständnis für einen uC gegenüber einem PC braucht man bei beiden,
die Datenblätter und Dokumente sind bei beiden gleich schlecht und die
Handhabung ist meiner Ansicht nach bei den Philips-LPC-ARM7 wesentlich
einfacher als beim Atmel AVR. Durch die Typenvielfalt die es bei den
AVR gibt, wird es für einen unerfahrenen C-Programmierer noch viel
schwerer etwas sinnvoll ans Laufen zu bringen.

Der Parallel-Port-Programmer hat mich bei den AVR schon zum Verzweifeln
gebracht (...es liegt i.d.R. nicht am Programmer, sondern an
Windows...), mit dem ARM7 kenne ich diese Probleme nicht!
Eine Debug-Möglichkeit besitzt der AVR nur bei speziellen Typen, der
ARM7 serienmässig. (...wobei das JTAG-Debuggen meiner Ansicht nach
nicht für einen Anfänger zu empfehlen ist...)

Vom Preis nehmen sie sich auch nicht viel, ob ich mir ein AVR
EVAL-Board für 30 Euro und einen Parallel-Port-Programmer für 20 Euro
kaufe, oder ein LPC2106 Eval-Board für 52 Euro macht fast keinen
Unterschied.

Das Handling von Compiler, Linker, Makefiles ist bei beiden nahezu
identisch.

Ich programmiere sowohl Atmel AVR als auch ARM7 (Philips-LPC) und bin
der Meinung dass man, insbesondere, wenn man nahezu ausschliesslich C
programmiert, mit dem ARM7 die bessere Wahl für den Einstieg hat, von
der Performance mal ganz abgesehen.

Was mich ab und zu noch zu den AVR treibt, ist der einfache schlanke
Aufbau durch das konventionelle DIL-Gehäuse und die wenigen Pins. Der
Preis ist nur bei Serieneinsatz wirklich relevant.


Gruss,

Peter

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ich empfehle den AVR für den Einstieg. Nach einem Blick auf die
Interrupt-Funktionen des ARM sollte klar sein warum.

von DerElektrischeReiter (Gast)


Lesenswert?

@Peter: Ist es nicht auch angenehm, das man sich in einem modernen
Airliner nicht um jeden Pups selber kümmern muß, weil einem genug
elektronische Hilfsmittel und Navigationsinstrumente zur Verfügung
stehen?

cu

PS: Kann man wirkich schon eine Pilotenlizenz auf A380 machen? Da sind
doch noch keine Maschinen geliefert ...

von Peter D. (peda)


Lesenswert?

@Peter Mahler

"Der Parallel-Port-Programmer hat mich bei den AVR schon zum
Verzweifeln
gebracht"

Nun hier im Forum habe ich den Eindruck gewonnen, daß Du damit nicht
allein bist.

Ich kann da nicht mitreden, da ich ihn noch nie probiert habe.
Ich nehme entweder den ISP des STK500 oder meinen Bootloader.

Und bei den 8051-ern nehme ich jetzt auch nur noch die mit eingebautem
Bootloader, ist dann quasi wie bei den ARMs.


ARM ist aber nicht gleich ARM, zwischen denen von Atmel, Philips und ST
sind schon erhebliche Unterschiede.

Insbesondere der von ST mit seinen 17 Interruptprioritäten ist schon
äußerst schwer zu durchschauen (etwa 37 Seiten nur über den
Interruptkontroller).


In meiner Analogie ausgedrückt, kennst Du eine Propellermaschine,
kommst Du auch schnell mit den anderen klar, aber beim Airbus mußt Du
jeden Typ extra erlernen.


Peter

von Jochen (Gast)


Lesenswert?

hallo Peter Mahler
wo gibts den LPC2106 Eval-Board für 52€ und da ist das "jtag
kabel" auch dabei??
gruß
jochen

von Andy (Gast)


Lesenswert?

Hier im Shop gibts auch gute und günstige Boards für beide MCs.

Gruß
Andy

von Philipp Karbach (Gast)


Lesenswert?

ich hab mir das Olimex ARM board schon mehrmals angesehen und finde es
eigentlich ziemlich interessant. Von den tutorials sieht auch nicht
viel komplizierter aus als AVR asm/C.

von Philipp Karbach (Gast)


Lesenswert?

achja, wieviele externe ports kann man eigentlich mit dem ARM board von
Olimex ansteuern? oder ist das bei dem LPC2100 standartisiert worden?

von Ppp M. (sanic)


Lesenswert?

Kommt drauf an was du für einen ARM nimmst.
LPC22xx haben nochmal ein paar I/Os mehr weil man da normalerweise auch
SRAM ranhängen kann.
Schau dir halt die Datenblätter an wo die einzelnen Pins beschrieben
sind.

Grüße

von Markus (Gast)


Lesenswert?

Ich finde, der Preisunterschied spielt schon eine Rolle. Denn dann kann
man es sich bei selbstaufgebauten Platinen (und das ist ja bei den
DIP-Gehäusen nicht schwer) leisten, für jedes Projekt eine neue CPU zu
verwenden. Man baut z.B. eine Uhr auf und wenn man dann ein Thermometer
bauen will, dann muß man nicht die Uhr zerlegen oder beides integrieren
sondern kann einfach eine neue Platine mit neuer CPU aufbauen.

Markus

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.