BASIC für PICs Einführung in PICAXE

Die Seite wird erstellt Sarah Weidner
 
WEITER LESEN
BASIC für PICs Einführung in PICAXE
Elektor•Post                                                                                          Projekt Nr. 8

BASIC für PICs
Einführung in PICAXE
                                                                                                  Von Wouter Spruit (NL)

Standard-Mikrocontroller eignen sich
häufig auch für Spezialanwendun-
gen. Wenn man die entsprechende
Firmware programmiert, kann man
eigene Projekte mit besonderen Fä-
higkeiten ausstatten. Mit dem PICA-
XE-System kann jeder Elektroniker
einen Mikrocontroller samt Periphe-
rie mit wenig Aufwand und Kosten
programmieren.
                                                                                                  Bild 1.
                                                                                                  PICAXE-Chip-Größen.

Wer? Wie? Was?                                   mierung los zu legen. Es gibt sogar Bausätze
Bei den PICAXE-Mikrocontrollern handelt es       für Spielzeug wie PICAXE-basierte Roboter.
sich um PICs von Microchip, die mit einer spe-   Die angebotene Peripherie ist mit umfang-
ziellen Firmware von Revolution Education [1]    reichen Beschreibungen zum Interfacing mit
programmiert sind. Das Konzept des PICA-         Mikrocontrollern versehen. Selbst wenn man
XE-Systems ermöglicht das Programmieren          keine PICAXE-Mikrocontroller einsetzt, ist das
und Implementieren von Mikrocontrollern in       Angebot auch für andere Controller-Familien
Projekte durch ein preiswertes System, das       interessant.
nicht viel Erfahrung voraussetzt, aber dennoch   Wie schon erwähnt ist die spezielle Firm-
ein komplexes Interfacing erlaubt, wodurch       ware das, was PICAXE ausmacht. Ein PICA-
Mikrocontroller auch in größeren Projekten       XE-Chip ist ein „normaler“ PIC, der schon mit
einsetzbar sind. In der PICAXE-Serie findet      der PICAXE-Firmware programmiert wurde
man Mikrocontroller unterschiedlicher Grö-       und daher einen BASIC-Interpreter und
ßen und Formen, vom einfachen Typ mit nur        etliche vorgefertigte Funktionen mitbringt.
acht Pins bis hin zum komplexeren, 40-poli-      Dank PICAXE kann man jederzeit ein PICA-
gen Modell 40X2 (Bild 1). In der Zeit seit der   XE-BASIC-Programm über eine serielle Ver-
Einführung von PICAXE vor über 15 Jahren         bindung auf den Controller laden, solange
wurden die PIC-Mikrocontrollertypen durch        diese Schnittstelle nicht vom Programm selbst
neue Modelle ersetzt, was nicht nur zu mehr      verwendet wird. Die Ausführung des neuen
Speicher und mehr Rechenleistung führte,         Codes beginnt sofort. Da der Code hier inter-
sondern in vielen Fällen sogar die parallele     pretiert wird, ist die Ausführungsgeschwindig-
Ausführung von Tasks [2] ermöglicht.             keit begrenzt, was code-getriebene Kommu-
Der Webstore von Revolution Education [3]        nikation mit Peripherie erschwert. Für diese
bietet nicht nur PICAXE-Mikrocontroller, son-    Zwecke gibt es allerdings fertige und schnelle
dern auch Zubehör wie Bauteile, Platinen,        Ein-/Ausgangs-Funktionen, sodass man pro-
Kabel, I2C-Peripherie, LCDs und Starter-Kits     blemlos via I2C mit Peripherie kommunizie-
an. Über diese Webseite kann man also alles      ren oder beispielsweise IR-Signale generieren
beziehen, um direkt mit der PICAXE-Program-      kann. Ein großer Vorteil der Verwendung eines

                                                                                                  elektor   post   | Projekt Nr. 8 | 1
BASIC für PICs Einführung in PICAXE
Elektor•Post                                                                                           Projekt Nr. 8

Interpreters liegt in der Art, wie Code auf       die Pin-Belegung diverser PICAXE-Produkte
den Controller übertragen werden kann. Für        sowie um Inbetriebnahme und Anschluss plus
die Programmierung eines „normalen“ PICs          einige Tutorials zum Einstieg. Im zweiten Teil
benötigt man nämlich ein umfangreiches Ent-       werden die BASIC-Befehle beschrieben und
wicklungssystem, das im Vergleich zum PICA-       aufgeführt, gefolgt von einigen Program-
XE-Konzept deutlich mehr Schwierigkeiten bei      mier-Beispielen. Der dritte Teil besteht aus
Handling und Einsatz macht. PICAXE-Projekte       einer Sammlung von Peripherie-Demos.
sind üblicherweise mit einer Steckverbindung      Im Handbuch sind nicht nur einfache Dinge
ausgestattet, die mit den Pins einer seriel-      beschreiben wie der Anschluss von Schaltern,
len Schnittstelle des Controllers verbunden       LEDs oder eines Motors mit Hilfe von Darling-
ist. Auf diese Weise kann das Projekt jeder-      ton-Transistoren - es geht auch um das Inter-
zeit leicht mit neuem Code bestückt werden.       facing von PICAXE-Chips mit kommerziellen
Sobald die Elektronik eingeschaltet und ein PC    Modulen und Chips, wie etwa die Ansteuerung
angeschlossen ist, kann ein neues Programm        eines LCDs via I2C oder die serielle Kommuni-
auf den PICAXE-Chip übertragen werden.            kation PICAXEPC. Das Besondere ist, dass
Auch wenn das Schreiben und Hochladen             sich die Beispiele sogar auf das Interfacing
von PICAXE-BASIC-Programmen sehr schnell          von Peripherie und Modulen mit Nicht-PICA-
von der Hand geht, gibt es doch aufgrund          XE-Chips beziehen. Hierbei sollten allerdings
des interpretierten Codes Probleme, wenn          zulässige Spannungen und Steuerströme der
eine Anwendung das Ausführen komple-              verwendeten Hardware überprüft werden.
xerer mathematischer Funktionen in hoher          Auch wenn PICAXE ursprünglich für Lern- und
Geschwindigkeit erfordert. Die Ausführungs-       Ausbildungszwecke gedacht war, so ist das
geschwindigkeit ist für Echtzeit-Anwendungen      System doch sehr gut in richtigen kleinen Pro-
einfach zu gering.                                jekten einsetzbar. PICAXE-User stellen ihre
                                                  Projekte gerne auf der PICAXE-Webseite der
Alternativen zu PICAXE                            Allgemeinheit zur Verfügung. Anwender-Pro-
Ein „normaler“ PIC benötigt einen PIC-Pro-        jekte haben sich daher zu einem großen
grammer, um neuen Code in den Chip zu             Schaufenster für die Fähigkeiten dieser Platt-
bekommen. Auch wenn Projekte wie „el che-         form entwickelt. Die dort gehosteten Foren
apo“ [4] die Programmer-Kosten in Grenzen         stellen eine gute Quelle für Hilfe und Unter-
halten, können die Kosten für den Einstieg mit    stützung dar, und man bekommt hier gute
einem simplen Beispiel wie einer blinkenden       Antworten zu Fragen der Integration von
LED doch davon abschrecken, so etwas ein-         PICAXE-Chips und ihrer Peripherie in eigene
fach mal auszuprobieren. Ähnliches gilt für die   Projekte.
AVR-Controller von Atmel. Auch wenn durch
Arduino [5], das aus einem definierten Board      Software & Tools
mit AVR-Mikrocontroller samt IDE und Doku-        Wie schon erwähnt kann man mit dem PICA-
mentation besteht, der Einstieg in die Welt der   XE-System BASIC-Programme vom PC per
Mikrocontroller erleichtert wird, so ist dieses   serieller Verbindung auf einen PICAXE-Chip
Konzept doch teurer und komplexer als das         laden. Für Windows gibt es eine umfangrei-
PICAXE-System.                                    che Software namens „Programming Editor“,
                                                  mit dem man PICAXE-Chips ganz einfach
Support und Dokumentation                         mit Software bestücken und diese debuggen
Aufgrund des Lern- und Ausbildungscharak-         kann. AXEpad ist die Cross-Plattform-Alter-
ters von PICAXE überrascht es nicht, dass         native dazu und für OS X und Linux erhält-
hier umfangreiche Dokumentation zur Ver-          lich. Sie bietet die wichtigsten Fähigkeiten
fügung steht. Das PICAXE-Manual ist beim          der Windows-Lösung: einen Editor und das
„Programming Editor“ (Windows) und beim           Hochladen des Codes auf den Controller
AXEpad (OS X oder Linux) dabei und zusätz-        sowie ein Terminal und etliche Wizards zur
lich auf der PICAXE-Website [6] als PDF ver-      Code-Erzeugung. Im Vergleich zum Program-
fügbar. Das Handbuch ist dreigeteilt in „Get-     ming Editor vermisst man aber einige Fähig-
ting Started“, „BASIC Commands“ und „Mik-         keiten. Das wichtigste Manko ist sicherlich
rocontroller Interfacing Circuits“. Im ersten     das Fehlen eines On-screen-Tools zum Test
Teil geht es um technische Eigenschaften und      eines PICAXE-Programms über eine schritt-

                                                                                                   elektor   post   | Projekt Nr. 8 | 2
BASIC für PICs Einführung in PICAXE
Elektor•Post                                                                                          Projekt Nr. 8

                                                                                                  Bild 2.
                                                                                                  USB/Seriell-Kabel.

weise Simulation.
Will man den Editor einsetzen, muss man
einen PICAXE-Chip direkt seriell oder über
einen USB/Seriell-Konverter an einen PC
anschließen (siehe Bild 2) und den verwen-
deten seriellen Port beim Programming Editor
bzw. bei AXEpad angeben. Außerdem muss
man noch festlegen, welche Art von Chip ver-
                                                                                                  Bild 3.
wendet wird. Die Software enthält sogar eine    XE-Chip via Steckbrett anschließt. Die hier
                                                                                                  Pin-Belegung des PICAXE
Funktion, mit der man überprüfen kann, wel-     relevanten Pins sind +V (1), 0V (8), „serial      08M2.
cher PICAXE-Chip-Typ angeschlossen ist. Sie     in“ (2), „serial out“ (7) und der Ausgangs-Pin
kann sogar die Firmware-Version des ange-       für die LED (3).
schlossenen Chips auslesen. Ein Programm        Bild 4 zeigt die Schaltung für die blinkende
kann nach dem Schreiben direkt aus dem          LED. Die Anschlüsse für die Stromversorgung
Editor in den Chip übertragen werden. Das       +V und 0V werden mit einem Netzteil ver-
neue Programm startet dann sofort.              bunden, das eine Spannung zwischen 3 V und
                                                5 V liefert. Man kann die Schaltung auch per
Blinkende LED                                   Batterien in einem Halter (gibt es auch im
Die Hello-World-Variante für Mikrocontroller    Shop von Revolution Education) versorgen,
besteht bekanntlich darin, eine angeschlos-     sollte aber im Auge behalten, dass nicht mehr
sene LED blinken zu lassen. Bei diesem Bei-     als drei Zellen zu 1,5 V oder vier Akkus mit je
spiel wird ein Controller des Typs PICAXE 08M
verwendet, was aber problemlos auf jeden
anderen PICAXE-Chip übertragbar ist. Anhand
der Pin-Belegung [7] kann man schauen, an
welchen Pin sich die LED anschließen lässt.
Beim PICAXE 08M haben wir hierzu Pin 3
(C.4) ausgewählt – die zugehörige Pin-Be-
legung des PICAXE 08M2 ist in Bild 3 zu
sehen. Obwohl von Revolution Education Star-
ter-Packs angeboten werden, die alle nötige
Interface-Elektronik umfassen, wird in diesem                                                     Bild 4.
Beispiel demonstriert, wie man einen PICA-                                                        Blinkende LED.

                                                                                                  elektor   post   | Projekt Nr. 8 | 3
BASIC für PICs Einführung in PICAXE
Elektor•Post                                                                                        Projekt Nr. 8

1,2 V in Serie geschaltet werden. Wie in Bild 5
                                                    Listing 1: Ein erstes PICAXE-Programm
gezeigt, wird der Code-Upload über die PICA-
XE-Pins „serial in“, „serial out“ und „0V“ vor-     do				;repeat forever
genommen. Wenn die Upload-Schaltung nicht             high 4			 ;set output 4 high
an den PICAXE angeschlossen ist, sollte „serial       pause 1000		 ;wait 1 second
in“ Pin (2) über einen 33-kΩ-Pull-down-Wi-            low 4			 ;set output 4 low
derstand auf Masse gezogen werden.                    pause 1000 		 ;wait 1 second
Die LED wird über einen Vorwiderstand von           loop
330 Ω an Pin 3 und Masse angeschlossen.

PICAXE-Programmierung                               Listing 2: LED und Taster
Zunächst installiert man AXEpad (bei GNU/
Linux sowie OS X) oder aber den Program-            do				;repeat forever
ming Editor unter Windows [8]. Bei Verwen-            if pin3=0 then		 ;if the button is pressed
dung eines USB/Seriell-Konverters benötigen         		high 4		;light LED
Betriebssysteme in der Regel passende Trei-           else 			 ;if the button is NOT pressed
ber, bevor man den Konverter nutzen kann            		 low 4		 ;turn off LED
[9]. Im Beispiel wird AXEpad unter Linux ein-         endif			;closes if statement
gesetzt und ein PICAXE 08M auf einem Steck-         loop
brett mit einem seriellen RS232-Kabel über
eine 3,5-mm-Buchse an den PC angeschlos-
sen. Einige Sekunden nachdem die Verbindung
zum Chip hergestellt und die Stromversorgung
eingeschaltet ist, startet man die Software.
Bevor man ein Programm hochladen kann,
müssen die richtige PICAXE-Chip-Version und
der verwendete serielle Port spezifiziert sein.
Bei AXEpad selektiert man den seriellen Port
unter View -> Options -> Tab:Port. Auch der
Port eines USB/Seriell-Konverters wird hier
aufgelistet. Um die Verbindung zu prüfen,         transferiert, indem der Upload-Knopf betä-    Bild 5.
klickt man den Knopf mit der Firmware im          tigt, die Option PICAXE -> Programm gewählt   Anschluss an den PC.
Tab des Dialogs View -> Options.                  oder F5 gedrückt wird. Der Fortschritt des
Nachdem alles richtig eingestellt ist, wird auf   Uploads wird angezeigt und der verfügbare
die Betätigung des Firmware-Knopfs hin der        Speicher des Chips angegeben. Nach dem
Typ des gerade angeschlossenen Chips ausge-       Upload erscheint „programming successful“.
lesen. Wenn ein anderer als der ausgelesene       Das neue Programm startet sofort, und die
Typ eingestellt ist, sollte man dies korrigie-    LED sollte jetzt blinken.
ren. Ist alles in Ordnung, kann man jetzt sein
erstes PICAXE-Programm schreiben. Hierzu          Noch ein Taster
gibt man den Code von Listing 1 im Editor         Das nächste Beispiel demonstriert, wie man
ein. Noch ein Wort zu den Pin-Bezeichnun-         eine LED dann leuchten lassen kann, wenn
gen: Die internen Namen der Pins sind etwas
verwirrend. Einige Chips kann haben meh-
rere interne IO-Blöcke, bei denen ein Präfix
anzeigt, welcher Block gemeint ist. In diesem
Beispiel wird der ältere Chip 08M verwendet,
bei dem keine Präfixe notwendig sind. Wenn
beim Code von Listing 1 Probleme mit Ihrer
Version des PICAXE-Chips auftauchen, ver-
suchen Sie einfach mal, das passende Präfix
zu verwenden. Beispielsweise für Pin 3, der
Ausgang 4 des Blocks „C“ entspricht: „high                                                      Bild 6.
C.4“. Nun wird das Programm auf den Chip                                                        LED und Taster.

                                                                                                elektor   post   | Projekt Nr. 8 | 4
BASIC für PICs Einführung in PICAXE
Elektor•Post                                                                                                 Projekt Nr. 8

ein Taster betätigt wird. Hierzu schließt man
den Taster wie in Bild 6 gezeigt an Pin 4 an.
Anschließend wird das Programm von Lis-
ting 2 auf den PICAXE-Chip geladen. Nach
dem Upload sollte die LED nur noch leuchten,
wenn der Taster gedrückt ist. Die Bedingung
„if“ im Code prüft, ob der Pegel von Pin 4
durch den Taster auf „low“ gezogen wird.
Wenn ja, dann leuchtet die LED – andern-
falls nicht. Bild 7 zeigt die Steckbrett-Ver-
sion der Schaltung, bei der ein PICAXE 08M
mit dem Code von Listing 2 bestückt ist. Die
gezeigte Schaltung ist hier nicht mit dem PC
verbunden.
Die beiden Beispiele demonstrieren, wie ein-
fach solche Sachen mit PICAXE sein können.
Die benötigten Bauteile findet man leicht im
Shop von Revolution Education und die zuge-
hörige Dokumentation ebenfalls. Gerade Ein-
steiger können so sehr leicht PICAXE-Mikro-
controller für eigene Projekte nutzen.
                                      (130137)
                                                 Bild 7. So sieht die Schaltung mit LED und Taster samt Chip auf einem Steckbrett aus.

Weblinks
[1] www.picaxe.com                                   PICAXE-Manuals

[2] www.picaxe.com/What-is-PICAXE/               [7] www.picaxe.com/What-is-PICAXE/
    PICAXE-Chip-Sizes                                PICAXE-Pinouts

[3] www.techsupplies.co.uk/PICAXE                [8] www.picaxe.com/Software

[4] www.rentron.com/myke4.htm                    [9] www.picaxe.com/Getting-Started/
                                                     Driver-Installation
[5] www.arduino.cc
[6] www.picaxe.com/Getting-Started/

                                                                                                         elektor   post   | Projekt Nr. 8 | 5
BASIC für PICs Einführung in PICAXE
Sie können auch lesen