Forum: Mikrocontroller und Digitale Elektronik Die Qual der Wahl


von Jochen P. (epal)


Lesenswert?

Hallo,

Weihnachten steht vor der Tür und ich möchte mir ein schönes Geschenk 
machen. Auch wenn ich vermute, dass ich der Tausendste bin, der hier 
etwas Unterstützung bei der Wahl des richtigen Anfangs benötigt, hoffe 
ich, dass ihr mir helfen könnt das richtige Starter Kit für mich zu 
finden. Ehrlich gesagt habe ich nicht besonders viel Ahnung von den 
Unterschieden und möchte nicht die absolut falsche Wahl treffen.

Ich habe mir vorgenommen, ein kleines Board zu bestücken und an diesem 
ein paar LEDs zum blinken zu bringen. Allerdings sollen diese LEDs vom 
Computer aus über USB Befehle am Board gesteuert werden.

Zunächst habe ich ein paar grundlegende Fragen zu den Boards:
- Sind die USB Anschlüsse an allen nur zum flashen des Controllers oder 
kann ich jeden für meine Zwecke verwenden?

- Wenn ich Mist baue (und das werde ich) und den Controller z.B. 
kurzschließe oder sonstwie kaputt mache, kann ich den µC dann ohne viel 
Aufwand austauschen oder ist das boardabhängig?

- In Anbetracht der starken Verbreitung von ARM RISC prozessoren in 
Navis, Smartphones etc. würde ich gerne mit dem ARM Befehlssatz 
arbeiten. Begehe ich einen großen Fehler wenn ich damit einsteige, zumal 
das bestimmt teuer wird ohne Erfahrung. (Ich hätte aber im Grunde kein 
Problem mit AVR einzusteigen.)

- Es wäre natürlich sehr angenehm, wenn das Board im Starter Kit mit 
diversen extern Spannungsquellen USB, Batterie oder Netzteil versorgt 
werden kann.

- Ich möchte ungern mehr als 100€ für meinen Einstieg ausgeben. Gibt es 
Kits, mit denen ich mein Ziel auch so erreichen kann? Und wo kann ich 
das am besten kaufen?


Vielen Dank im Voraus
epal

von Roland H. (batchman)


Lesenswert?

Jochen P. schrieb:
> Ich habe mir vorgenommen, ein kleines Board zu bestücken und an diesem
> ein paar LEDs zum blinken zu bringen.

Kein Problem, das können alle ...

Jochen P. schrieb:
> Allerdings sollen diese LEDs vom
> Computer aus über USB Befehle am Board gesteuert werden.

Echtes USB und "user device class"? Nö, lass mal stecken :-) Am Anfang 
mit RS232.

Jochen P. schrieb:
> Sind die USB Anschlüsse an allen nur zum flashen des Controllers oder
> kann ich jeden für meine Zwecke verwenden?

Läßt sich pauschal nicht sagen. stm32vl discovery: Nur Flash. stm32f4 
discovery: 2x USB (1x Flash, 1x frei). MSP430 Launchpad: Flash und 
seriell (d. h. "unechtes USB"), allerdings auf 9600 limitiert.
Reusch Elektronik: DFU boot loader für Flash, danach "echtes" USB.

Ich würde als Einsteiger die Finger von echtem USB lassen, da die 
Programmierung schon recht komplex ist.

Jochen P. schrieb:
> - Wenn ich Mist baue (und das werde ich) und den Controller z.B.
> kurzschließe oder sonstwie kaputt mache, kann ich den µC dann ohne viel
> Aufwand austauschen oder ist das boardabhängig?

Oh, das lässt sich pauschal nicht sagen. Das hängt eher von Deinem 
Fehler ab. Du hast aber einen wesentlichen Punkt vergessen: Was passiert 
bei Kurzschluss mit Deinem PC? Bist Du sicher, dass Dein USB-Port am PC 
das klaglos hinnimmt? Schaltet der ab, wenn Dein Motor am Kit zu viel 
Saft zieht?

Für wildes Gebastel ist ein separater Programmierer vermutlich besser 
geeignet. Die MSP430 Launchpads und die stm32 discovery boards können 
auch eine andere Target CPU programmieren. Diese andere CPU kann also 
in einem separaten Steckbrett/Modul stecken, mit eigener 
Stromversorgung. Das dürfte dann eine bessere Abschottung darstellen.

Jochen P. schrieb:
> - In Anbetracht der starken Verbreitung von ARM RISC prozessoren in
> Navis, Smartphones etc. würde ich gerne mit dem ARM Befehlssatz
> arbeiten.

Da gibt's verschiedene ARM-Befehlssätze. Nimm' einfach den C- oder 
C++-Befehlssatz ...

Jochen P. schrieb:
> Begehe ich einen großen Fehler wenn ich damit einsteige, zumal
> das bestimmt teuer wird ohne Erfahrung.

Was heisst teuer? Eval-Kits gibts für < 20 EUR. Teuer ist Deine Zeit. 
Und die wird dann richtig teuer, wenn Du das Experiment abbrichst.

> (Ich hätte aber im Grunde kein
> Problem mit AVR einzusteigen.)

atmega sind einfacher als z. B. Cortex-M3. Ich bin aber schnell an die 
Grenzen der Peripherie gestossen und heute vorzugsweise auf Cortex-Mx 
unterwegs. Geschmackssache. Aber Cortex-M3 ist m. A. nach schon ein 
etwas anderes Kaliber, da musst Du Dich halt "durchbeissen". Persönlich 
finde ich, dass man nach der ersten Durststrecke besser unterwegs ist.

Jochen P. schrieb:
> - Es wäre natürlich sehr angenehm, wenn das Board im Starter Kit mit
> diversen extern Spannungsquellen USB, Batterie oder Netzteil versorgt
> werden kann.

Hat alles Vor- und Nachteile. Zum LED-Blinken reicht USB-Versorgung. Die 
beiden oben genannten Kits kommen auch mit separater Versorgung zurecht. 
Man muss halt die Jumper richtig setzen (Launchpad). Beim Discovery 
einfach zusätzlich anstöpseln. Das könnte auch ins Auge gehen, wenn die 
Last Deiner 10000 LEDs so hoch ist, dass zu viel Strom über USB fliesst, 
wenn Du vergessen hast, Deine zusätzliche Versorgung vorher 
anzuschalten. Das gleiche Problem, wenn diese zu früh abgeschaltet/ 
wird.

Jochen P. schrieb:
> - Ich möchte ungern mehr als 100€ für meinen Einstieg ausgeben. Gibt es
> Kits, mit denen ich mein Ziel auch so erreichen kann? Und wo kann ich
> das am besten kaufen?

Für ein Kit und LED blinken reicht das locker. Mehr als 25 EUR würde ich 
nicht ausgeben, lieber 2x das gleiche. Für das Zubehör (Lötkolben, 
Steckbretter, ggf. Programmierer, USB/Seriell-Wandler, Kabel, Netzteile, 
...) schätze ich nochmal 100 - 150 EUR.

Wenn's ein ARM sein soll: Such mal nach lpcxpresso, stm32vl discovery 
(z. B. Watterott). Es gibt auch das stm32f4 discovery, aber das wäre für 
den Anfang recht heftig, lass Dich vom Preis nicht verlocken :-)

AVR: Einzelteile besorgen, Steckbrett, ein atmega mit min. 8k Flash, 
dazu ein AVR MK2 ISP. Ist kurioserweise die teuerste Variante.

AVR: Wenn unbedingt mit USB, dann Reusch Elektronik.

Wenn andere Kits für PIC oder Renesas kennen, < 30 EUR, dann würde mich 
das auch interessieren :-)

von mindfield (Gast)


Lesenswert?

dreieurofuchzig?
http://www.schatenseite.de/index.php?id=216&L=2
kaufen hier:
http://www.csd-electronics.de/
reichelt o.ä

blinkende Weihnachten.

von Krapao (Gast)


Lesenswert?

Die Argumente für/gegen verschiedene µC Familien stehen in der Beratung 
in der Artikelsammlung, kennst du diese Artikel?

Ich würde keinen ARM nehmen, wenn ich noch nie etwas mit einem µC 
gemacht habe. Für dein dein Vorhaben würde ich mir ein Arduino Board 
ansehen. Die Systeme sind mit USB programmierbar und steuerbar. Der 
Anschluss verschiedenster Hardware über sog. Shields ist im Internet oft 
beschrieben. Die Community speziell zum Arduino und breiter zu AVRs 
allgemein ist groß, so dass bei Problemen auch Hilfestellung da ist.

von Peter D. (peda)


Lesenswert?

Jochen P. schrieb:
> Weihnachten steht vor der Tür und ich möchte mir ein schönes Geschenk
> machen.

Du kannst dann über die Feiertage reinriechen und bis nächstes 
Weihnachten hast Du schon ein paar Programme fertig.

Jochen P. schrieb:
> Allerdings sollen diese LEDs vom
> Computer aus über USB Befehle am Board gesteuert werden.

USB ist nur für den Anwender einfach, aber nicht für den Programmierer.
Kommunikation mit dem PC würde ich weit hinten anstellen. Schon allein 
ein Protokoll zu entwickeln ist nicht trivial.

Jochen P. schrieb:
> - Wenn ich Mist baue (und das werde ich)

Dafür solltest Du ein extra Netzteil vorsehen. Die USB-Speisung sollte 
ausschließlich nur der Programmer benutzen.
Es ist auch viel schöner, wenn die ersten Programme von alleine laufen 
und man nicht immer erst den PC booten muß.

Jochen P. schrieb:
> - In Anbetracht der starken Verbreitung von ARM RISC prozessoren in
> Navis, Smartphones etc. würde ich gerne mit dem ARM Befehlssatz
> arbeiten.

Beachte aber, daß hinter diesen Anwendungen Mann-Jahrtausende an 
Entwicklungszeit stecken.
Zum Einstieg sollte man besser Ziele setzen, die unter einem Mannjahr zu 
schaffen sind.

Jochen P. schrieb:
> - Ich möchte ungern mehr als 100€ für meinen Einstieg ausgeben.

Z.B. Arduino, AVR DRAGON oder STK500


Peter

von Jochen P. (epal)


Lesenswert?

Hallo,

vielen Dank für eure schnellen und ausführlichen Antworten.

Ich habe mir jetzt die vorgeschlagenen Boards angesehen und habe nochmal 
über meine Ziele nachgedacht. Einen USB Anschluss brauche ich ja 
eigentlich gar nicht, wenn ich das ganze einfacher mittels 
RSR232-USB-Adapter lösen kann.

Deshalb denke ich, dass ich mir das STK500 kaufen werde. Im Grunde 
vereint es ja das wichtigste.
Mir stellen sich jetzt folgende Fragen:
- Es heißt, dass man mit AVR-Studio die Mikrocontroller über das 
STK-Board programmieren kann, gelingt das genauso gut unter Linux?

- Ist die Abfolge der Schritte einer kleinen Realisierung so in etwa 
vorstellbar?:
  1. Schaltkreis auf einer Lochrasterplatte zusammenstellen.
  2. Software programmieren.
  3. Einfachen USB<->Seriell-Konverter zwischen Rechner-USB und STK500 
Seriell-Anschluss anstecken.
  4. Mikrocontroller auf das STK500 setzen und Software überspielen.
  5. Mikrocontroller ggf. auf dem STK500 testen.
  6. µC abnehmen und in Schaltkreis integrieren.

- Besitzen die gängigen µCs alle Schnittstellen für die serielle 
Kommunikation, sodass so etwas machbar wird: 
http://www.evilmadscientist.com/article.php/avrserial

- Da ich zu einem STK500 tendiere und dieses einen Programmer besitzt. 
Benötige ich keine externe Hardware wie den AVR MK2 ISP. Ist dieser um 
vieles robuster, sodass ich ihn später vielleicht trotzdem verwenden 
sollte?

- Wenn ich ein Projekt mit serieller Kommunikation realisieren möchte, 
reicht dann der Mikrocontroller alleine aus, um sich um die gesamte 
Kommunikation mit einem anderen zu kümmern? Keine externen Elemente 
außer evtl. einer Anschlussbuchse und Stromversorgung?

- Hängt die Spannung der Output-Ports nur von der Versorgungsspannung 
ab?

Vielen Dank für eure Hilfe
Es ist schon wieder so verdammt spät geworden, aber ich hoffe, dass man 
mir doch noch folgen kann.

MfG
Jochen

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Jochen P. schrieb:
> - Es heißt, dass man mit AVR-Studio die Mikrocontroller über das
> STK-Board programmieren kann, gelingt das genauso gut unter Linux?

Weiß ich nicht. Der AVR-GCC sollte aber auf Linux laufen.


Jochen P. schrieb:
> - Ist die Abfolge der Schritte einer kleinen Realisierung so in etwa
> vorstellbar?:
>   1. Schaltkreis auf einer Lochrasterplatte zusammenstellen.
>   2. Software programmieren.
>   3. Einfachen USB<->Seriel-Konverter zwischen Rechner-USB und STK500
> Seriell-Anschluss anstecken.
>   4. Mikrocontroller auf das STK500 setzen und Software überspielen.
>   5. Mikrocontroller ggf. auf dem STK500 testen.
>   6. µC abnehmen und in Schaltkreis integrieren.

Kannst Du so machen. ISP heißt aber nicht umsonst 
"In-System-Programming", deshalb kannst Du den Mikrocontroller auch 
direkt in deiner Schaltung programmieren und brauchst ihn nicht ins 
STK500 stecken.


Jochen P. schrieb:
> - Besitzen die gängigen µCs alle Schnittstellen für die serielle
> Kommunikation, sodass so etwas machbar wird:

Nicht alle, aber man kann die Schnittstellen recht leicht in Software 
nachbilden. Da gibts vorprogrammiertes Zeugs, das Du einfach nur noch in 
dein Projekt laden musst.


Jochen P. schrieb:
> - Da ich zu einem STK500 tendiere und dieses einen Programmer besitzt.
> Benötige ich keine externe Hardware wie den AVR MK2 ISP. Ist dieser um
> vieles robuster, sodass ich ihn später vielleicht trotzdem verwenden
> sollte?

Das STK500 ist nicht so doll. Ich würde eher einen AVRISP MK2 empfehlen, 
da Du ja sowieso ein Steckbrett kaufst. Zum Thema Robustheit: Das STK500 
ist eine offene Platine, der AVRISP MK2 hat ein Gehäuse... Was ist wohl 
robuster? ;)


Jochen P. schrieb:
> - Wenn ich ein Projekt mit serieller Kommunikation realisieren möchte,
> reicht dann der Mikrocontroller alleine aus, um sich um die gesamte
> Kommunikation mit einem anderen zu kümmern? Keine externen Elemente
> außer evtl. einer Anschlussbuchse und Stromversorgung?

Ja. Höchstens noch ein paar Widerstände.


Jochen P. schrieb:
> - Hängt die Spannung der Output-Ports nur von der Versorgungsspannung
> ab?

Eigentlich schon. Wenn Strom fließt, verändert sich die Ausgangsspannung 
aber etwas. Pass außerdem auf, dass Du die Ports nicht überlastest. Die 
sind sonst ganz schnell tot.


Für den Anfang würde ich mir folgende Mikrocontroller zulegen:
- 2x ATMega88
- 2x ATTiny861
- 3x ATTiny85

Und dazu noch so um die 20 100nF (Keramik-)Kondensatoren.
Außerdem wäre ein Steckbrett ganz nützlich (bzw. unerlässlich).
Und der übliche Kleinkram, falls Du den nicht schon haben solltest. 
(Widerstände, Kondensatoren, Transistoren, LEDs, OPVs, ...)


Gruß
Jonathan

von Roland H. (batchman)


Lesenswert?

Jonathan Strobl schrieb:
> Weiß ich nicht. Der AVR-GCC sollte aber auf Linux laufen.

avr-gcc und avrdude (zumindest für das AVR MK2 ISP) laufen wunderbar 
unter Linux. Für Debian gibt es offizielle Pakete, es ist somit m. E. 
einfacher in der Handhabung als unter Windows (bezüglich Updates 
einspielen).

Jonathan Strobl schrieb:
> Das STK500 ist nicht so doll. Ich würde eher einen AVRISP MK2 empfehlen,
> da Du ja sowieso ein Steckbrett kaufst.

Ich stimme in beiden Punkten zu. Was willst Du mit dem STK500?

Jonathan Strobl schrieb:
> - 2x ATMega88
> - 2x ATTiny861
> - 3x ATTiny85

Wenn schon atmega88, dann schon atmega88pa.

Den attiny861 kenne ich nicht.

Den attiny85 würde ich nur dann nehmen, wenn es wirklich auf den Platz 
ankommt (er hat keinen HW USART und m. E. noch ein paar andere unschöne 
Dinge z. B. im Vergleich zu einem atmega88*/atmega328p)

Unter dem Strich würde ich mir nur einen einzigen Typ zulegen, nämlich 
den atmega328p - das ist m. W. der aktuellste mit der besten Ausstattung 
in dip28. Bei mir liegen attiny2313 und atmega8 auf Halde, weil mir 
beide recht schnell zu "eng" wurden.

Die Entscheidung gegen ARM scheint ja nun gefallen zu sein. Ich habe 
zufällig mit beiden Typen gleichzeitig begonnen habe (konkret attiny2313 
auf Steckbrett mit MK2 ISP und einem stm32f103 via seriellem Boot 
loader).
Beide haben ihre Vor- und Nachteile, und ich musste mich bei beiden 
"durchbeissen". Ich meine, dass es "gleich schwer" war: Beim AVR auf dem 
Steckbrett war ich mit dem Verstöpseln gut beschäftigt (inklusive 
max232), das war beim stm32 auf dem Modul alles fertig. Dafür habe ich 
dort beim Blinken der LEDs für die SW länger benötigt. USART ist am 
Anfang in diesen Fällen gleich schwer. In Summe: gleich aufwändig. 
Beides waren wichtige Erfahrungen, da es kaum Überlappungen gab.

Perfektion bei der ersten Auswahl ist ein bekanntes Phänomen :-)

von Jochen P. (epal)


Lesenswert?

Hallo,

wieder einmal Danke für die Antworten. Ich habe noch ein paar tolle 
Fragen:

> Was willst Du mit dem STK500?

Ich dachte, da ich ein Anfänger bin, sollte ich vielleicht nicht gleich 
an der untersten Ebene, wo ich wieder viel kaputt machen kann, ansetzen. 
Ich habe nämlich keine Vorstellung davon, wie kompliziert es ist in 
meinem eigenen Schaltkreis ISP zu ermöglichen.
Dann muss ich doch sicher bestimmte Pins zu einer zum Programmer 
kompatiblen Buchse abzweigen.
Könnten diese Pins dann aber auch anderweitig in der Schaltung verwendet 
werden, sodass ich einen Schalter zwischen Programmiermodus und normalem 
Betrieb einbauen muss (, da ansonsten Signale des Programmierens in den 
Schaltkreis geleitet werden?)?

Außerdem frage ich mich, ob ich dann bei der Stromversorgung bestimmte 
Sicherheitsmechanismen für den Eigenbaubetrieb integrieren muss, damit 
das Gerät vor Störungen wie Überspannung geschützt ist? (Vielleicht auch 
Kondensatoren gegen Schwankungen in der Versorgung).


Deshalb wollte ich eigentlich das STK500 nehmen, damit ich euch nicht 
wieder mit Fragen überhäufe. ^^ Aber na gut so lerne ich wenigstens 
alles von Grund auf.

Also wäre die bessere Alternative ein AVRISP MKII zum Programmieren zu 
verwenden und mir einfach einen Haufen kleiner Bauteile zu kaufen um das 
gesamte Board selbst mittels Tutorials aufzubauen. Wenn ich zusätzlich 
aber Debugging durchführen möchte, sollte ich mir einen AVR Dragon 
kaufen(?). (Auch wenn der Dragon wieder wie eine Wissenschaft für sich 
auf mich wirkt)


Achja falls jemand sonst noch eine besondere Kaufempfehlung für mich 
hat, ich komme außerdem in den Genuss der Universitäts-Rabatte, weshalb 
ich einen etwas größeren Spielraum habe und vielleicht auch etwas nehmen 
könnte, was sonst außerhalb meines Budgets liegen würde.

MfG
Jochen

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.