Bis vor kurzem kannte ich den PICAXE nicht. Das liegt auch vielleicht daran, dass mein Haupthobby die Astronomie ist und ich nur ab und zu Elektronikzeitschriften kaufe (Sorry, aber ich sehe öfter auf die Elo-Webseiten…).
Mein Haupt-Mikrocontroller ist der ATMEL vom TINY 13 bis ATMEL 168 und mehr. Vor einem Jahr habe ich in unserem Astronomie-Verein mit einem MC-Kurs begonnen. Da es die kostenlosen Tools bei ATMEL für die Programmiersprache „C“ auch für die kleineren ATMEL’s gibt und der ATMEL viel verwendet wird, entschied ich mich für die ATMEL-Reihe.
Da ich immer schon E-Gitarre lernen wollte, ergab es sich per Zufall, dass es einen VHS-Kurs in meiner Nähe gab. Dies weckte mein Interesse an Gitarrenelektronik. Beim Stöbern im Internet fand ich eine kleine Soundmaschine beim US-Magazin „Make“.
Dieses elektronische Gerät war (ist) einfach aufgebaut und hat den kleinsten PICAXE (08) als Controller.
Somit war mein Interesse geweckt.
PICAXE ein PIC für BASIC
Die britische Firma „Revolution Education Ltd” hat das „BASIC“ für die PIC-MC’s entwickelt. Sie verwenden die Mikrocontroller der US - Firma Microchip. Diese Controller sind eine direkte Konkurrenz zu ATMEL (USA).
Was ist der Vorteil und was wird benötigt?
Jeder PICAXE hat einen Bootlader mit dem PICAXE-BASIC im FLASH-Eprom. Die PICAXE werden mit kostenlos zur Verfügung stehenden Programmen (siehe unten) in BASIC programmiert.
Anfang der 80er Jahre hatte die Firma Intel den 8052 AH BASIC Mikrocontroller herausgebracht. Dem 8025AH, ein Derivat des 8051, wurden per Terminalprogramm die BASIC-Zeilen übermittelt. Jahre später gab INTEL den Chip auf, gab aber den Code zur freien Verfügung frei. Der Code kann auch auf einem 8032 laufen. Auch in meinem Fundus befindet sich noch eines dieser Urtiere.
Weiter mit dem PICAXE. Man muss keinen BASIC – Compiler kaufen, hat die ganze Firmware immer auf dem Chip. Als Hardware wird ein PICAXE, das PICAXE- USB-Kabel oder das PICAXE-RS232-Kabel benötigt. Für die Anpassung der Schnittstelle wird ein 10K und 22K Widerstand gebraucht. Zur Verbindung wird eine 3.5mm Stereobuchse benötigt, die man am besten mit einem Bredboard verbindet. Damit ist der minimalste Aufbau möglich. Damit lässt sich die Kommunikation mit dem PICAXE realisieren (erste Tests, Firmware Stand lesen etc..). Wer das Franzis-Lernpaket „MSR mit dem PC“ hat, kann dies zur Programmierung verwenden. Später werde ich die Verbindung „PICAXE und MSR“ genauer beschreiben.
Für die Arbeit mit dem PICAXE wird als Software der PICAXE „Programming Editor (Windows)“ oder „AXE Pad (Windows, MAC, Linux) benötigt. Die Programme können kostenlos ohne Einschränkungen heruntergeladen werden. Die weiteren Beschreibungen in diesem Artikel beziehen sich auf den „Programming Editor“.
Beschreibungen (Manuals) und Software findet man auf der Webseite http://www.picaxe.com/. Die Beschreibungen sind in Englisch, jedoch auch mit geringen Englisch-Kenntnissen gut zu verstehen. Die Programme sind zum Teil in Deutsch (einstellbar).
Was ist denn nun der Vorteil?
Nun, man kommt mit sehr wenig Hardware und Softwareaufwand zum Ziel. Die Softwareinstallation ist einfach und benötigt wenig Festplattenplatz. Die folgenden Beispiele sollen zeigen, wie einfach die Programmierung mit dem PICAXE-BASIC ist. Der PICAXE wird bundesweit in den Schulen eingeführt, so dass fast jeder Schüler in den technischen Bereichen den PICAXE kennenlernen wird.
Woher bekomme ich den PICAXE und weitere Tools?
Zurzeit gibt es in Deutschland zwei Anbieter, die fast das ganze PICAXE Produktprogramm anbieten können (der Autor erhebt hier keinen Anspruch auf Vollständigkeit!).
Dies sind EDV-Beratung und Robotertechnik Jörg Pohl http://www.roboter-teile.de/Oxid/index.php und die SIEKLA GmbH in Nürnberg http://www.picaxe-shop.de/ .
Wer nach „PICAXE“ im Internet sucht, der findet noch einige weitere interessante Webseiten und Foren zum Thema!
Tipps zum PICAXE Einkauf
Für den Einsteiger gibt es zum Beispiel das PICAXE-18M2 Tutorial-Board (AXE049) für ca. 25.-€. Das Tutoriell enthält den MC PICAXE 18M2, das USB Download-Kabel und die fertig bestückte Platine mit Tastern, LDR-Sensor, Eingängen (Lötpads), eine 7 Segment-Anzeige und vieles mehr. Die Details findet man über die oben angegebenen Webseiten.
Der Elektronikbastler (Lötkenntnisse erforderlich) kann noch
mit geringerem Aufwand einsteigen! Für die Arbeit mit Breaboard‘s gibt es das PICAXE Bread Board-Adapter-Kit als
Bausatz (~4€) für den Anschluss der PICAXE das USB-Programmier – Kabel
(AXE027 – ~ 20€) oder das RS232 (AXE026- ~ 4 -5€). Der kleinste PICAXE der aktuellen
M2 Version kostet um die 3.50€ (Tagespreis!). Die meisten PICAXE bis zum 20er
liegen bei 4bis 5€. Die größeren Chips liegen bei 6-8€ und mehr. Als Einstieg
eignet sich der 14M2 bis 20M2, der 08M2er geht natürlich auch, hat aber weniger
Ein/Ausgänge zur Verfügung. Die Älteren, aber deswegen nicht unbrauchbaren PICAXE gibt es auch schon mal etwas
günstiger (mehr Einschränkungen als unter den M2-Typen). Die angegeben Preise
können sich ändern und können nur als Orientierung dienen!
Eine abschließende Empfehlung kann es hier nicht geben.
Erste Schritte
Für die ersten Schritte muss der kostenlose Programmeditor von PICAXE (www.picaxe.com) installiert werden, das geht auch ohne PICAXE-Hardware! PICAXE hat ein eigenes USB-Kabel, das im Handel bezogen werden kann (siehe oben Tipps zum PICAXE Einkauf). Man kann auch ein Standard-USB an RS232 Schnittstellenkabel (die Signale müssen evtl. invertiert werden! Sehen sie dazu im PICAXE-Forum nach). Die RS232 Varianten habe ich nicht getestet! Wer noch eine echte RS232-Schnittstelle am PC hat, kann auch ein RS232-Kabel verwenden (Hinweise findet man im PICAXE-Forum!). Gehen wir jedoch zuerst von der Benutzung des Standard-USB-Kabels von PICAXE aus. Das USB-Kabel hat zur PICAXE – Seite hin einen 3.5mm Stereo – Klinkenstecker. Es werden nur Masse (0V oder GND) und die Signale TXD und RXD an den PICAXE herangeführt. Das bedeutet aber, dass der Baustein eine eigene Stromversorgung benötigt. Für die Experimente reicht eine Batteriebox mit 4.5V völlig aus. Die Spannung sollte 5.5V auf keinen Fall überschreiten, da sonst das IC zerrstört wird.
Ich verwende bei meinem Aufbau das PICAXE – Breadboard -Adapter -Kit, dass die Adaption zwischen Schnittstelle und einem Bredboard ermöglicht. Den Adapter gibt es nur als Bausatz. Das Bredboard könnte auch über Steckverbindungen auf eine Platine gesteckt werden, um den PICAXE zu programmieren.
Bild 1 zeigt den allgemeinen Aufbau der seriellen PICAXE – Schnittstelle. Man findet diese Schaltung hinreichend oft in den PICAXE Beschreibungen (Manuals).
Bild 1 Schaltung der PICAXE-Schnittstelle mit einem 3.5mm Stereo-Klinkenstecker/Buchse www.picaxe.com
Auf verschiedene Typen der PICAXE’ s werde ich später noch kurz eingehen. Die M2 Typen enthalten alle Eigenschaften der älteren M-Typen und mehr. Die PIXACE-M2-08, 14 und 20 haben alle bei PIN 1 den V+ (UB) Anschluss. Der PIN auf der gegenüberliegenden Seite ist immer 0 Volt (GND). Der serielle Eingang (RXD für die Programmierung!) ist immer der Pin 2 und gegenüber der Ausgang (TXD). Damit können wir also 3 der PICAXE-M2- Typen plus den 20X2 (X-Serie) an denselben Ort auf dem Bredboard stecken oder bei der Herstellung einer Platine berücksichtigen.
Der folgende Schaltplan (Bild 2) zeigt den Minimalaufbau für ein Bredboard (ohne angeschlossene Peripherie). Mit dem PICAXE Electronic Bredboard Layout Emulator „PEBBLE“ (kostenloser Download über PICAXE.com) kann der Aufbau auf dem Bredboard grafisch am PC erstellt werden.
Bild 2 Minimale Beschaltung für den PICAXE 14M2 (auch für 08M2 und 20M2 geeignet), www.picaxe.com
An der Leiste „Y“ des Bredboards wird VCC (+Ub) und an „X“ 0V angeschlossen. Bei den PICAXE-Projekten wird oft mit Batterien gearbeitet. Es reichen 4.5V für die Tests aus. Die Spannung sollte aber 5.5V nicht überschreiten, sonst wird das IC dauerhaft zerstört! Mit dem einfachen Aufbau (Bild 2) können wir die 08er, 14er oder 20er testen, ohne Umverdrahtung. Die PICAXE müssen nur einfach immer beginnend an PIN 1 eingesteckt werden.
Wenn Software und Hardware richtig installiert sind, dann können wir den Firmware Stand des PICAXE auslesen. Damit lassen sich die Verbindung und der PICAXE auf Funktionalität testen. Einen Test mit einer LED sollte man aber auf jeden Fall machen (siehe Bild 3).
Der Schaltungsvorschlag zur Ansteuerung der LED’ s findet man im „PICAXE Manual 1“. Ich bevorzuge die Variante die logische „1“ zu schalten. Zum Setzen eines Ausganges kann der Befehl „high“ und zum Löschen „low“ verwendet werden. Mit „high 4“ wird der „output pin 4“ gesetzt, mit „low 4“ rückgesetzt. Der Output Pin ist jedoch nicht identisch mit dem Ausgangsport am IC. Es empfiehlt sich die Ausgänge im Simulator (siehe unten) zu überprüfen. Eine genauere und empfohlene Variante ist die Verwendung des Befehls mit dem genauen Port-Namen. Für den Output Pin 4 wäre dies zum Setzen der Befehl „high B.4“ und zum Löschen „low B.4“. Die Entwickler des PICAXE schlagen einen 330 Ohm-Vorwiderstand zur Ansteuerung einer LED vor (Bild 3). Wer keinen 330 Ohm Widerstand zur Hand hat, kann z.B. auch einen 1K Widerstand, wie er beim MSR-USB-Lernpaket des Franzis-Verlags beiliegt, verwenden.
Lernpaket „Elektronik Start mit USB“ mit dem PICAXE
Zur Verwendung der Platine aus dem Franzis Lernpaket „Elektronik Start mit USB“ mit dem PICAXE wird nur ein „PICAXE“ benötigt. Die Widerstände für die Eingangsbeschaltung zur Programmierung können aus dem Paket entnommen werden. Statt dem 22k Widerstand (PICAXE Applikation) kann der 27K Widerstand des MSR-Pakets verwendet werden. Sollte dies Probleme bereiten, dann muss ein 22k besorgt werden.
Bei mir läuft die Anwendung mit dem 27k einwandfrei. Die Signale der USB-Schnittstelle müssen mit „Mprog“ auf „Invert RS232“ gestellt werden, wie im MSR – Lernpaket beschrieben, sonst kann der PICAXE – Prorammeditor nicht mit dem Chip zusammenarbeiten.
Bei der Arbeit mit der USB-Platine hat sich ein Problem dargestellt, dass so mit dem PICAXE-USB-Kabel nicht vorkam.
Wenn das TXD – Kabel am RXD-Eingang gezogen wurde, stoppte der PICAXE das Programm. Dies äußerte sich darin, dass z.B. eine blinkende LED aus blieb.
Alle Applikationsvorschläge änderten an der Situation nichts. Erst ein 10K* (Bild 4) Widerstand direkt am PIN 2 nach Masse löst das Problem. Mit diesem Pull-Down- Widerstand können nun nach Belieben die Programmierleitungen gezogen und gesteckt werden, ohne den PICAXE in der Funktion zu stören!
Bild 4 zeigt die RC – Netzwerke zwischen Original USB-Kabel und PICAXE. Erst der 10K* Widerstand nach Masse am PICAXE Eingang hilft bei Verwendung der USB – Platine (ganz rechts in Bild 4)! Die 100 Ohm Widerstände und die 10K der linken Seite werden nicht unbedingt benötigt. Die T-Schaltung auf der rechten Seite aus 22k und 2x 10K Widerständen ist für die USB-Platine nötig. Die 100 Ohm und 10K Widerstände der linken Seite können durchaus als Schutz der USB-Platine dienen. Der 22k Querwiderstand ist beim MSR-Paket nicht vorhanden. Die Schaltung hat bei mir auch mit dem 27K des Paketes funktioniert.
Bild 4 Originalbeschaltung des PICAXE-USB A027 (links, www.picaxe.com) und dem Widerstandsnetzwerk (rechts)
Beim Anschluss des MSR-USB hatte ich unter Windows Vista/ Windows 7 das Problem, dass bei der Treiberinstallation drei Treiber installiert worden sind. Das Gerät erscheint als Ballpoint-Mouse und muss dann im Gerätetreiber gelöscht werden. Dies muss mit Administratorrechten erfolgen. Ohne Löschen ist die USB-Schnittstelle nicht ansprechbar (egal ob Franzis-Tools oder PICAXE-Tools).
Die Software bekommt man über www.picaxe.com/software . Die Installation ist problemlos und nach der Installation kann man den PE starten. Für ein Kennenlernen wird noch keine Hardware benötigt, da der PE einen Simulator enthält und ich im Folgenden näher darauf eingehen möchte.
Nach der Installation
starten Sie nun den PE. Die Ansicht wird in etwa dem Bild 5 entsprechen.
Bild 5 Programmeditor PICAXE mit Simulator, www.picaxe.com
Öffnen Sie nun das Menü „Option“ über den Knopf (Werkzeug) in der Menüleiste oder über „View“.
Bild 6 Optionen PICAXE Programmeditor, www.picaxe.com
Klicken sie auf „Language“ und klicken sie auf „German“ und
dann auf „Apply“. Das Menü Optionen wird geschlossen und Teile des „PE“ sind
nun in deutscher Sprache. Öffnen sie nun erneut das Optionen Menü.
Unter Optionen/Modus stellen wir nun den PICAXE-Chip 08M2 ein und übernehmen
diese Einstellung. Für einen ersten Überblick reicht der kleinste PICAXE völlig
aus!
In der Menüleiste findet man den Knopf mit der Aufschrift „ABC Syntax“, damit kann man einen Syntax-Check des Programmcodes durchführen.
Wir haben noch keinen Code geschrieben, jedoch ergibt ein leerer Code bei der Syntax-Prüfung eine Nutzung von 3 Bytes der 2048 Programm-Bytes des PICAXE 08M2 (Bild 7).
Bild 7 Syntax Überprüfung (ABC), www.picaxe.com
Klickt man nun auf den Knopf „Simulate“, so erhält man die Meldung „Übersetzungs-Fehler…“ (Bild 8) mit der Meldung „Es gibt keinen Text zum übersetzen“. Also schreiben wir als nächstes einen kleinen Programm-Code, um den Simulator näher betrachten zu können.
Bild 8 Fehlermeldung des PE-Simulators wenn kein Programm im Quelltext steht
Geben sie nun den folgenden Text in das Fenster „Untiled:1“ ein.
start0:
high 0
'Setze Ausgang 0 auf 1
pause 1000
'1000ms Pause
low
0
'Setze Ausgang 0 auf 0
pause 1000
'1000ms Pause
goto
start0
'springe zur Marke start0
Klicken sie nun auf „Simulate“ und beobachten sie, was passiert.
Bild 9 Programmtest im Simulator des Programm-Editors von PICAXE
Mit einem Klick auf „Stop Simulation“ beenden sie die Simulation. Die Simulationsfenster bleiben noch sichtbar. Sie verschwinden, sobald sie einen neuen Code schreiben oder auf die Syntax – Überprüfung klicken. Man kann die Simulationsfenster auch mit klicken auf „Stop“ automatisch verschwinden lassen, dazu muss man unter „Optionen“ die Registerkarte „Simulation“ anwählen und den Haken bei „Automatically hide panels…“ setzten!
Betrachten sie zunächst nur die Darstellung des PICAXE-Chips
und dessen Ein-und Ausgänge.
Bei unserem Beispiel blinkt der PIN 0. Der echte Pin wäre hier der Pin 7 am
PICAXE 08M2.
Diesen Pin (TXD) sollte man aber zunächst freihalten, da dies auch einer der
zwei Programmier-Pins (RXD + TXD) ist. Ändern sie den Code nun ab und ersetzen
„high 0“ mit „high 1“. Somit können wir das Problem der mehrfachen Nutzung von
Programm-Pin und Anwendung umgehen. Der PIN 0 kann aber, falls nötig als
Ausgang verwendet werden, aber nie als Eingang! Speichern sie den folgenden
Code nach der Eingabe über „Datei“ unter einem Ordner nach ihrem Wunsch ab
(Bild 10 ). Die Dateierweiterung ist automatisch „.bas“.
Für das Setzen eines Ausganges wird der Befehl „high …“ verwendet (Näheres
siehe unten). Damit zwischen „high…“ und „low….“ (Rücksetzen des Ausganges)
eine Pause entsteht, wird hinter „high…“ der Befehl „pause 1000“ gesetzt. Dies
erzeugt eine Pause von 1s. Marken werden mit „Name:“ im PICAXE-BASIC
programmiert. Die Marke „start0:“ ist im PICAXE-BASIC reserviert. Für
Multitasking-Anwendungen der „M“-Typen muss dies berücksichtigt werden! Mit
„goto“ werden die Marken innerhalb eines Programmes direkt angesprungen.
Das Testprogramm:
start0:
high 1
'Setze
Ausgang 1 auf 1
pause
1000
'1000ms Pause
low
1
'Setze Ausgang 1 auf 0
pause 1000
'1000ms Pause
goto start0
'springe zur Marke start0
Speichern sie das Programm unter „testpicaxe.bas“ ab (Bild 10 unten).
Bild 10 Programm speichern
Klicken sie nun auf „Option“ und „Modus“. Wählen sie nun den PICAXE-Chip 14M2 aus und lassen sie dann die Simulation erneut laufen.
Die Ausgänge (Eingänge) sind nun nicht mehr einfach als 0,1.. bezeichnet, sondern mit B.0, B.1…C.0, C.1... Die Ein/Ausgänge der PICAXE sind Multiports, deren verschiedene Möglichkeiten findet man im „PICAXE Manual 1 – Getting Started“ näher beschrieben. Die Ports des PICAXE 08M2 haben die Bezeichnung C.0 bis C.5.
Stellen sie zum Test und Vergleich unter Optionen/Modus auch noch den Chip 20M2 ein.
In der Simulation sind nun weitere Ein/Ausgänge hinzugekommen. Die Programmier-Pins RXD und TXD sind nun extra bezeichnet. Beim PICAXE 18M2 sind auch die Pins für VCC und 0V gekennzeichnet, die sich an anderer Stelle am Chip befinden, wie z.B. bei 08,14 und 20.
Für die Simulation mit 28X2 und 40X2 muss zusätzlich im
Programm-Code die Definition
#picaxe 28X2 oder #picaxce 40X2 eingetragen werden und unter Optionen/Modus
auf PICAXE-28X2/40X2 gestellt werden.
Die PICAXEs 08, 14 und 20 haben 0V, VCC, RXD und TXD von
oben betrachtet an der gleichen Stelle.
Man kann dies bei der Planung einer Schaltung berücksichtigen, um optional den
Einsatz dieser drei Typen zu ermöglichen (z.B. ein 20 Pin – Sockel). Bei den
18er, 28er und 40er ist das nicht möglich.
Mit der Simulation können sie alle PICAXE-Chips ansehen, ohne die Hardware dafür zu benötigen. Unter dem Menüpunkt „Hilfe“ findet man die Syntax-Schnellhilfe, die sehr hilfreich bei der Auswahl der Befehle sein kann. Nicht alle BASIC-Befehle können mit jedem PICAXE verwendet werden!
Weiter finden sich hier auch die Links zu den Dokumentationen. Die Pinbelegungen der Chip’s findet man im „Manual 1 – Getting Started“. Im „Manual 2 – BASIC Commands“ findet man die genaue Beschreibung der Basic-Befehle und im „Manual 3 – Interfacing Circuits“ finden sich Beispiele zur Beschaltung der Ein/Ausgänge mit externer Hardware, wie Widerstände, LED’s, Transistoren, Relais etc..
Als zweites Beispiel simulieren wir nun einen Eingang (Taster). Nach dem Drücken des Tasters wird ein Ausgang zum Blinken veranlasst. Danach wird der Eingang C.1 nicht mehr abgefragt! In unserer Simulation verwenden wir nun einen 14M2. Als Eingang verwenden wir den Port C.1 und als Ausgang den Port B.1.
Geben sie den folgenden Code im Programm-Editor ein bzw. ändern sie das bestehende Programm und speichern sie den Code unter „testpicaxe2.bas“ ab. Statt „high 1“ kann auch der Port angegeben werden. Für den 14M2 ist dies „high B.1“.
Das um einen Eingang erweiterte Testprogramm:
start0:
if pinC.1 = 0 then start0 'Springe zu start0
bis Taste C.1 gedrueckt wird!
main: high 1
'Setze Ausgang 1 auf 1 -----high B.1 ---
pause
1000
'1000ms Pause
low
1
'Setze
Ausgang 1 auf 0
pause
1000
'1000ms Pause
goto
main
'springe zur Marke main
Starten Sie nun die Simulation.
Bild 11 Simulation eines Eingangs (C.1)
Damit der Ausgang B.1 blinkt, muss man in der Simulation mit der Maus auf C.1 klicken. Die Farbe an C.1 ändert sich nun und der zweite Programmteil wird durchlaufen. B.1 blinkt nun und ein weiteres Anklicken von C.1 ändert zwar die Farbe in der Simulation, ist aber für den Programmablauf nicht mehr relevant. Hier hilft nur ein Reset. Ein Klick auf RST simuliert dies. Beim Chip müsste dazu die Spannung aus- und wieder eingeschaltet werden! Externe Reset-Pins werden nicht bei allen PICAXE verwendet.
Ich verwende hier natürlich sehr einfache Beispiele. Ich werde hier in diesem Artikel nicht alle Möglichkeiten besprechen können. Für einen ersten Kontakt zum PICAXE sollte dies aber ausreichend sein.
Es wird Ihnen sicher aufgefallen sein, dass ich für die
Abfrage des Einganges nicht „In 7“ verwendet habe, sondern „if PinC.1…“.
Einen In-Befehl gibt es beim PICAXE nicht. Hier ist die Abfrage des Einganges
mit einer einfachen „if-Abfrage“ kombiniert. Solange der Eingang „0“ ist, wird
an die Marke „start0“ gesprungen. Bei „1“ werden die Programmzeilen dahinter
durchlaufen. Ein „else-Pfad“ wird nicht benötigt.
Statt „high 1“ zur Ausgabe kann man aber auch „high B.1“ schreiben. Ersetzen
sie nun „high 1“ mit „high B.1“ und „low 1“ mit „low B.1“. Speichern sie das
Programm unter „picaxe3.bas“ ab.
Mit „high 0,1,2…“ braucht man sich nicht um den genauen Port kümmern, das ist durch den Befehl und den entsprechenden PICAXE gegeben. Die Erweiterung ist aber besser für das Lesen des Schaltplanes. Probieren sie einfach mal „high 0,1,2…“ aus und wählen sie dazu verschiedene PICAXE im Simulator aus und sehen sich dabei an, welche „Ports“ dabei verwendet werden.
Ich werde hier auch nicht das ganze PICAXE-BASIC beschreiben, hierzu findet man in Manual 2 der PICAXE-Dokumentation alles was man braucht.
Es soll hier nicht der gesamte BASIC-Befehlssatz erklärt werden. Ein paar
Tipps für den Start bei keinen oder sehr geringen Programmierkenntnissen, mehr
nicht. Es wird hier auch nicht auf bestens optimierte Programme Wert gelegt. Es
soll nur die Funktionalität an einigen Beispielen gezeigt werden!
Jedes Programm sollte eine Marke haben. Der Name ist beliebig und muss mit
einem Doppelpunkt abgeschlossen werden. Reservierte Namen sind „start0,1,2…7“,
die für das Multitasking der M2-Typen zu verwenden sind (4-8 Marken für das
Multitasking abhängig vom M2 Typ!). Die Marken fürs Multitasking müssen immer
ganz am Anfang stehen (ist so vom Hersteller festgelegt).
Das einfachste Programm wäre eine Marke mit einem Sprung zur Marke. Der Sprungbefehl ist der bei vielen Programmieren ungeliebte „goto“-Befehl (wer will kann dafür do … loop verwenden!).
Start0: goto Start0 ‘dieses Programm tut nix
Oder mit do/loop
Start0: do ‘dieses Programm macht auch nix
loop
Für das Setzen und Rücksetzen der Ausgänge haben wird den „high“ – Befehl
kennengelernt.
Für das Einlesen der Eingänge verwendet man eine „IF“-Abfrage.
Mit „if pinC.1 = 0 then start0“ haben wir den Port C.1 auf „0“ abgefragt ( =0 ) und im „THEN“-Pfad dafür gesorgt wieder zur Start-Marke „start0“ zu springen. Erst durch Drücken der Taste C.1 wird das Programm darunter durchlaufen (Bild 11).
Bild 12 zeigt die Eingangsbeschaltung eines Tasters für den oben besprochenen Programmcode. Die Schaltungsvarianten finden sich in den PICAXE-Manuals 1 und 3 (www.picaxe.com).
Bild 12 Anschluss eines Schalters oder Taste an einen PICAXE – Eingang
Damit der PICAXE problemlos läuft, sollten die Programmierleitungen im Betrieb abgeklemmt sein (z.B. über Brücken) oder durch entsprechende Schaltungsmaßnahmen geschützt werden (Bild 4).
Die serielle Schnittstelle muss nach den Vorgaben von PICAXE eingerichtet sein. Mit den hier beschriebenen Varianten funktionierte dies einwandfrei (es kann natürlich keine Garantie übernommen werden!). Die sicherste Variante ist es, die von PICAXE produzierten Teile zu verwenden. Dies ist mein Tipp für unerfahrene Anwender. Wer das Lernpaket „Elektronik Start mit USB“ des Franzis-Verlages hat kann, wie oben gezeigt, auch ohne die Standard PICAXE-Kabel in die Welt der PICAXE Mikros einsteigen.
Mein Artikel sollte nur einen ersten Überblick geben. Wenn gewünscht, werde ich in einer Fortsetzung weitere Ansteuermöglichkeiten beschreiben (Motoren, Analogeingabe, Verwendung von Variablen, etc..).
Im letzten Kapitel verwende ich den 20M2 für einige weitere Beispiele! Für Tests mit 08M2 oder 14M2 muss das Programm auf die Ports der verwendeten Bausteine umgeschrieben werden!
Mit vorhandenen Bauteilen oder aus dem MSR-Packet lassen sich auch noch einige Versuche durchführen. Dies wird in diesem letzten Kapitel beschrieben.
Ich werde hier aber weniger ins Detail gehen, dies würde ich gerne in einem anderen Artikel genauer ausführen.
Für die folgenden Versuche habe ich den PICAXE 20M2 verwendet. Alle Versuche können auch mit dem 08M2 (evtl. müssen beim 08M2 die Versuche aufgeteilt werden, da weniger Ports zur Verfügung stehen!) und 14M2 durchgeführt werden. Dabei muss allerdings auf die Belegung geachtet werden (siehe PICAXE-Manual 1). Der 14M2 geht nur bis Port C.5, der 08M2 hat nur Ports mit der Bezeichnung „B“. Der 14M2 ist auch für den Einsteiger auf jeden Fall eine gute Wahl, da man ab den 14 Pin PICAXEs großzügiger mit den Anschlüssen umgehen kann. Bild 13 zeigt den Schaltungsaufbau der im Folgenden beschrieben Programmteile. Die Widerstände R1 und R2 bilden einen beliebigen Spannungsteiler! Wenn R1 und R2 gleich sind (z.B. 2x 10K **, Bild 13), dann liegt am Eingang B.1 die halbe Betriebsspannung an. Die Funktion des 10K* Widerstandes an Serial In wurde bereits oben beschrieben (Bild 4)!
Bild 13 Schaltungsaufbau zur Benutzung des Analogeingangs (B.1) und der LED-Ansteuerung über Port B.2
Bild 14 PICAXE Modus Einstellung 20M2
Bild 15 Seriellen Port wählen (hier 9 für MSR-Packet)
Programmteil: Lesen vom ADC mit Spannungsteiler an Port B.1
start0: readadc B.1, b0 ‘Einlesen von Analogwerten ueber B.1
debug ‘Analogwert im Debugfenster anzeigen
low B.2 ‘LED an B.2 aus
pause 500 ‘Pause 500ms
high B.2 ‘LED an B.2 an
pause 500 ‘Pause 500ms
goto start0 ‘Springe zum Start
Bild 15 Debug – Fenster zeigt die aktuellen Werte der PICAXE Register
Unter Picaxe (F6) bekommt man das Debug-Fenster.
Das Debug-Fenster geht nur mit der Hardware-Verbindung zum
PICAXE. An b0 liegt der Spannungsteiler aus zwei 10K
Widerständen
an (siehe Bild 13 R1, R2**). Der Wert schwankt um 128
Dezimal (80 Hex).
Durch Parallelschalten eines Widerstandes erhält man einen anderen
Wert. Der
kleiner oder größer sein kann, je nachdem wo man den Widerstand
parallel
schaltet (oben oder unten). Probieren sie es einfach mal selbst aus.
Das Programm kann wieder erst mal im Simulator getestet werden, bevor man an die Verdrahtung geht. Der erste Teil zeigt liest einen Analogeingang ein. Mit zwei Widerständen als Spannungsteiler wird dann praktisch experimentiert. Der Messwiderstand kann auch eine Diode, Fotowiderstand oder ein Fototransistor sein. Für den Analogeingang benötigen wir nur den Befehl „readadc B.1, b0“ und „debug“.
Die anderen Befehle werden später besprochen. Das vollständige Programm ist auf der nächsten Seite angegeben! Mit „b0“ verwenden wir nun auch eine Byte-Variable. Bei den M2-Typen sind 28 Byte als Variable definiert (b0 bis b27) oder als Word-Variable „w0“ (b0,b1). Über andere Befehle ist aber noch mehr RAM-Speicher verwendbar. Die Verwendung von EEPROM für dauerhafte Speicherung ist auch möglich, wird hier jedoch nicht besprochen!
Der Ausgang „C.4“ kann an einen Piezo-Lautsprecher herausgeführt werden. Ich habe dies im Programm vorgesehen, jedoch nicht angeschlossen. Ich wollte aber die einfachen Soundmöglichkeiten hier erwähnen. Zur Ansteuerung genügt es, eine Seite des Piezo an den Ausgang „C.4“ anzuschließen und die andere Seite an 0V zu legen (siehe Bild 16)! Für die Sound-Ansteuerung wird der Befehl „Sound“ innerhalb einer „for – Schleife“ versorgt. Weitere Einzelheiten findet man in den PICAXE-Manuals 1-3.
Zur Ansteuerung eines Gleichstrommotors wird der Ausgang „C.5“ des PICAXE 20M2 verwendet. Über einen 1k-Widerstand wird ein Transistor (z.B. BC548) angesteuert.
Eine Schutzdiode (D1, Bild 16 ***, am Motorsymbol) verhindert wie bei einem Relais eine Zerstörung des Transistors. Parallel zum Motor sollte noch ein Kondensator von 220nF geschaltet werden (Empfehlung im PICAXE Manual 3). Beim Franzis Elektronik Start mit USB kann man zwei 100nF Kondensatoren parallel schalten, wenn kein 220nF vorhanden ist. Je nach Motorbelastung muss der Plusanschluss des Motors getrennt mit einer eigenen Spannungsquelle gespeist werden, sonst läuft der Motor nicht (Bitte die Empfehlungen des PICAXE Manual 3 beachten!).
Das Beispiel zeigt eine einfache Anwendung von PWM (Puls Wide Modulation) des PICAXE. Weitere Einzelheiten findet man in den PICAXE Manuals 1-3.….
Den kompletten Schaltplan findet man in Bild 16.
Das komplette Testprogramm finden wir auf der nächsten Seite.
'Testprogramm: Beispiele fuer PICAXE-Anwendungen J. Linder /14. Oktober 2012
'Version 1.0
'Beispiel fuer PICAXE 20M2
'Verwendete Ports: B.1 (Analogeingang); B.2 LED (Ausgang);
' C.4 Ausgang fuer Piezo/Sound
' C.5 Ausgang fuer Motor (+PWM); C.7 Eingang fuer Taster
'Variable: b0 fuer Analogeingabe; b1 als Laufvariable für Soundbeispiel
'Start von Prozess 1 mit Taste an Port C.7
'Prozess 1
'lesen von ADC => Spannungsteiler an B.1
'Anzeige im Debugfenster
'LED Signal ueber Port B.2
'Motor Ein/AUS ueber Port C.5
'Prozess 2 durch druecken der Taste C.7 waehrend Motor läuft und LED B.2 an ist!
'Prozess 2
'Motor aus; LED aus
'Einfaches Soundbeispiel
'Nach 2s Pause wird fuer 8s der Motor mit PWM angesteuert
'Rücksetzen des PWM-Mode mit pwmout C.5,OFF
'LED aus
'Sprung zur Marke start0; Prozess 1 kann neu gestartet werden
start0: if pinC.7 = 0 then start0 'Programm starten nach Tastendruck
los: 'Prozess 1
readadc B.1, b0 'Lese Analogwert
debug 'zeige Analogwert im Debugfenster
low B.2 'LED an Port B2 ausschalten
pause 1000 'Pause von 1000ms
high B.2 'LED an Port B2 einschalten
low C.5 'Port C5 auf 0 setzen für Motor aus
pause 500 'Pause von 500ms
high C.5 'Port C5 auf 1 setzen für Motor ein
pause 2000 'Pause 2s; Motor laeuft fuer 2s
if pinC.7 = 0 then los
low C.5 'Prozess 2; Motor aus
low B.2 'LED aus
for
b1 = 50 to 100
'Piezo ertoent wenn Programmlauf
'beendet gedrueckt wurde
sound C.4, (b1,25) 'Sounderzeugung an Port C.4 (Piezo)
next b1
pause 2000 'Nach 2s Motor mit PWM ansteuern
pwmout pwmdiv4, C.5, 124, 250 'Motor mit PWM ansteuern
pause 8000 '8s PWM, dann PWM ausschalten
pwmout C.5, OFF 'Ausgang C5 auf Normalzustand
pause 2000
low B.2 'LED B.2 ausschalten
goto start0 'Wieder auf Anfang setzen
Bild 16 Die komplette Schaltung des Versuchsaufbaus mit dem PICAXE 20M2
Somit kommen wir zum Ende meines PICAXE – Einstiegs/Übersicht.
Ich konnte sicher nicht Alles zeigen, was mit den PICAXE geht, hoffe aber
Anregungen gegeben zu haben, sich mit dem Thema zu befassen. Ich habe die
Schaltungen mit 5.0V oder 4.5V Batteriespannung getestet. Wer mit 3V arbeiten
will, muss dies in den PICAXE-Beschreibungen oder im PICAXE–Forum nachsehen.
Die Motoransteuerung über das USB MSR vom Franzis Verlag kann nicht beliebig
starke Motoren treiben. Je nach Motor ist eine eigene Stromversorgung
notwendig. Bitte beachten sie die Hinweise im Manual 3 der PICAXE
Dokumentation! Die neuen PICAXE M2 Typen sind an den Portanschlüssen meist als
Ein- oder Ausgang verwendbar. Es gibt jedoch einige wenige Ausnahmen, die nur
als Ein- oder Ausgang zu verwenden sind. Die Belegungen findet man in Manual 1
der PICAXE-Beschreibung oder auf der PICAXE-Webseite.
Die verwendeten Programme sind mit dem PICAXE Editor der Version 5.5.0 erstellt
und getestet worden.
Zum Schluss noch einige Bilder zum PICAXE und den Versuchsaufbauten.
In Bild 17 findet man sowohl Aufbauten mit Breadboard, als
auch die fertige PICAXE-Tutorial-Platine mit dem PICAXE 18M2 und die PICAXE
Proto 08 Board Platine als Bausatz.
Die verschiedenen PICAXE–Typen und die Testaufbauten sind im Bild 17 zur
Information genauer beschriftet.
Bild 18 zeigt den Testaufbau mit PICAXE 20M2 und dem Franzis Lernpacket
„Elektronik Start mit USB“.
Bild 19 zeigt den Bredbord USB-Adapter an PICAXE 40X2 und 28X2. Die beiden
PICAXE können natürlich nur einzeln an den Adapter zur Programmierung angeschlossen
werden!
Bild 20 zeigt den Testaufbau mit dem PICAXE 20M2 auf dem Breadboard im Detail.
Bild 17 Verschiedene Testaufbauten mit Bredboard und fertigen PICAXE Modulen
Bild 18 Testaufbau mit Franzis Elektronik Start mit USB
Bild 19 Breadboard mit Bredboard-USB-Adapter (links), PICAXE 40X2 (Mitte) und PICAXE 28X2
Bild 20 Testaufbau PICAXE 20M2 auf dem Breadboard im Detail
So, ich hoffe, nun haben auch Sie Interesse am PICAXE gefunden!