Teil 1: Mikrocontroller und die Lernplattform PICAXE

PICAXE – Mikrocontroller-Programmierung für Einsteiger
Kommentare

Minicomputer, Internet of Things und intelligente Gerätetechnik sind Trendthemen unserer Zeit. Dieser Entwicklung wird zugetraut, unser Leben nachhaltig zu beeinflussen. Grundlagenkenntnisse kann man erwerben, wenn man sich mit Mikrocontrollern beschäftigt. Die Plattform PICAXE richtet sich an Einsteiger und hilft beim Erlernen der Embedded-Programmierung.

Der Hype rund um die Themen Internet of Things (IoT) und intelligente Haus- und Gerätetechnik reißt nicht ab. Nicht alle Ideen, Prototypen und Anwendungen werden es bis zur Marktreife schaffen, und bei so manchem Projekt steht auch eindeutig der Spaß an der Sache und der seiner Erfinder im Vordergrund. Es mag fraglich sein, ob wirklich jedes Haushaltsgerät die Technik und künstliche Intelligenz eines Computers benötigt, um seinen Zweck zu erfüllen. Sicher ist aber, dass der eine oder andere Ansatz unser Leben nachhaltig verändern wird.

Um aktiv in diesem Bereich mitzuwirken und eigene Ideen auszuprobieren, sind einige grundlegende Kenntnisse notwendig. Neben soliden Programmierkenntnissen sollte man auch im Bereich der Elektronik fit sein. Eine direkte Verbindung liefert die Beschäftigung mit der Mikrocontrollertechnik. Diese Technik ist keineswegs neu und auch schon seit vielen Jahren auf dem Markt. Enorm gestiegen ist jedoch ihre Leistungsfähigkeit, und im Zuge von IoT ist es einfach „hip“, sich damit zu beschäftigen. Einen spielerischen Einstieg verspricht die Lernplattform PICAXE: Sie stammt aus England und richtet sich explizit an Einsteiger. In einer zweiteiligen Artikelserie stellen wir PICAXE umfänglich vor. Zuvor wollen wir jedoch eine grundsätzliche Einführung in die Mikrocontrollertechnik geben.

Artikelserie: PICAXE – Mikrocontroller-Programmierung für Einsteiger

Teil 1: Einführung in das Thema Mikrocontroller und die Lernplattform PICAXE
Teil 2: Einrichtung von PICAXE und Streifzug durch die Entwicklungsumgebung
Teil 3: Hardware und Befehlswelt im Detail: Experimente & Zusatzmodule
Teil 4: Interfacebeshaltung & Programmierung

Mikrocontroller

Die heutigen Mikrocontroller (MC) kann man als Ein-Chip-Computer bezeichnen, denn sie enthalten alle wesentlichen Bestandteile des Rechnersystems (Abb. 1). Dazu gehören CPU, SRAM und Flash-Speicher für den Programmcode. Weiterhin bieten MC analoge und digitale Ports, mehrere AD/DA-Wandler, Timer und Schnittstellen zur Kommunikation mit der Außenwelt. Mit ihnen lassen sich komplexe Aufgaben lösen, für die ansonsten eine umfassende Schaltung notwendig wäre. Insbesondere ihre Programmierbarkeit, durchaus mit problemorientierten Hochsprachen wie C, Pascal oder Basic, machen ihre Verwendung in vielen Bereichen interessant.

Die meisten aktuellen MC lassen sich sogar programmieren, wenn sie in einer Schaltung eingebaut sind. Diese Möglichkeit wird als In-System Programming (ISP) bezeichnet. Die Bitzahl eines MC bezeichnet die Breite des internen Datenbusses. Typische Werte sind 8, 16 und 32 Bit. MC werden in der Regel mit Taktfrequenzen von 1 bis ca. 20 MHz betrieben, neuere 32-Bit-Modelle sogar mit weit über 100 MHz. Sie werden meist in der Harvard-Architektur realisiert. Dabei ist der Daten- und Programmspeicher physisch voneinander getrennt. Der Vorteil gegenüber der Von-Neumann-Architektur, bei der Daten und Code im selben Speicherbereich liegen, ist die Möglichkeit, mit einem einzigen Taktzyklus einen Befehl und die dazugehörigen Daten zur CPU zu bringen. Daher wird diese Architektur bevorzugt.

krypczyk_picaxe_1

Abb. 1: Schematischer Aufbau eines MC

Die Einsatzgebiete eines MC sind sehr umfassend. Typische Beispiele sind:

  • IT-Technik: Drucker, Festplattencontroller, Monitore
  • Unterhaltungselektronik: Fernseher, Camcorder, Digitalkameras
  • Automobiltechnik: ABS, Motormanagement
  • Kommunikationstechnik: Telefon, Fax
  • Industrie: Prozessautomatisierung, Messwerterfassung, Steuerung und Regelung
  • Haushalt: Waschmaschine, Kühlschrank, Heizung

Am Beispiel der mobilen Telefone sieht man den fließenden Übergang zwischen Mikrocontrollern und Mikroprozessoren. Moderne Smartphones enthalten heute die Elemente eines kompletten PCs – sie sind in der Leistungsfähigkeit und der Ausführbarkeit von Software so weit gestiegen, dass kein MC mehr genügt. Für einfache Aufgaben der Kommunikationstechnik reicht die Leistung eines MC noch aus. Eine Liste von MC-Typen unterschiedlicher Hersteller kann hier eingesehen werden.

Lernen mithilfe von PICAXE

Einen relativ einfachen Einstieg in das Thema Embedded-Programmierung verspricht die Lernplattform PICAXE. Der Name verrät es schon: Es geht um das Erlernen der Programmierung und der Beschaltung von PIC-MC. Von einer Lernplattform kann man deshalb sprechen, da ein umfassendes System aus Hardware, Software, Entwicklungs- und Experimentierboards sowie weiterem Zubehör angeboten wird, um den Einstieg so einfach wie möglich zu machen. PICAXE richtet sich durchaus an absolute Anfänger, sowohl auf dem Gebiet der Elektronik als auch im Bereich der Programmierung. Es ist also nicht notwendig, über entsprechende Erfahrungen und Kenntnisse in diesen Bereichen zu verfügen. Interessant kann PICAXE aber auch für diejenigen sein, die beispielsweise bereits über Programmierkenntnisse verfügen und nun hierüber den Einstieg in die Embedded World schaffen wollen. Um den Ansprüchen für Einsteiger auf allen Ebenen gerecht zu werden, bietet PICAXE Hilfen und Vereinfachungen in vielfacher Form. Wir stellen diese nachfolgend vor.

Die Basis: PIC-MC

PICAXE basiert auf der Mikrocontrollerfamilie PIC der Firma Microchip Technology Inc. PICs sind 8-, 16- oder 32-Bit-RISC-Mikrocontroller, die mit Fokus auf einen kleinen Befehlssatz und einfache Handhabung entwickelt wurden. Kennzeichnend ist eine große Vielfalt an verschiedenen Typen, sodass man den passenden MC für das geplante Vorhaben wählen kann. Die MC sind so ausgelegt, dass sie je nach Bedarf mit sehr wenig Beschaltung auskommen. Ein Beispiel: Viele PIC-Typen verfügen über die Möglichkeit, den Takt selbst zu erzeugen, sodass ein externer quarzbasierter Taktgenerator entfallen kann. PIC-MC gibt es in unterschiedlichen Leistungsklassen: Sie lassen sich grob in 8-, 16- und 32-Bit-MC einteilen. Innerhalb einer jeden Leistungsklasse existieren viele unterschiedliche Typen mit speziellen Eigenschaften. Anhand des Prozessorkerns kann man fünf große Familien unterscheiden:

  • 12-Bit-Kern-Controller: Betrifft MC mit den Typbezeichnungen PIC10Fxxx und PIC1xF50x
  • 14-Bit-Kern-Controller: MC der Baureihen PIC16Fxxx und PIC12Fxxx
  • 16-Bit-Kern-Controller: Die zugehörigen MC haben die Bezeichnungen PIC18Fxxx, 18FxxJxx und PIC18FxxKxx
  • 24-Bit-Kern-Controller: MC mit den Bezeichnungen PIC24, dsPIC30Fxxx und dsPIC33Fxxxx
  • 32-Bit-Kern-Controller: MC der Baureihe PIC32MXxxx

Die Bitangabe hat nichts mit der Datenwortbreite im PIC zu tun, sondern nur mit der Codierung der Befehle des PIC. Die Zuordnung zu den Klassen 8, 16 und 32 Bit geht auch aus Abbildung 2 hervor. Für den Einstieg in das Thema genügen in der Regel die MC mit 8 Bit Datenwortbreite.

Beschaffungsmaßnahmen & Equipment

Um mit der MC-Programmierung auf der Basis von PICAXE anzufangen, benötigt man nicht viel Equipment. Folgende Dinge sollte man sich allerdings besorgen:

  • Einen Mikrocontroller vom Typ PICAXE. Es sind Typen verschiedener Leistungsklassen erhältlich. Für den Anfang genügt das kleinste Modell.
  • Prototypenboard zum Aufbau der Schaltungen und der Übertragung des Programms vom PC auf den Controller.
  • Downloadkabel für die Verbindung zwischen PC und Schaltung. Das Kabel wird am USB-Port des PCs abgeschlossen.
  • Einen PC bzw. ein Notebook für das Schreiben der Programme und zur Übertragung der Software. Die Entwicklungssoftware ist für unterschiedliche Betriebssysteme verfügbar.
  • Software: Treiber und Entwicklungsumgebung für das Entwickeln der Programme
  • Batteriehalter und Batterien für die Spannungsversorgung

Am einfachsten kommt man zum Ziel, wenn man ein Starterpaket für den Einstieg wählt. Auch hier ist die Auswahl recht groß. Sie unterscheiden sich hinsichtlich der Funktionen, den unterstützten PICAXE-Controllern und der Möglichkeit, Versuchsaufbauten direkt auf dem Board vorzunehmen. Größere Boards enthalten extra dafür ein Steckbrett. Darüber hinaus ist es hilfreich, wenn man einige zusätzliche Bauelemente und Werkzeuge zur Verfügung hat. Empfehlenswert sind einige Leuchtdioden (LED), Widerstände als Vorwiderstände für den Anschluss der LEDs an den Controller (ca. 300 Ohm), gegebenenfalls ein Steckbrett zum Aufbau einer Versuchsschaltung und ein paar zugehörige Kabelverbindungen. Löten ist am Anfang nicht zwingend erforderlich, jedoch wird früher oder später das eine oder andere Kabel anzulöten sein.

Möchte man sich etwas umfangreicher mit der MC-Programmierung beschäftigen, ist es mit Sicherheit nicht falsch, auf ein größeres Programmier- und Entwicklungsboard zu setzen. Es werden so genannte Starter Packs angeboten, die alle notwendigen Bestandteile für die ersten Versuche enthalten. Bezüglich der Starter Packs gibt es u. a. die folgenden Auswahlmöglichkeiten:

  • PICAXE-08 Starter Pack (AXE003U): Das Paket enthält eine minimale Platine, einen PICAXE-08, die Software auf CD-ROM, das Downloadkabel und die Batteriehalterung. Die Platine muss vor der ersten Verwendung selbst zusammengelötet werden. Zusätzliche Teile, wie LEDs oder Anzeigen, sind nicht vorhanden.
  • Tutorial Starter Pack (AXE050U): Dieses Board verfügt zusätzlich über einen Fotowiderstand, Taster für die Eingabe von Signalen und eine LED-Anzeige.
  • Development Starter Pack (AXE091U): Dabei handelt es sich um das umfangreichste Board zum Programmieren und Experimentieren (Abb. 3). Auf diesem Board können alle erhältlichen PIC-Typen programmiert werden, was alle Möglichkeiten zum Entwickeln eigener Projekte bietet. Die auf dem Board verteilten Bausteine werden durch Drahtbrücken einfach mit einem von den drei PICAXE-Mikrocontrollern verbunden. Zusätzlich steht noch ein Steckfeld für eigene Schaltungen zur Verfügung. Neben der Spannungsversorgung über Batterien kann auch ein einfaches Steckernetzteil verendet werden. Das Board enthält den dazu notwendigen Spannungsregler. Für umfangreiche eigene Versuche stehen zur Verfügung: LED-Einzelanzeigen, Taster, Fotowiderstand, Potenziometer zur Simulation von Analogquellen, Temperatursensor, IR-Sender- und -Empfänger, 7-Segment-Anzeige und diverse weitere Schnittstellen, wie z. B. RS232.
krypczyk_picaxe_3

Abb. 3: Development Starter Pack

Ausblick

Die Beschäftigung mit Mikrocontrollern ist wohl die direkteste Verbindung zwischen Hard- und Software. Hier ist man noch etwas näher an der Technik als bei klassischen IoT-Projekten, wie etwa dem Raspberry Pi. Anderseits sind die Übergänge fließend, denn auch die Minicomputer bieten direkte Schnittstellen in Form von Ein-/Ausgabeports, um auf direktem Weg mit externer Hardware zu kommunizieren. Die Lernplattform PICAXE bietet die Möglichkeit, sich intensiv in die Entwicklung von Schaltungen und die Programmierung von Software – also der Embedded-Entwicklung – einzuarbeiten. Im zweiten Teil geht es um die Einrichtung von PICAXE und wir begeben uns einen ersten Streifzug durch die Entwicklungsumgebung.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -