PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einstieg in die Welt der Mikrocontroller?!



erik.rostock
15.05.2006, 20:20
hallo,
ich möchte auch sehr gerne mich an Microsontrollern probieren. Hat jemand eine Empfehlung für mich wie ich anfangen könte. Mit was z.b.?
Wenn jemand eine Übersicht über dieses ganze Thema für mich hätte, wäre das super(C-Control <-> AVR ... was es alles so gibt, wie sie im zusammenhang stehen)
Mfg erik.rostock

Hanni
15.05.2006, 21:23
Hmmm man könnte sich z.B. mal hier im RN Wissen Bereich umschauen ... oder sich diverse Tutorials und Datenblätter anguggn.

Hier mal nen paar Links:

http://www.atmel.com/dyn/products/datasheets.asp?family_id=607
http://www.mikrocontroller.net/tutorial/
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

erik.rostock
16.05.2006, 06:19
Okay schonmal danke dafür .. ich wollte mal so eine Einordnung der verschiedenen Dinge die ich shcon per google gefunden haben :-)....

the_Ghost666
16.05.2006, 11:11
Also ich sehe für Microcontroller da 3-4 große Klassen, von denen du dir eine rauspicken solltest.
Zum ersten gibts da die AVR-Controller von Atmel. Die sind in Deutschland sehr weit verbreitet und wenn ich schätzen sollte, 75% der Roboternetzmember bauen auf AVRs (Atmega, Attiny). Das sind günstige 8Bit Controller, die alles an Board haben, was du brauchst, Ram, Flashspeicher, genug Programmspeicher. Betrieben werden sie mit max. 16Mhz. Der große Vorteil ist, dass du ne Menge Ansprechpartner hast, die dir bei Problemen helfen können.

Zweitens wären da die Microcontroller der Firma Microchip. PICs genannt. Ich selbst nutze welche. Sie sind im deutschsprachigen Raum weniger verbreitet, aber in Amerika dafür stärker. Also wenn du Englisch kannst, sollte es kein großes Hinternis sein. Es sind ebenfalls 8Bit Controller, die im Funktionsumfang einem Atmel sehr nahe kommen. Mein Tip am Rande: die PICs, und zwar auch teurere Modelle kannst du bei Microchip als Samples gratis bestellen. So kommst du günstig auch an Exoten, die du nicht bei Reichelt und Conrad bekommst. Noch zu erwähnen ist, dass die Pics mit max 20Mhz laufen, aber eine andere Struktur haben, sodass nicht wie beim AVR ein Befehl pro Takt drin ist, sondern nur ein Befehl alle 4 Takte. Die deutsche Infoseite schlechthin ist www.Sprut.de , der mir den kompletten Einstieg ermöglicht hat.

3. wäre da die C-Control. Wenn ich micht nicht täusche, ist es ein PIC mit einer bestimmten Firmware, der du nur den speziell kompilierten code reinschiebst. Alles in allem recht langsam und, dank Conrad, teuer. Da bekommst du meiner Meinung nach mit Roboternetz-Platinen mehr für weniger Geld.

Zum Schluss sehe ich da noch einige 16bit Familien, zb von Texas Instruments oder wie in der Elektor von einigen Monaten von Renesas.
Die haben wohl alle den Nachteil, dass sie zwar sehr Stark sind, aber es nur wenige Leute gibt, die dir dabei helfen können. Deswegen würde ich davon abraten und dir erstmal einen 8biter ans Herz legen, dann sind die Kosten auch nicht so hoch.

Zu den Einstiegskosten:
Für alle brauchst du ein bischen Elektronik-Ausstattung. Also zumindest Lötausrüstung, Multimeter, Netzteil.
Für Atmel als auch PICs gibts kommerzielle Programmieradapter, oder auch Selbstbaubrenner (zb für Atmel vom Roboternetz, für PICs bei Sprut.de) mit denen man im Vergleich zur Kauflösung Geld spart.
Für Programmierung in Assembler gibts bei Atmel als auch Microchip eine kostenlose Entwicklungsumgebung (AVR-Studio und MPLAB). Für C-Programmierung gibts auch eine Reihe freeware-compiler oder demoversionen, die meist auf 1kb Code reduziert sind.
So, ich hoffe geholfen zu haben

erik.rostock
16.05.2006, 15:28
Also mit Ausrüstung hab ich garkein problem, da ich schon Flugmodelle baue. (oszilloskop, lötstation usw .... ist alles vorhanden)
Danke für die Tipps die ihr mir gegeben habt

the_Ghost666
16.05.2006, 18:18
n oszi fehlt mir auch noch, aber es ist einfach zu teuer, min 300€ werdens schon sein

teslanikola
16.05.2006, 21:08
also ein Oszi ist nicht zwingend notwendig, ich habs auch recht lange ohne ausgehalten, erst als ich mich auch noch mit HF-Technik befasst hab ging kein weg dran vorbei ;-).

the_Ghost666
17.05.2006, 06:32
Ja stimmt schon, und mit einer Modellbauerausstattung müsstest du alles haben, was man braucht. Auch an Zangen und Seitenschneidern.
Manche schwören auf ESD-Armbänder und Matten, damit keine elektrostatischen Ladungen die empfindlichen ICs zerstört. Ich habe noch nie mit einer gearbeitet und hatte nie ein Problem. Eigentlich reicht das Berühren des Schutzleiters an der Steckdose aus (das sind die Metallbügel aussen, NICHT IN DEN LÖCHERN). Später, nachdem ich mich in meine PICs eingearbeitet hatte, hab ich nochmal ordentlich Geld für Entwicklungswerkzeuge investiert. Einen Debugger ICD2(die "Pullmoldose" oder der "Puck") sowie ein Demoboard mit wichtigen Grundschaltungen. Damit kann ich alle PICs brennen und viele jederzeit an einer Stelle stoppen um die Variablen auszulesen. Aber es ist sehr teuer, über 200€. Wie es mit sowas bei Atmels steht, weiß ich leider nicht.
Achja, du solltest immer ein paar Quarze und Keramikresonatoren mit gebräuchlichen Frequenzen haben. Das ist aber eine Investition von unter 5€.

erik.rostock
17.05.2006, 18:40
Hab ich alles da ... So ein board? ist das zwingend notwenig, ich meine man kann sich auch son steckding besorgen und dann erstmal rumexperimentieren ... werd ichm morgen gleich mal machen wenns das bei uns gibt. ^^ Hier in Rostock is man schlecht mit Bauteilen (oder kennt jmd. einen guten laden?), ich bestell meistens per inet

the_Ghost666
18.05.2006, 10:07
ja, du kannst auch mit so einem Steckbrett arbeiten, oder Lochraster-Platinen

Wenn du mir sagst, für welche Prozessoren du dich entschieden hast, kann ich mal schaun, es gibt hier einige fertige Entwicklungsboards, die man selber bauen kann und sehr nützlich sind. darwin.nuernberg aus dem Roboternetz hat ein meiner Meinung nach hervorragendes Entiwicklungsboard für Atmega16/32er gebaut. Hier mal ein Paar links, alles hervorragende Projekte:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=6220
https://www.roboternetz.de/phpBB2/viewtopic.php?t=4890
https://www.roboternetz.de/phpBB2/viewtopic.php?t=5601
https://www.roboternetz.de/phpBB2/viewtopic.php?t=5862
https://www.roboternetz.de/phpBB2/viewtopic.php?t=15826

Die Projekte 2,3 und 4 lassen sich sogar zu einem kleinen Roboter zusammenbasteln.
Die Platinen sind alle sehr gut gemacht und weil einseitig auch von Laien nutzbar. Dh du kannst entweder versuchen sie selbst zu ätzen, oder aber hier mal etwas rum zu fragen, vielleicht in der Sonstige Foren-Ecke, bei "Suche/Biete", ob dir jemand die Platine ätzen und zuschicken würde.
Damit bist du dann auch gut ausgestattet. In Kombination mit einem Stechbrett lässt sich dann alles Mögliche realisieren.

erik.rostock
18.05.2006, 15:36
Ich hab mich jetzt für die Atmels entschieden .... hab von einem Freund 2 AT90S2313-10PI und 2 MAXIM MAX232ACPE (+0503) bekommen

the_Ghost666
18.05.2006, 16:50
ok, aber da ist ein problem, der AT90S ist kein normaler AVR, sondern basiert auf dem 8051er(oder 8052) kern. Dh der ist sowohl von der leistung als auch von der architektur anders als die Atmegas, mit denen hier die meisten rumspielen.
Aber da du dich für atmel entschieden hast, bin ich als PICer jetzt raus aus dem rennen :)
dann mal viel spass damit und lass dich von ersten fehlschlägen nicht entmutigen.

Hanni
18.05.2006, 17:19
Hmm, wenn ich dir nen Tipp geben kann, besorge dir einen ATmega 8 oder besser und versuch es damit.

Die kosten auch nicht die Welt und man hat etwas weniger Stress damit.

Die AT90S Reihe sollte man nicht mehr für neue Designs nehmen, da diese "abgekündigt" sind.

izaseba
18.05.2006, 17:38
der AT90S ist kein normaler AVR, sondern basiert auf dem 8051er(oder 8052) kern.

Bist Du Dir da sicher ? Ich meine das waren die AT89S :-k
Ich habe neulich noch ein paar AT90S* verbaut, und meine es sind normale AVR, nur halt abgekündigt wie der Hanni schon sagte

Gruß Sebastian

erik.rostock
18.05.2006, 17:47
At Mega 8?? Was ist daran neu, bzw. besser?

izaseba
18.05.2006, 17:58
Was ist daran neu, bzw. besser?

Größer, schneller, besser.

Schau Dich mal auf den Dattenblättern um.
Hat mehr Speicher undmehr Funktionen als der AT90S2313.
Aber für den Einstieg reicht Dein AT90S2313 vollkommen aus.
Nur wenn Du eine Bestellung machen mußt, würd ich mir ein paar Megas holen :-)

Gruß Sebastian

erik.rostock
18.05.2006, 18:27
okay .. ich hab mir jetzt von rowalt.de den programmer und das testboard gebaut. Das ist genau auf den zugeschnitten

Hanni
18.05.2006, 19:08
Na dann, wünsch ich dir schoneinmal viel Spass :D

BTW: mit welcher Programmiersprache möchtest du das ganze angehen (bzw anfangen ?)

erik.rostock
18.05.2006, 19:34
Also c, bzw c++ kann ich. basic hab ich mal mit angefangen(vor einem jahr oder so für ein paar tage, war mir dann aber zu lahm ...) und assembler kann ich garnicht. Was würdet ihr mir empfehlen?

izaseba
18.05.2006, 19:42
Hallo Erik,
ich glaub die Antwort hast Du Dir selber gegeben, oder ?

So lautet..... C ?
Wenn Du C eh schon kannst gibt es wohl keinen Grund mit was anderem rumzuhampeln.
Assembler zu könen ist auch nicht schlecht, das kann man sich aber zwischendurch antun, wenn man wissen will, was da intern so abgeht.
Der Schritt C -> Assembler ist auch nicht so schwer.

Gruß Sebastian

erik.rostock
18.05.2006, 19:44
Ich denk ,mal auch das wird das beste sein ....

Hanni
18.05.2006, 19:54
Hallo Erik,
ich glaub die Antwort hast Du Dir selber gegeben, oder ?

So lautet..... C ?
Wenn Du C eh schon kannst gibt es wohl keinen Grund mit was anderem rumzuhampeln.
Assembler zu könen ist auch nicht schlecht, das kann man sich aber zwischendurch antun, wenn man wissen will, was da intern so abgeht.
Der Schritt C -> Assembler ist auch nicht so schwer.

Gruß Sebastian


Jo, da kann ich zustimmen (obwohl ich es eher mit Assembler habe :D)
Allerdings solltest du dir rechtzeitig angewöhnen die entsprechenden Datenblätter zu lesen ... schon alleine Deshalb, weil die mit Code Beispielen recht gut gespickt sind. ( www.atmel.com )


Grüße,

da Hanni.

Tappi
19.05.2006, 16:24
3. wäre da die C-Control. Wenn ich micht nicht täusche, ist es ein PIC mit einer bestimmten Firmware, der du nur den speziell kompilierten code reinschiebst. Alles in allem recht langsam und, dank Conrad, teuer. Da bekommst du meiner Meinung nach mit Roboternetz-Platinen mehr für weniger Geld.

Hallo,

die C-Control I basiert auf einem Motorola CISC Prozessor mit einem aufgespielten Betriebssystem, das Bytecode ausführen kann. So langsam ist der Code nicht, zumal man auf einem µC auch überlegen sollte, wie es mit den Platzverhältnissen (Speicher) aussieht. Da schneidet der Bytecode laut Henrik Reimers (http://www.henrik-reimers.de/control/c_vs_avr.htm) besser ab. Für zeitkritisch Anwendungen kann man dann noch auf den Assembler zurückgreifen.

Jeder Controller hat halt seine Vor- und Nachteile. Für Anwendungen im großen Stil oder bei hohen Stückzahlen würde ich sicher auch keine C-Control einsetzten. Wenn es um Prototypen geht, bei denen man nicht viel verdrahten will und ohne große Probleme den Controller programmieren will sollte man sich den Controller zumindest mal anschauen.

Ja nach Anforderung sollte man eben überlegen, ob es ein PIC, Ateml, eine C-Control oder sonst ein Controller sein soll. Und wie immer ist es auch eine Glaubensfrage ;)

Gruß,

Stefan