© DrHitch/Shutterstock.com
PIC-Mikrocontroller

1 Einführung in die Entwicklungs- und Schaltungsumgebung


Das Internet der Dinge erfährt derzeit einen beachtlichen Hype. Die Hardware wird durch Raspberry Pi, Arduino und vergleichbare Systeme geprägt. Dabei handelt es sich um vollständige Einplatinenrechner zu günstigen Preisen. Maßgeblich für deren Erfolg ist die enge Verbindung zwischen Hard- und Software. An den Schnittstellen kann man allerlei „Gerätschaften“ anschließen, zum Beispiel zur Hausautomation. Eine Steuerung über das Internet ist angedacht. Dieser Ansatz ist jedoch nicht neu. Mithilfe der Mikrocontrollertechnik ist es schon seit Jahren möglich, Systeme mit einer gewissen Eigenintelligenz auszustatten.

Auch im Bereich der Mikrocontrollertechnik hat sich vieles getan. Während man früher absolut hardwarenah mit „kryptischen“ Assemblerbefehlen entwickelt hat, sind die heutigen Plattformen so leistungsfähig, dass eine Programmentwicklung in Hochsprachen (C, Basic, Pascal) erfolgt. Mit anderen Worten: Die Umsetzung der Ideen in Software findet in integrierten Entwicklungsumgebungen (IDEs) statt, deren Bedienung und Funktionsumfang denen von Visual Studio, Eclipse und Co. gleichen. Der Unterschied in der Projektentwicklung besteht darin, dass auch eine Konzeption der Hardware und deren letztendliche Herstellung zum Aufgabengebiet gehört, d. h. man muss den Lötkolben in die Hand nehmen. Damit verlassen wir den Bereich, wo man ausschließlich mit Softwareentwicklung zum Ziel kommt. Aber eigentlich ist dieses auch schon beim Raspberry Pi oder Arduino der Standard. An diese Einplatinenrechner im Miniformat (Checkkartengröße) können an den Schnittstellen vielfältige Hardwareerweiterungen angeschlossen werden, zum Beispiel zur Steuerung der unterschiedlichsten Akteure zur Heim- und Hausautomation, wie eine automatisierte Heizungssteuerung. Diese Hardwareerweiterungen gibt es teilweise als fertige Endprodukte, tatsächliche Innovationen und individuelle Lösungen sind jedoch eigenständig zu konzipieren und umzusetzen. Im Internet und diversen Fachzeitschriften ist ein regelrechter Wettbewerb ausgebrochen, welche Aufgaben mit diesen Minicomputern und deren Hardwareerweiterungen alle zu bewerkstelligen sind. Kreative Ansätze und Lösungen sind in jeder Hinsicht gefragt.

Dieser shortcut wird sich mit der Verwendung, Konzeption und Programmentwicklung von Mikrocontrollersystemen auseinandersetzen. Wir wagen als Softwareentwickler einen weiten Blick über den Tellerrand und schauen sozusagen zu den Wurzeln der Computertechnologie, deren Ursprünge zweifelsohne in der angewandten Elektronik liegen. Begleiten Sie uns spielerisch auf eine interessante Reise mit einer Vielzahl neuer Ein- und Ausblicke. Dazu haben wir ein bekanntes und etabliertes Ökosystem von Mikrocontrollern der Firma Microchip ausgewählt. Der Einstieg – sowohl in die Hardware, als auch in die Softwareentwicklung – ist recht unkompliziert, technisches Verständnis vorausgesetzt. Es stehen vielfältige Möglichkeiten der Unterstützung, wie Schaltungsentwürfe und Softwarebibliotheken, bereit.

Erste Entscheidung: Welche Familie?

Es geht darum, für welche Mikrocontrollerfamilie man sich entscheidet. Ein späterer Wechsel ist natürlich auch noch möglich, verursacht aber einiges an Aufwand. Auswahlkriterien sind [1]:

  • Verfügbarkeit: Während einige Mikrocontroller über viele Bezugsquellen, u. a. auch als Einzelstücke zu beziehen sind, gibt es andere nur in großen Stückzahlen.
  • Bauform: Ist der gewünschte Controller auch in der richtigen Bauform, z. B. nicht nur als SMD (Surface-mounted Device; diese haben im Gegensatz zu Bauelementen der Durchsteckmontage keine Drahtanschlüsse, sondern werden mittels lötfähiger Anschlussflächen direkt auf eine Leiterplatte gelötet) erhältlich?
  • Preis: Je nach Ausrichtung des Projekts ein Entscheidungskriterium.
  • Dokumentation: Ist eine gute Dokumentation verfügbar? Kann ggf. auch auf Anwendungsbeispiele und Fachbücher zurückgegriffen werden? Sind Beispielapplikationen erhältlich?
  • Programmiergerät/Entwicklungsboard: Ist ein Programmiergerät ggf. in Kombination mit einem Entwicklungsboard zu beziehen. Ist der Preis dafür akzeptabel?
  • Allgemeine Unterstützung und Verwendung in der Community: Welche Mikrocontroller werden von anderen für ähnliche Anwendungszwecke verwendet? Ein wichtiger Punkt, denn Anregungen und Hilfestellung findet man oft im Internet (Foren), und damit ist es hilfreich, Bausteine einzusetzen, welche sich einer allgemeinen Verwendung erfreuen.
  • Technische Daten: Die meisten Mikrocontrollerfamilien dürften die technischen Anforderungen (Taktfrequenz, Speicher, I/O-Ports …) übererfüllen. Ebenfalls verfügen die meisten Familien über eine Vielzahl von Typen unterschiedlicher Leistungsklassen.
  • Programmierung/Entwicklungswerkzeuge: Ist eine Programmierung in der gewünschten Sprache (Pascal, C, Basic …) möglich? Stehen (kostenfreie) Compiler und integrierte Entwicklungsumgebungen (IDEs) zur Verfügung?

Eine Liste von Typen von Mikrocontrollern unterschiedlichster Hersteller kann unter [2] eingesehen werden. Hier einige Namen: Altera, Analog Devices, Atmel, Microchip Technology und Texas Instruments. Wir haben uns für den Einsatz der PIC-Mikrocontroller entschieden. Diese sind weit verbreitet, es gibt eine sehr umfangreiche Typauswahl, und es stehen hoch leistungsfähige Exemplare, als auch sehr einfache Typen zur Auswahl. Für Einstiegsprojekte können somit nur wenig integrierte Bausteine herangezogen werden. Nimmt die Komplexität der Aufgabenstellung zu, kann problemlos auf leistungsfähigere Typen umgestiegen werden. Die Funktionsweise in Beschaltung und Programmierung bleibt dabei identisch. Preislich sind die meisten PICs auch für erste Experimente akzeptabel. Es gibt eine gute Unterstützung im Internet, sowohl durch die Community als auch durch den Hersteller [3].

PIC-Mikrocontroller im Überblick

Die Abkürzung PIC steht für Programmable Integrated Circuit. In diesem Sinne ein Chip in Form eines Mikrocontrollers, der noch über keine Peripherie verfügt, diese muss an den Schnittstellen angeschlossen werden. Mikrocontroller gibt es schon ...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang