Forum: Mikrocontroller und Digitale Elektronik Einstieg in die µC Welt-was brauche ich alles?


von Thomas S. (thomas_s74)


Lesenswert?

Hallo
Ich will jetzt endlich über die analogtechnik herauskommen und mit µC´s 
anfangen. Ich habe mich ein bisschen eingelesen (leider aber auch nur 
ein bisschen, wird aber nachgeholt) und bin zum entschluss gekommen, 
dass ich mit AVR anfangen will, da es sich ohne zusätzliche "teile" 
programmieren lässt. Ich will realistisch anfangen und will vorerst ein 
3 faches lauflicht mit einem ATtiny13 realisieren.

Was brauche ich alles, um in das Gebiet einzusteigen? PC,µC, breadboard 
ist klar. Aber was brauche ich sonst so noch? Kennt ihr gute links, wo 
man sich da einlesen kann? Hier hab ich mich schon ein bisschen 
eingelesen, aber ich finde es nicht ganz sooo informativ. Z.B. weiß ich 
nicht mal, wie denn so Programmierbefehle lauten.

MFG
Thomas

von Floh (Gast)


Lesenswert?


von Der Lars (Gast)


Lesenswert?

Hallo Thomas,

Zunächst einmal brauchst du natürlich ein Etwicklerboard.
Und je nachdem ob du eine Serielle Schnittstelle hast oder nicht 
brauchst du auch noch einen USB Adapter.

Ich bin auch noch Neuling in der ganzen Sache. Kenne mich mit dem ATiny 
nicht wirklich aus. Allerdings empfehle ich dir lieber mit einem etwas 
größerem (Atmega8) anzufangen. Wenn du nämlich mit deinem ATiny deine 
ersten Lichtspielchen gemacht hast und dir ein etwas größeres Projekt 
ausgedacht hast merkst du dass du mit dem ATiny vielleicht nicht sehr 
weit kommst und must dir dann ein neues Entwicklerboard kaufen. (Es sei 
denn du kaufst dir ein Allrounder wie Stk500)

Meine erste Ausrüstung war:
das Olimex AVR-P28 board
USBProg als USB Adapter
Ein einfaches Steckbrett
Ein Satz Steckbrett Kabel
Ein Paar LEDs (Direkt mit Vorwiderstand)
Ein Netzteil welches eine Spannung von 5v erzeugt
und natürlich Passende Netzbuchsen

Hast du ein wenig Ahnung von der Sprache C oder Assembler? oder kennst 
du dich im Programmieren überhaupt nicht aus? Dann würd ich dir erstmal 
C empfehlen.
Dessweiteren habe ich meine Ersten Schritte auch mit einem Buch gemacht.
Ich selbst finde das Buch nicht so dolle weil es sehr verwirrend ist und 
vieles sehr kompliziert und unverständlich erklärt wurde. Mit den 
Tutorials von Mikrocontroller.net und Google ist es aber doch machbar 
gewesen und besser als nichts. ^^
Das Buch heißt
AVR-RISC Embedded Software selbst entwickeln.
ISBN: 978-3-7723-4107-6

Was ich besonders hilfreich an dem Buch finde ist, dass genau erklärt 
wird, wie man den Compiler und die Programmier-Umgebung installiert und 
bedient. Vielleicht findest du ja noch ein anderes besseres Buch welches 
einem Den Einstieg erleichtert.

Mit freundlichen Grüßen
Der Lars

von Michael G. (let)


Lesenswert?

Thomas S. schrieb:
> Ich will realistisch anfangen und will vorerst ein
> 3 faches lauflicht mit einem ATtiny13 realisieren.

Sehr gut. Allerdings würde ich nicht gerade mit dem kleinsten
Controller beginnen. Das die kleinen µCs "einfacher" sind ist
ein Trugschluss. Denn "einfach" bedeutet hier lediglich:
wenige Pins, wenig Speicher, wenig Peripherie. Solche Controller
bieten sich an wenn es um Serienfertigung geht (Kosten) und/oder das
Gerät möglichst klein sein soll.
Mein Vorschlag: ATmega48 (bzw, 88, 168, 328) oder ATmega 8. Trotz
ihrer 28Pins sind die nicht komplizierter als der Tiny13. Und viel
teurer sind die auch nicht.

Ein Vorteil der größeren µCs ist das sie genügend Pins haben um
Programmiergerät und Taster, LEDs o. ä. gleichzeitig anschließen
zu können. Zudem haben sie mehr Peripherie. Vor allem der UART ist
interessant. Er ermöglicht eine relativ einfache Kommunikation
zwischen Controller und PC. Die Möglichkeit Daten (Text) an einen
PC schicken zu können ist kann sehr hilfreich sein.

Apropos Programmiergerät: Hast du dir schon eins ausgesucht?
Mein Tipp wäre das "AVRisp mkII". Das ist nicht allzu teuer und
dürfte die wenigsten Probleme bereiten.

von Thomas S. (thomas_s74)


Lesenswert?

Der Lars schrieb:
> Hast du ein wenig Ahnung von der Sprache C oder Assembler?

Nein

Der Lars schrieb:
> oder kennst
> du dich im Programmieren überhaupt nicht aus?

Genau!

Michael G. schrieb:
> Apropos Programmiergerät: Hast du dir schon eins ausgesucht?

Ja ich wollte das ATMEL evaluationsboard von Pollin nehmen. Geht das für 
den Anfang?

Gut, dan nehme ich den ATmega8. Das ist aber auch wirklich viel, was man 
da alles lernen muss o.O naja ich will das lernen. Aber wenn ich das so 
lese verstehe ich da nicht alles, weil der da schon "fachbegriffe" 
verwendet, die er gar nicht erklärt. z.B. fusebits- da ist die rede von 
den fusebits aber erklärt, was ein fusebit ist wird da nicht.

von Der Lars (Gast)


Lesenswert?

Ja das Problem mit den fehlenden Erklärungen kenne ich auch zu gut. 
Allerdings glaube ich auch, dass wenn man jedes Schnipselchen genaustens 
erklärt ist man als Neuling zu überfordert mit den ganzen Informationen. 
An den Fusebits must du in der Regel von Anfang an nichts verstellen. 
Höchstens die Taktung. Aber das in einem Projekt gefordert wird fragst 
du einfach hier nochmal nach wie das geht und dann wird dir geholfen.

Bevor ich meine erste LED zum laufen gebracht habe, hat es auch ewig 
gedauert. ^^ Irgentwann hab ich es dann sogar in die Ecke geworfen, weil 
ich einfach nicht durchblickte. Dann hab ich es wieder in Angriff 
genommen und es dann auch geschafft. ^^

von Thomas S. (thomas_s74)


Lesenswert?

Ein freund, der auch mit µCs anfangen wollte hats dann aber nicht 
geschafft-angeblich doch zu schwer. Macht nicht gerade Hoffnung aber ich 
mag Herausforderungen.

Mal sehen, was ich so schaffe. Pollin board ist bestellt und ATmega 
gleich auch.

von Bernadette (Gast)


Lesenswert?

Vor einiger Zeit mal gefunden:

http://home.arcor.de/wosm/AtmegaProjekt/index.htm


Viel Erfolg

von Michael G. (let)


Lesenswert?

Thomas S. schrieb:
>> Apropos Programmiergerät: Hast du dir schon eins ausgesucht?
>
> Ja ich wollte das ATMEL evaluationsboard von Pollin nehmen. Geht das für
> den Anfang?

Ich habe zwar so einige Eval-Boards, das Pollin Board jedoch nicht.
Dieser ISP Anschluss ist soweit ich weiß allerdings für die
Pony-Prog Software gedacht. Unter XP mag das (noch) gehen,
bei Vista/Win7 habe ich meine Zweifel. Ein "richtiges"
Programmiergerät ist da schon etwas (funktions-)sicherer. Der
entsprechende Anschluß ist auf dem Board vorhanden. Leider nur
der 10-polige. Es ist mir schleierhaft weshalb der noch verwendet
wird. Atmel hat schon vor zehn Jahren oder so einen 6-pol Anschluß
vorgestellt, der auch von Atmel selbst verwendet wird. Naja, ein
Adapter ist schnell zusammengelötet.

Neuere PCs haben keine serielle Schnittstelle mehr. Da ist ein
USB/Seriell Wandler fällig (Pony-Prog fällt damit aber flach).
Ein passendes (günstiges) Programmiergerät für dazu wäre sowas:
http://onlineshop.ob-elektronik.de/product_info.php?info=p3_ISP-Programmer-seriell.html
oder direkt USB von Ebay:
http://cgi.ebay.de/USB-ISP-Programmer-ATMEL-AVR-ATmega-ATTiny-/400183802345?pt=Wissenschaftliche_Ger%C3%A4te&hash=item5d2cd039e9

Das erste Gerät habe ich selbst. Da würde ich aber vorher anfragen
ob es lieferbar ist und ob der Betrieb des Geräts ohne Gender-changer
möglich ist (oder ob ein Adapter dabei ist). Für mein Gerät brauche
ich so einen Adapter und er war nicht dabei. Zum Glück hatte ich einen.
Das zweite Gerät kenne ich nicht, habe aber hier im Forum gelesen das
die Dinger funktionieren sollen.
Aber nochmal: Am sichersten dürfte das original AVRisp mkII sein.

Du schreibst das du weder Assembler noch C kannst. Das bedeutet das
du dich erstmal für eine der beiden Sprache entscheiden mußt
(vergiss Basic, das ist eine Sackgasse). Beide führen letztlich
zum Ziel. Assembler ist näher an der Maschine. Es gibt Leute die
meinen damit würde man "mehr lernen". Was immer das heißen mag.
C ist dagegen einigermaßen portabel. Da heißt hier zunächst man
lernt es einmal und kann es auf verschiedenen Controllern und auch
für den PC einsetzen. Einige Unterschiede gibt es zwar (ein C
Programm für einen AVR sieht im Detail etwas anders aus als für
einen Cortex-M3). Ein Wechsel zwischen zwei Plattformen ist damit
jedoch wesentlich einfacher als mit Assembler.
Wenn es aber darum geht das letzte aus einem Controller herauszuholen
(Geschwindigkeit, Speicherverbrauch) steht Assembler besser dar.
Besonders bei kleinen Controllern wie den Tiny13. Je größer und
komplexer die Software wird, desto mehr schwinden die Vorteile von
Assembler.

Ja, ich selbst programmiere in C. Angefangen habe ich aber mit
Assembler auf einem 6502. Dann 8086, 8080/8085 und zuletzt 8051.
Mit AVR Assembler habe ich ein wenig herum gespielt, mehr nicht.

von Thomas S. (thomas_s74)


Lesenswert?

Ich habe mich auch für C. entschieden. Mal sehen-erstmal einlesen.

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.