Mikrocontroller

Programmieren und Auswahl von Mikrocontrollern

Auf dieser Seite möchte ich euch einige grundlegende Informationen zum Thema Mikrocontroller geben.

Welche Controller?

Da hat jeder sicherlich seine ganz eigenen Vorlieben. Im Hobbybereich findet man meistens Microchip oder Atmel Controller, da diese nur eine minimale externe Beschaltung benötigen, sehr vielseitig einsetzbar und leicht zu händeln sind. Meist entscheidet man sich irgendwann einmal für eine bestimmte Familie und bleibt dann oft bei dieser hängen und baut seine Schaltungen dann mittels dieser Controller auf. Bei mir waren das anfangs PICs von Microchip. Erst später wurde ich zu Beginn meines Studiums auch mit ATMegas konfrontiert und baute von nun an auch Schaltungen mit Atmel Controllern auf. Ihr findet also auf diesen Seiten Projekte mit beiden Herstellern.

Aber welche Controller sind nun “besser”? Nun ich denke da haben beide Vor-und Nachteile und ich werde nach wie vor Controller beider Hersteller verwenden. Wer aber neu mit diesem Thema anfängt, dem rate ich, ersteinmal bei einer Mikrocontrollerfamilie zu bleiben, um diese richtig kennen zu lernen. Andernfalls kann man leicht mal durcheinander kommen, da gewisse Besonderheiten, vorallem beim Schreiben der Software, bedacht werden müssen.

Die Programmierung

Ich selbst habe mit einem PIC-Entwicklungsboard angefangen, dass die PICs über eine serielle Schnittstelle programmieren konnte. Irgendwann, als sich, gerade bei sehr großen Programmen bzw. sehr neuen PICs, die auftretenden Fehler häuften, entschied ich mich einen original Microchip Programmer zu kaufen. Ich war überrascht wie einfach manche Dinge nun an waren… Einige Zeit später folgte dann auch noch ein entsprechender Programmer von Atmel.

Für welche Art von Programmer ihr euch entscheidet, ist letzlich Geschmacksache. Wer sich ein wenig im Netz umschaut, der findet auch sehr gute Eigenbaulösungen. Wer eventuell auftretende Probleme umgehen will und eine komfortable, schnelle Lösung sucht, dem seien die Programmer der Hersteller empfohlen.

Ich benutze seit einiger Zeit nur noch die beiden unten abgebildeten Programmer. PICKit2 von Microchip und von Atmel AVR ISP mkII. Beide sind relativ günstig zu bekommen und decken die meisten der vom jeweiligen Hersteller erhältlichen Mikrocontroller ab, die für Eigenbauten interessant sind.

Die Vorteile gekaufter Lösungen:

  • Unterstüzung aus den vom Hersteller angebotenen Entwicklungsumgebungen heraus.
  • schnelles programmieren (nicht alle Eigenbauten kommen an die Geschwindigkeit beim flashen heran)
  • USB Anschluss (viele low-cost selbstbau Varianten benutzen oft nicht mehr vorhandene serielle Schnittstellen)

Nachteil:

  • meist teurer

Programmiergeräte

Wie fange ich nun an?

eder lernt anders und jeder hat unterschiedliche Vorkenntnisse. Eine Möglichkeit sind Entwicklerboards zu kaufen. Hier ist meist ein Controller mit einem Programmer aufgebaut und ein wenig zusätzliche I/O-Hardware, so dass man ersteinmal das Programmieren lernen kann. Nachteil dieser Boards sind in meinen Augen, dass man relativ wenig über die Hardware lernt, bzw. diese nicht bei allen Boards beliebig erweitert werden kann.

Wer schon etwas Ahnung von Elektronik hat und später auch selbst Controllerschaltungen entwickeln will, sollte sich daher überlegen, dass er sich einfach nur einen Programmer zulegt (gekauft oder selbstbau) und anschließend selbst das zusammenbaut was man noch an Hardware braucht. Hierzu gibt es gute Tutorials im Internet. Da wird dann beispielsweise erstmal eine einfache LED an den Controller angeschlossen und blinken gelassen, dann einen Taster, Display, usw…. Vorteil hierbei ist, dass man direkt die Hardware des Controllers kennenlernt. Welche Pins man wofür nutzen kann usw. Nachteil ist sicherlich die Fehlersuche, falls mal etwas nicht funktionieren sollte (liegt es nun an Hard- oder Software?).

Testumgebung

Wer früher oder später selbst Schaltungen entwirft, wird merken, dass nicht immer alles direkt so funktioniert, wie es soll. Leicht ist das ein oder andere vergessen oder man hat die Schaltung fertig aufgebaut, schreibt an der Software und merkt plötzlich, dass diese nicht funktionieren kann, weil da noch eine Kleinigkeit zu beachten gewesen wäre, die da irgendwo im Datenblatt auf Seite 135 noch steht. Um solche Situationen zu umgehen, bietet es sich immer an, neue Bauteile, die man zum ersten mal verwendet, ersteinmal irgendwie zu testen. Gerade anfangs bei einfacheren Projekten ist dies sehr einfach möglich. Hierfür hat jeder wahrscheinlich seine eigenen Methoden. Viele benutzen dafür handelsübliche Steckboards. Hier möchte ich euch noch eine Alternative bzw. eigentlich nur eine Ergänzung dazu zeigen. Ich habe hier eine normale Lochrasterplatine verwendet und alles, was man so standardmäßig für einen Mikrocontroller braucht darauf gelötet. Neben den Bauteilen seht ihr jeweils Buchsenleisten, die mit den benötigten Pins verbunden sind.
Das Board, wie ihr es auf dem Foto seht enthält:

  • Spannungsquelle mittels 5V Festspannungsregler
  • UART<->USB Konverter mittels FT232R
  • IC-Fassung, für ICs bis 40Pin
  • 4 verschiedene Quarze
  • 8 LEDs mit integriertem Widerstand (über Jumper kann VDD oder GND bereits angeschlossen werden)
  • 4 Taster (Über Jumper Pullup oder Pulldown auswählbar)
  • 2 Potis
  • Anschluss für die Programmer von Atmel bzw. Microchip

Anders als bei anderen Boards vielleicht üblich, muss hier allerdings alles komplett verdrahtet werden über Steckbrücken. Dadurch ist dieses aber sehr viel flexibler einsetzbar.

Zum Verdrahten benutze ich einfache Litze, an die ich auf beiden Seiten jeweils einen einzelnen Stift aus Stiftleisten angelötet und mit Schrumpfschlauch (auch als Knickschutz) teilweise isoliert habe.

Viel Erfolg bei euren eigenen Projekten!

ELECTRONIC
programmer pic atmel

Neuer Kommentar