Wie einsteigen in die Microcontroller-Programmierung?



  • hm... ich habe mich schon in viele komplexe Themen eingearbeitet oder einarbeiten müssen, aber nichts scheint so schwierig (für mich, aus meiner subjektiven Sicht) wie die Einarbeitung in die Technik der Microcontroller und deren Programmierung.

    Was brauche ich?

    Programmiersprachen und Compiler: C kann ich noch ganz gut, Assembler kaum. Aber das ist nicht das Problem, denke ich

    Microcontroller: Ja welchen denn? Vom Microcontroller hängt es ab, welche Literatur ich nehme, welche Tutorials ich nutzen kann usw.

    Ich bin allerdings etwas "betriebsfaul", d.h., wenn ich an etwas dransitze, dann bleibt das auch so, aber wenn ich für dieses und jenes immer zum Baumarkt fahren (oder etwas tagelang nachbestellen) muss, verliere ich schnell die Lust.

    Mal ganz pragmatisch: Könnt ihr irgendwelche Starterkits oder "Baukästen" empfehlen, wo man gleich auf einen Schlag das hat, was man für eine vernünftige Einarbeitung in Microcontroller & Co. so braucht?



  • was soll er denn können? wofür willste ihn einsetzen? etwas mehr musst du schon erzählen.
    🙂



  • lies erstmal ein buch über die grundlegende funktionsweise von computern, wenn du das noch ned gemacht hast. ich finde "structured computer organization" von tanenbaum am besten, andere finden "Computer Organization and Design: The Hardware/Software Interface" ganz gut, aber das war mir persönlich zu n00big geschrieben. danach kannste ja machen was du willst, ich finde spielekonsolen immer gut zum rumspielen, da kann man hardwarenah programmieren und sehr viel bei lernen 🕶



  • Als Literaturgrundlagen kann ich empfehlen:

    Mikrocontroller und Mikroprozessoren | ISBN: 9783540468011

    Embedded System Design | ISBN: 0387292373

    http://www.c-plusplus.net/cms/modules.php?op=modload&name=mbBooks&file=index&func=isbn&isbn=3826616189

    Wenn Du im embedded Bereich arbeitest, brauchst Du eine CPU.
    Ich würde mir mal Dein Handy näher anschauen.

    cu
    P84



  • ~fricky schrieb:

    was soll er denn können? wofür willste ihn einsetzen? etwas mehr musst du schon erzählen.
    🙂

    Das weiß ich auch noch nicht!😮 Aber ich weiß genau, dass ich viele Ideen bekommen werde, wenn ich erstmal eine Basis (Wissen und Bauelemente) zur Verfügung habe.



  • Für den Einstieg ist http://www.arduino.cc/ sicher sehr interessant.



  • Ich stehe ziemlich auf den Schlauch, daher nur eine Vermutung:

    Wenn ich auf eingebettete Systeme (CPU, Handys) gehe, dann lerne ich zwar, wie irgendwie irgendwas zum Laufen gebracht wird, aber nicht den Hardware-Hintergrund.

    Ich glaube so ne richtige Leiterplattinne, die überschaubar ist und mit der man rumbasteln und die ersten Schaltpläne verstehen kann, das wäre zum Einstieg das richtige.

    Die "höheren" Systeme zu steuern, wäre wahrscheinlich der nächste Schritt, aber noch zu hoch gegrifenn!?



  • Die Literaturempfehlung von Prof84 "Mikrocontroller und Mikroprozessoren" habe ich mal auf meine Wunschliste gesetzt...



  • lizard_gismo schrieb:

    Wenn ich auf eingebettete Systeme (CPU, Handys) gehe, dann lerne ich zwar, wie irgendwie irgendwas zum Laufen gebracht wird, aber nicht den Hardware-Hintergrund.

    Das erste Buch ist wohl genau was Du brauchst.
    Ich ging hier auch durch eine harte Schule (Raumfahrt).
    80% der Mitarbeiter hier sind Hardis und einige sogar Weltelite.
    Als PL gaben mir diese Bücher zumindestens soviel Hilfe und Überblick, dass ich rudimentär realizieren konnte, was meine Mitarbeiter hier überhaupt tunen. 😃



  • Prof84@work schrieb:

    Wenn Du im embedded Bereich arbeitest, brauchst Du eine CPU.

    boah! jetzt ernsthaft?
    🙂



  • Hey, er ist Projektleiter, fachlich braucht er ja keine Ahnung zu haben 😉

    @ lizard_gismo: Mal eine andere Frage: Wieviel bist du denn bereit für Tools auszugeben?



  • Hallo,

    ich finde als Einstieg die ATmega uC nicht schlecht. Die gibt es u.a. im DIP Gehäuse und sie haben fast alles Wichtige auf dem Chip: Reset-Generator, Oszillator, Flash, RAM. Man braucht im Prinzip nur 5 V anschliessen und schon läuft das Ding. Ich hatte mal mit einem ATmega 162 einen Taschenrechner zusammengelötet. 16 kByte Flash haben dafür ausgereicht, war etwas knapp (- ein Taschenrechner-Programm ist doch komplexer, als man es sich vorstellt), aber es funktioniert.
    Hier http://www.mikrocontroller.net/ gibt es Haufen Info.



  • Tim schrieb:

    fachlich braucht er ja keine Ahnung zu haben

    ich hoffe ja, lizard-gismo hat's auch mitgekriegt und zerlegt nicht wirkllich sein handy.
    🙂



  • Moin!

    Wichtig bei der Wahl der richtigen Mikrocontroller ist, daß sie im DIP-Gehäuse verfügbar sind. Das erleichtert die verarbeitung im Gegensatz zu den SMD-Gehäusen ungemein. Zudem ist noch wichtig, daß es günstige, oder freie Assembler/Compiler für diese Architekturen gibt. Die beliebtesten Controller für den Hobby-Bastler sind die AVR-Architektur von Atmel und die PIC-Controller von Microchip, obwohl ich persönlich erstere besser finde. Kompatibler Befehlssatz, sehr gut optimierender C-Compiler frei verfügbar.
    http://www.mikrocontroller.net/articles/AVR

    Brauchst du 16-Bit oder 32-Bit-Prozessoren, würde ich auf MSP430 oder ARM Cortex-M3 setzen. Die gibt es allerdings nur eingeschränkt, oder gar nicht im DIP-Gehäuse. Atmel bietet auch 32-Bitter an, da habe ich mich aber noch nicht sonderlich drüber informiert.

    Die funktionsweise von Mikrocontrollern wird hier in Videos knapp erklärt:
    http://www.infineon.com/cms/de/product/channel.html?channel=db3a3043183a9555011883a7d0fe70ed

    Bücher zur Elektronik in denen der Mikrocontroller eingebettet werden soll, kenne ich keine direkt. Um in die Elektronik einzusteigen, eignet sich z.B. die Reihe "Elektronik" vom Vogel-Verlag. Ich besitze Band 1, 2 und 3 mit denen man schon sehr gut arbeiten kann und den 1600 Seiten dicken Wälzer "Halbleiterschaltungstechnik" vom Springer-Verlag als Nachschlagewerk. Der kostet jedoch auch entsprechend...

    Willst du die Elektronik erstmal außen vor lassen, empfehlen sich die Testboards, die die meisten Controllerhersteller anbieten oder die man sich bei anderen Firmen bestellen kann. Auf Mikrocontroller.net findest du auch hierzu Lösungen.

    Zum Ätzen eigener Platinen gibt es auch zahlreiche Anleitungen im Internet. Teuer wird es jedoch auch wenn du viel improvisierst (Gesichtsbräuner als Belichter, Inkjet-Folien als Vorlage, Haushaltseimer als Ätzgerät oder so), da du zumindest um einen geeigneten Bohrer nicht herumkommen wirst.

    PS.: "Assembler" als Sprache gibt es in der Regel so nicht. Kenntnisse in X86-Assembler helfen dir vielleicht, der Befehlssatz und die Funktionsweise von Peripherie ist aber von Architektur zu Architektur unterschiedlich und da du vermutlich keinen X86-kompatibeln Prozessor nutzen wirst, würde dir der Befehlssatz natürlich nicht helfen.



  • Nagila Hawa schrieb:

    Teuer wird es jedoch auch wenn du viel improvisierst (Gesichtsbräuner als Belichter, Inkjet-Folien als Vorlage, Haushaltseimer als Ätzgerät oder so)

    pizzaofen zum reflow-löten.
    🙂



  • Reflow-Löten wird aber nur bei SMD-Technik benötigt (übrigens machts da auch ein Bügeleisen, oder die Herdplatte, wenn du mit einer eventuell dunkel gefärbten Unterseite leben kannst 😛 ) und ist zudem teurer, wegen der benötigten Lötpaste sowie Masken oder Spritzen. SMD-Technik ist für den Einstieg einfach ungeeignet, auch weil du da mit Lochrasterplatinen nicht viel anfangen kannst, die du brauchst, wenn du nicht gleich ätzen willst.

    Ach ja, zum Thema nicht immer in den Baumarkt rennen zu wollen: Conrad oder Reichelt versenden eigentlich so ziemlich alles, was du als Hobbyelektroniker brauchst (vielleicht auch Gesichtsbräuner und Pizzaofen 🙂 ).



  • Die Posts von abc.w und vor allem von Nagila Hawa waren noch hilfreich, danke!

    Tim schrieb:

    @ lizard_gismo: Mal eine andere Frage: Wieviel bist du denn bereit für Tools auszugeben?

    Ich habe gerade erst 500 Euro für ein Teleskop angespart, wenn ich meiner Freundin jetzt beichten muss, dass ich wieder Kohle für "sowas" ausgeben will... oh mir blüt nichts gutes 😞

    Naja, also sagen wir mal mit 150 euro sollte ich auskommen, oder? Das wäre so die Schmerzgrenze fürs erste.



  • lizard_gismo schrieb:

    Naja, also sagen wir mal mit 150 euro sollte ich auskommen, oder? Das wäre so die Schmerzgrenze fürs erste.

    Für uC wäre bei mir bei der Summe die Schmerzgrenze erreicht. Wenn so viel Geld, dann lieber für einen FPGA Starter Kit, z.B. in diesem Shop hier: http://shop.trenz-electronic.de/catalog/
    Ich habe mir mal dieses Board gekauft: http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_47&products_id=92
    mit einem Spartan 3E FPGA, vor zwei Jahren war es, glaube ich, ein wenig teurer als jetzt.

    Ich habe gerade erst 500 Euro für ein Teleskop angespart

    Überlege es dir gut 😉 Was willst Du mit dem mechanischen Teil, guck Dir das hier an: http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_47&products_id=211 😉



  • Nimm nen AVR 👍



  • RISCRuler schrieb:

    Nimm nen AVR 👍

    Man kann genauso gut sagen: Nimm nen AVR Core von opencores.org und lade ihn in einen FPGA und spiele damit rum bis keine Lust mehr.


Anmelden zum Antworten