Forum: Mikrocontroller und Digitale Elektronik Einstieg in Microcontroller


von Alex G. (alexx)


Lesenswert?

Hallo liebe µC-Freunde!

Ich möchte gerne anfangen, Mikrocontroller zu programmieren und mit 
ihnen rumzubasteln.
Ich habe schon Erfahrung mit FPGAs und kann ein einigermaßen x86 
Assembler (aber noch kein ARM). Ich glaube, dass ich C Kentnisse (habe 
ich schon) und ARM Assembler Kentnisse brauche, oder liege ich da 
falsch?

Als Start-Projekt würde ich gerne einen kleinen MMC/SD Cardreader 
basteln, der über USB mit dem Host kommunizieren kann. Später will ich 
damit auch eMMCs auslesen können (keine Änderungen nötig glaube ich).

Da ich keine Ahnung habe, welchen Mikrocotroller ich dafür am besten 
benutzen sollte, bin ich auf eure Vorschläge angewiesen :)
Wäre praktisch, wenn er besonders für mein Start-Projekt geeignet ist 
(wahrscheinlich dann mit SPI Interface, oder gibt es auch eine andere 
Möglichkeit?). Die Programmierung sollte, wenn möglich, ohne zusätzliche 
TEURE Programmer und über USB erfolgen. Ebenso sollte die 
Datenübertragung über USB ohne einen zusätzlichen Chip möglich sein.
Die Software sollte auch kostenlos vom Hersteller zubekommen sein.
Gerne würde ich mir ein fertiges Board kaufen, also erst mal keins 
selber basteln.

Freue mich auf eure Vorschläge!

einen schönen 2. Advent
Alex

von Weltwunder (Gast)


Lesenswert?

Alex G. schrieb:
> Hallo liebe µC-Freunde!

Hallo

> Ich möchte gerne anfangen, Mikrocontroller zu programmieren und mit
> ihnen rumzubasteln.

Schön

> Ich habe schon Erfahrung mit FPGAs und kann ein einigermaßen x86
> Assembler (aber noch kein ARM). Ich glaube, dass ich C Kentnisse (habe
> ich schon) und ARM Assembler Kentnisse brauche, oder liege ich da
> falsch?

Bascom geht auch

> Als Start-Projekt würde ich gerne einen kleinen MMC/SD Cardreader
> basteln, der über USB mit dem Host kommunizieren kann. Später will ich
> damit auch eMMCs auslesen können (keine Änderungen nötig glaube ich).

DAS als Startprojekt. LED blinken / Anzeige wäre als STARTPROJEKT 
einfacher.

> Da ich keine Ahnung habe

Genau deshalb

> welchen Mikrocotroller ich dafür am besten
> benutzen sollte, bin ich auf eure Vorschläge angewiesen :)
> Wäre praktisch, wenn er besonders für mein Start-Projekt geeignet ist
> (wahrscheinlich dann mit SPI Interface, oder gibt es auch eine andere
> Möglichkeit?). Die Programmierung sollte, wenn möglich, ohne zusätzliche
> TEURE Programmer und über USB erfolgen. Ebenso sollte die
> Datenübertragung über USB ohne einen zusätzlichen Chip möglich sein.
> Die Software sollte auch kostenlos vom Hersteller zubekommen sein.
> Gerne würde ich mir ein fertiges Board kaufen, also erst mal keins
> selber basteln.

Wenn keiner weiß, was das Ding können soll, kann dir hier keiner helfen.
Vielleicht aber ein Atmega8 / 88, die sind für ziemlich viel zu 
gebrauchen.

> Freue mich auf eure Vorschläge!
>
> einen schönen 2. Advent
> Alex

von Alex G. (alexx)


Lesenswert?

Hat sonst noch jemand einen Vorschlag?

von Solide Vollnarkose (Gast)


Lesenswert?

Also ich finde die Vorschläge von Weltwunder für einen uC-Einsteiger 
wirklich gut...

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Alex G. schrieb:
> Als Start-Projekt würde ich gerne einen kleinen MMC/SD Cardreader
> basteln, der über USB mit dem Host kommunizieren kann. Später will ich
> damit auch eMMCs auslesen können (keine Änderungen nötig glaube ich).

Hallo Alex, ich kann 'Weltwunder' nur zustimmen, das von dir geplante 
Projekt ist kein Einsteiger-Projekt. Fang am besten klein an, und 
arbeite dich Stück für Stück weiter. Einsteigersets dazu gibts 
haufenweise, zum Beispiel von Franzis oder von mir; und es gibt ein 
ausgezeichnetes Tutorial hier bei mikrocontroller.net, für das du nur 
eine Hand voll Bauteile besorgen musst – falls du die nicht eh schon 
hast.

Dass es notwendig ist, einen ARM-Prozessor für dein Vorhaben 
einzusetzen, möchte ich bezweifeln. Sofern die Anforderungen an die 
Datenübertragungsrate gering sind, lässt sich das sogar mit einem 
billigen ATtiny85 realisieren.

Falls sie höher sind, kommst du vielleicht mit einem ATmega32U4 zum Ziel 
– oder mit einem entsprechenden PIC-Controller.

von holger (Gast)


Lesenswert?

Was war hier eigentlich das Problem?

Beitrag "Kommunikation schlägt fehl nach Löten"

>Hat sonst noch jemand einen Vorschlag?

Kosmos Elektronikbaukasten.

>Als Start-Projekt würde ich gerne einen kleinen MMC/SD Cardreader
>basteln, der über USB mit dem Host kommunizieren kann.

Sonst hast du keine Probleme? Irgendwie ein klein wenig
grössenwahnsinnig?

>Dass es notwendig ist, einen ARM-Prozessor für dein Vorhaben
>einzusetzen, möchte ich bezweifeln.

Genau so etwas würde ich dafür aber nehmen.
Diese schlappen ATMegas haben nicht ansatzweise
ausreichend RAM um mit Multiblock Read/Write mal
anständige Übertragungsraten hin zu bekommen.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

holger schrieb:
> Genau so etwas würde ich dafür aber nehmen.

Dein Einwand ist völlig berechtigt.

Da wir aber nicht wissen können, welche DÜ-Raten alexx benötigt und auch 
nicht wissen, ob er überhaupt Multi-Block-Read braucht, können wir hier 
trefflich spekulieren. :-)

Übrigens... es ist nicht unbedingt nötig, Daten zu puffern, wenn man 
eine SD-Karte liest. Man kann sie so langsam lesen wie man will. Das 
Gleiche gilt fürs Schreiben. Man muss die Daten nicht Puffern und dann 
schreiben, sondern man kann sie auch Byte für Byte im Sekundentakt an 
die SD-Karte senden.

Man könnte sogar einen Mikrocontroller ganz ohne SRAM verwenden - aber 
das würde selbst ich nicht empfehlen. ;-)

von C-Dan (Gast)


Lesenswert?

willst du ganz billig mit viel selber löten einsteigen oder spielt geld 
keine rolle?

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Hallo Alex,
wenn Du erst mal nichts löten willst, kann ich den Pinguino-OTG 
empfehlen. Da ist ein µSD- Card Reader und auch eine USB- Schnittstelle 
mit drauf. Der Prozessor ist ein PIC32.

https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO-OTG/

Zur Programmierung gibt es eine kostenlose IDE, die Sprache ist C (bzw. 
ein abgespecktes C). Programmierung läuft über ein USB- Kabel.

Ich habe noch ein "LCD Keypad Shield" draufgesteckt, für erste Versuche 
mit dem Teil.

von Alex G. (alexx)


Lesenswert?

Danke für eure vielen Beiträge!

holger schrieb:
> Was war hier eigentlich das Problem?
> Beitrag "Kommunikation schlägt fehl nach Löten"
Irgendwas stimmt mit den Widerständen nicht... Leiten die eigentlich 
immer noch Strom, wenn sie kaputt sind, oder ist die Leitung dann immer 
durchbrochen?

@m-w:
Hohe Übertragungsraten lehne ich natürlich nicht ab.
Wahrscheinlich sollte ich mir beides zulegen, ein ARM-Prozzessor Board 
und ein ATMEGA Board. Mit Prozessoren hab ich nämlich auch noch nichts 
gemacht (abgesehen von denen meiner PCs...).


C-Dan schrieb:
> willst du ganz billig mit viel selber löten einsteigen oder spielt geld
> keine rolle?
Ich brauche erst mal eine bessere Lötausstattung, die ist wirklich sehr 
mies. Also will ich mir schon als erstes ein fertiges Board kaufen.


Wolfgang Kiefer schrieb:
> wenn Du erst mal nichts löten willst, kann ich den Pinguino-OTG
> empfehlen. Da ist ein µSD- Card Reader und auch eine USB- Schnittstelle
> mit drauf. Der Prozessor ist ein PIC32.
Das sieht ja ganz gut aus, RAM ist auch nicht zu wenig und günstig ist 
das Teil auch.
Ist es vielleicht besser einen PIC zu nehmen, als einen ATMEGA?

von Chris (Gast)


Lesenswert?

Alex G. schrieb:
> Ist es vielleicht besser einen PIC zu nehmen, als einen ATMEGA?

Ist der Islam die bessere Religion als das Christentum?
Ist der Buddhismus die bessere Religion als das Christentum?
Ist der Buddhismus die bessere Religion als der Islam?

Für die ersten (und zweiten) Schritte wie du sie vorhast, dürfte sich 
das nichts geben.

von Dirk K. (knobikocher)


Lesenswert?

MSP430 Launchpad + kostenlosem Code Composer Studio.

von Alex G. (alexx)


Lesenswert?

Chris schrieb:
> Ist der Islam die bessere Religion als das Christentum?
> Ist der Buddhismus die bessere Religion als das Christentum?
> Ist der Buddhismus die bessere Religion als der Islam?
Ich hab's nicht so mit Religion...

Chris schrieb:
> Für die ersten (und zweiten) Schritte wie du sie vorhast, dürfte sich
> das nichts geben.
Okay, wofür ist denn dann ein PIC besser geeignet, als ein ATMEGA?

Dirk Knoblich schrieb:
> MSP430 Launchpad + kostenlosem Code Composer Studio.
Der MSP430 hat wahrscheinlich zu wenig RAM für meine Ansprüche.

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Der PIC hat höhere Taktfrequenz (80MHz) als der Atmega. Das war für mich 
entscheidend (Verwendung für HF- Zähler).
Nachteil: Die IDE des Pinguino ist sagen wir mal noch etwas einfach 
gehalten, Syntax- Fehler werden nicht genau aufgeschlüsselt.
Nimmt man die IDE von Microchip, benötigt man einen Programmer. Meiner 
hat ca. 17+6 € bei 2 Wochen Wartezeit (China) gekostet.

von Marco M. (marco123)


Lesenswert?

Ich kann verstehen, wenn man einem blutigem Anfänger einen AVR 
vorschlägt, aber Basecom für jemanden, der schon C beherrscht? Außerdem 
ist jemand mit Programmiererfahrung und FPGA-Erfahrung kein Anfänger. 
Nehme ruhig einen ARM das ist etwas aufwändiger, was den Einstieg 
angeht, aber lohnt auf alle Fälle. Schau dir das Teil mal an:
http://www.watterott.com/de/STM32F4Discovery

von Cannabis_engineer (Gast)


Lesenswert?

Bisl Texas Instruments pushen:

MSP430 Launchpad :
Kostet nur 5 Dollar und die passenden MCUs gibts kostenlos als Samples.


Stellaris Launchpad  :
Mit ARM Cortex M4F und auch nur 5 Dollar.

von Cannabis_engineer (Gast)


Lesenswert?

Oh sorry sehe grad, es kostet mitlerweile 12,99 Dollar...Hab ich ja 
nochmal Glück gehabt, dass ich nur 5 Dollar incl. shipping bezahlt 
habe^^

von Alex G. (alexx)


Lesenswert?

Wolfgang Kiefer schrieb:
> Der PIC hat höhere Taktfrequenz (80MHz) als der Atmega.
OK, dann tendiere ich eher zu einem PIC.
Programmer kann man sich selber basteln, hab ich für den PIC16 auch 
schon gesehen.

Marco Gi schrieb:
> Schau dir das Teil mal an:
> http://www.watterott.com/de/STM32F4Discovery
Das Teil schaut auch nicht schlecht aus, hat auch einiges andere noch on 
board. ARM ist ja auch viel weiter verbreitet als PIC denke ich mal. 
Wenn es noch ein paar anfängerfreundliche Examples, Tuturials etc. gibt, 
dann wäre es gewiss eine gute Entscheidung, dieses Board zu kaufen.

@Cannabis_engineer:
Texas Instruments scheint mir ziemlich günstig vorzukommen, wo ist da 
der Haken? Braucht man einen zusätzlichen Programmer und wo hast du die 
Preise für die beiden Boards gefunden?

von Marco M. (marco123)


Lesenswert?

Weder bei texas noch beim STM brauchst du einen Programmer. Sind jeweils 
dabei. Die Hersteller verkaufen die so günstig, weil sie wollen, dass du 
damit arbeitest. Den Umsatz machen sie nachher mit den Chips. Suche mal 
nach STM 32 Tutorial Diller. Das ist sehr gut gemacht und sogar auf 
deutsch. Außerdem kommt die STM Library mit diversen Beispielen, die 
zwar teilweise etwas unübersichtlich sind, aber auch ganz gut weiter 
helfen!

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Danke für die Informationen! Nachdem ich mehr über STM32 gelesen habe, 
konnte ich nicht widerstehen und habe die Discovery- Kits 3 und 4 
bestellt :))

von EinGast (Gast)


Lesenswert?

Ich habe mir jetzt ein Olimex LPC-E2214 nxp LPC2214 Board zu Weihnachten 
gegönnt. Ein STM32 Nr.4 kaufe ich mir vielleicht auch noch.

von Launch it (Gast)


Lesenswert?

Für die esten Gehversuche sind TI 's Launchpad (MSP430 oder ARM) und ST 
's Discovery (verschiedene ARM) unschlagebar im 
Preis-Leistungsvergleich.

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.