Elektrotechnik - Controller
Microcontroller
In den folgenden Zeilen soll ein kleiner Überblick gegeben werden,
was man mit Controllern machen kann und wo man die Informationen
bekommt, um einen Einstieg zu finden. Denn das Programmieren von
Controllern muss man keinesfalls in der Ausbildung, im Beruf oder
der Volkshochschule erlernen. Das Internet bietet für Interessierte
sehr gute Quellen, die nah an der Praxis erklären wie es geht.




Was ist ein Microcontroller
Microcontroller sind Bausteine, die sich von einem Anwender programmieren lassen und dadurch sehr flexibel einsetzbar werden. Das Pogramm wird mit einer PC Software geschrieben und zwischendurch zum Testen oder nach der Fertigstellung in dem Controller gespeichert. Ist das Pogramm im Baustein, kann dieser das auch ohne Verbindung zum PC oder nach einem Stromausfall abarbeiten. Das Pogramm kann dabei sowohl mit gespeicherten Tabellen, mathematischen Formeln oder Werten arbeiten, die an den Eingängen gemessen werden. Die meisten Controller verfügen abhängig vom Typ über reichliche Hardwareressourcen wie z.B. analoge Eingänge (0 bis 5V), digitale Eingänge (0 oder 5V), analoge und digitale Ausgänge, Vergleicher für verschiedene Spannungswerte, Schnittstellen um z.B. an einen PC angeschlossen zu werden oder um Sensoren über ein Bus-System abzufragen, um mit anderen Controllern Daten auszutauschen, und, und, und…   Das Abfragen der Ein- und Ausgänge passiert dabei in der Regel viele 100e oder 1000e Male pro Sekunde!!!
Vorraussetzung, um das Programmieren dieser Bausteine zu erlernen ist ein wenig Grundwissen über die Elektrotechnik, das aneignen einiger Grundlagen bezüglich der Programmiersprache eines Controllers und den Umgang mit Bits und Bytes. Dabei gibt es mehrere Möglichkeiten:
         
          -   Controller haben je nach Hersteller ihre eigene Programmiersprache, die so genannte
              Assembler-Sprache. Die  einzelnen Funktionen, die hinter einem Befehl stehen, müssen
              erlernt werden. Vorteil ist allerdings, dass die Assembler-Sprache in der Regel nur aus
              ca. 35 Befehlen besteht, von denen sich auch noch viele sehr ähneln. 

           -  Wer auch am PC schon Erfahrungen mit dem Programmieren gemacht hat oder noch
              machen will, für den empfiehlt es sich mit Zusatzprogrammen zu arbeiten, die eine
              Hochsprache aus dem PC-Softwarebereich wie z.B. C++ nutzt und umwandelt.
              Programme werden dann in einer Hochsprache geschrieben und von der
              Zusatzsoftware in ein Controller-Programm umgewandelt.
              Hochsprachen wie z.B. C++ sind dabei zwar für Anfänger etwas schwerer zu erlernen,
              können aber viel systemübergreifender eingesetzt werden. Sowohl am PC, bei anderen
              Controllern, SPS (Speicherpogrammierbaren Steuerungen) usw. lassen sich die
              Hochsprachen wieder verwenden.


Controller-Typen
Es gibt unterschiedliche Controller-Typen. Je nach Hersteller unterscheiden sich diese in ihren Hardwareressourcen, der Art der Programmierung und auch in den Kosten. Ein weiterer Unterschied besteht bezüglich der Resonanz im Internet auf verschiedene Controller. Meine gemachten Erfahrungen mit Controllern beziehen sich auf die anbei aufgelisteten Typen.

C-Control I und C-Control II von Conrad Elektronik
Die C-Control Bausteine werden von dem Versandhandel Conrad-Elektronik vertrieben und sind eigentlich Controller-Module. Die Bausteine beinhalten nicht nur den Controller selbst, sondern auch die äußere Standardbeschaltung wie z.B. Spannungsregler und Steckverbinder. Zusätzlich wird ein Softwarepaket mitgeliefert, was u.a. Anleitung, Technische Daten, Programmiersoftware, Lernbeispiele usw. enthält.
Die Programmierung erfolgt, wie schon erwähnt mit einer mitgelieferten Software und ist je nach Modul unterschiedlich aber recht einfach zu erlernen.
Für die Module gibt es diverses Zubehör zu kaufen, was sich einfach mit den Modulen nutzen lässt. Die C-Control--Module gibt es ab ca. 30 Euro. Je nach Ausführung des erworbenen Moduls, wird zusätzlich evtl. einmalig ein Pogrammer benötigt.
Die Module und das Zubehör sind im Gegensatz zu der Programmierung von PIC’s vom Hersteller Microchip teuer, haben allerdings den Vorteil, dass man durch die große „Fan-Gemeinde“ viele Anregungen, Tipps, Programmbeispiele usw. erhalten kann.
Infos zur C-Control gibt es unter <http://www.Conrad.de> oder mit einer Übersicht über weitere Module unter <http://www.c-control.de/>


PIC von Microchip   
Wer schon mal einen Lötkolben in der Hand hatte, der kann weit günstiger zum programmierten Controller kommen. Die Firma Microchip bietet sowohl sehr günstige Controller ab ca. 1,60 € und auch kostenfrei die zugehörige Software zum Programmieren mit Assembler. Vertrieben werden die Controller z.B. von Reichelt Elektronik, die auch die zugehörigen Datenblätter anbieten, in denen alle Randdaten und Leistungsmerkmale aufgeführt sind.
Die so genannten PIC’s brauchen, um programmiert zu werden, einen EEPROM-Brenner, der ebenfalls z.B. bei Reichelt Elektronik erworben werden kann. Wer die 200 Euro für den Brenner gerne sparen möchte, kann diesen auch selber aufbauen.
Absolut herausragend auf diesem Gebiet ist die Seite <http://www.Sprut.de> .
Dort gibt es Baupläne für EEPROM Brenner, die für PIC’s verwendet werden können. Dabei sind sowohl Vorschläge für ein Platinenlayout, oder den Aufbau auf Lochrasterplatine vorhanden als auch Stücklisten, Fotos, Aufbauanleitung, usw.
Zusätzlich gibt es dort auch die erforderliche Software mit Treibern, die die Verbindung zum PC herstellt.
Weiter sind auf der Seite alle nötigen Informationen zu bekommen, die dafür sorgen, dass man in kurzer Zeit einen funktionierenden Controller auf seiner Werkbank bestaunen kann. 
Die PIC’s benötigen eine minimale äußere Beschaltung, die dort in Bild und Schrift vorgestellt und erklärt wird.
Für einen leichten Einstieg gibt es zahlreiche erklärte Assembler-Lernbeispiele, die den Anschluss von z.B. Tastaturen oder Displays ausführlich erklären.
Wer lieber in Hochsprache programmieren möchte, findet vor Ort auch Links, die zu passender Software und weiteren Informationsquellen führen.

Die Seite bietet wirklich einen sehr umfangreichen und leichten Einstieg mit Informationen auf hohem Niveau und vielen Details zu Hardwareressourcen, die auch später immer wieder von belang sind. Ein großes Kompliment an dieser Stelle für den enormen Ehrgeiz, dieses Wissen für viele Menschen verfügbar zu machen.

Microchip bietet zwar PIC-Typen in großem Umfang auch für komplizierte Anwendungen, der Aufwand des Programmierens in Assembler bei komplizierten Anwendungen ist jedoch sehr groß. Daher bietet es sich an, ab einer bestimmten Größenordnung in einer so genannten Hochsprache zu programmieren. Mathematische Formeln, Kommunikation mit PC oder umfassende Motor-Steuerungen sind auf diese Weise weit besser umsetzbar.