MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner...
Transcript of MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner...
Elektor 9/99
Die Konstruktion kleiner Roboter istder ideale Weg, um den Umgang mitMikrocontrollern und ihrer Verbin-dung mit anderen elektronischenKomponenten zu erlernen. Messun-gen an Mikrocontroller-Systemen mitMultimeter, Oszilloskop und Logik-Analysator sind zwar notwendig undaufschlußreich, interessant wird es fürden Lernenden aber erst, wenn sichdas Versuchsobjekt hupend und blin-kend durch die Gegend bewegt.Im Gegensatz zum BASIC-Buggy (Elek-tor 4/99) wollen wir diesmal keinen fer-tig programmierten Baustein in eineFassung setzen (dabei lernt man nicht
sehr viel), sondern das Programm selbstentwickeln und zur BASIC-Stampdownloaden. Ein weiterer kleiner, aberwichtiger Unterschied ist der Mikro-controller selbst. Diesmal verwendenwir mit der BASIC-Stamp 2 einen fort-schrittlicheren Mikrocontroller, dergegenüber der BASIC-Stamp I (oderder funktionskompatiblen BASIC-Brief-marke A) nicht nur einen erweitertenI/O-Bereich, sondern auch deutlichmehr RAM besitzt. Die Programmier-sprache PBASIC ist dagegen nahezuunverändert, lediglich der Umgang mitden Port-Anschlüssen könnte demUmsteiger von der BASIC-Stamp 1 eini-
In einem sechsteiligen Kurs wird die Programmierung der BASIC-Stamp 2 am Beispiel eines kleinen fahrbaren Roboters behandelt.
16
der BASIC-Stamp 2Teil 1:
Einführung und BoE-Hardware
Der Prototyp des B
Entwurf von Chuck Schoeffler, Ph. D.und Ken Gracey (Parallax)
KursinhaltTeil 1: Einleitung und BoE-Hard-ware (9/99)
Teil 2: Aufbau des BoE-Bots(10/99)Konstruktion und Bauzeichnungenzum Bau des Roboters.
Teil 3: PBASIC-Programmierung(11/99)Programmierung des BoE-Bots mitHilfe von Subroutinen, IF...THEN-Anweisungen und EEPROM-Spei-cherung, um einer vorgegebenenStrecke zu folgen.
Teil 4: Sensoren (12/99)Ein lichtempfindlicher Widerstandwird genutzt, damit der BoE-BotLichtstärke erfassen und der Licht-quelle folgen kann. Ein “intelligenter”Draht als Stoßstange und ein Piezo-summer für den Sound werdenebenfalls appliziert.
Teil 5: Infrarotsteuerung (1/00)Eine zusätzliche Infrarot-Diode alsNäherungs- und Fernbedienungs-sensor wird angeschlossen.
Teil 6: Weitere BoE-Projekte (2/00)Schaltbilder und Source-Kode-Ideenfür fortgeschrittene BoE-Projekte wieSonar oder Kommunikation.
MIKROPROZESSOREN
Programmieren mit
ges Kopfweh bereiten.Im ersten Teil wollen wir uns aberzunächst um den Aufbau der Hard-ware, der Platine der BASIC-Stamp 2widmen. Die Planung für den gesam-ten Programmierkurs können Sie demKasten entnehmen.
Zentraler Bestandteil des Roboters istdas Board of Education (BoE), dasnicht nur den BS2-Mikrocontrollersamt Spannungsstabilisierung undeine Schnittstelle zum PC trägt, son-dern dem Anwender auch ein Steck-feld zur Verfügung stellt, auf demApplikationen lötfrei angeordnet (undbequem wieder entfernt oder modifi-ziert) werden können. Das Originalbo-ard wurde von Parallax in Zusammen-arbeit mit Kunden aus dem edukativenBereich entwickelt, um das “Interfa-cing” mit Mikrocontrollern zu lehren.Zu diesem Board gehört ein (high-school-gerechtes) Curriculum mit derBezeichnung Stamps in Class, das man
als PDF-Datei kostenlos im Internetbeziehen kann. Dort sind auch dieabgesehen vom Einsatz im BoE-Botmannigfaltigen Verwendungsmöglich-keit des Boards of Education erläutert.Das Chassis des Roboters kann nachBelieben gefertigt werden, geschnitztaus Holz, geklebt aus Kunststoff oderCNC-gefräst aus Metall. Im zweitenTeil werden auch alle sonstigen mecha-nischen Bestandteile aufgeführt, dieselbstverständlich handelsüblich undleicht erhältlich sind.
B A S I C S T A M P 2M I K R O C O N T R O L L E RDie BASIC-Stamp 2 ist ein preisgünsti-ger Mikrocontroller mit eingebautemBASIC-Interpreter. Die meisten Mikro-controller benötigen eine spezielle undziemlich teure Programmierhardware.Nicht so das Herz des Roboters, dieBASIC Stamp 2. Hier einige Featuresdieses Mikrocontrollers:geringe AbmessungenBASIC-Interpreter-Firmware im
PIC16C57-MikrocontrollerBASIC-Programmspeicher im elek-
trisch löschbaren EEPROM. BeimEinschalten startet das Programmautomatisch. BASIC-Stamps kön-nen zu jeder Zeit über eine einfa-che serielle Verbindung zum PCprogrammiert werden. Der Edi-tor ist sehr leicht zu bedienen.Nach Fertigstellung überträgtman das neue Programm durcheinen einfachen Knopfdruck zurBASIC-Stamp.
I/O-Anschlüsse können mit digitalenSignalen kommunizieren undsogar kleine Lasten wie LEDstreiben.
Zu diesem Zeitpunkt wollen wir aberdas Stamp-Modul lediglich als Black-box betrachten. Wer noch niemals miteiner BASIC-Stamp zu tun hatte, kanndas Datenblatt, ein Handbuch, einenDOS- oder einen Windows-Editor vonder Parallax-Website oder vom deut-schen Distributor (Elektronikladen)herunterladen.
A U F B A U D E SB O A R D O F E D U C A T I O NDas Board of Education besteht ausdem BASIC-Stamp-2-Modul, einer sim-plen Spannungsversorgung, einemApplikationsbereich und einigen ein-fachen peripheren Elementen wieeinem Resettaster, einer LED undeinem seriellen Interface in Form einesSub-D-Verbinders. Bild 1 zeigt dasSchaltbild des Board of Education.IC1 ist eine 24polige DIL-Fassung, indie die BASIC-Stamp eingesetzt wird.Das Modul kommuniziert mit dem PCüber die serielle RS232-Schnittstelle.Dazu befindet sich ein 9poliger Sub-D-Verbinder auf der Platine. Eine rudi-mentäre Form des Handshakings wirddurch die kapazitive Kopplung desDTR-Signals (data terminal ready) vonPin 4 (K2) auf den ATN-Eingang desStamp-Moduls erreicht.Das BASIC-Stamp-Modul kann durcheinen Druck auf den Reset-Taster S1jederzeit und vor allem jedesmal nach
dem Download eines Programmszurückgesetzt werden. Alle I/O-Leitun-gen plus Vin sind auf Pfostenverbinder(K7, K8) geführt, die um den Applikati-onsbereich angeordnet sind. An denKopfseiten des Applikationsbereichssteht die stabilisierte und entkoppelteVersorgungsspannung von +5 V (K3und K5) sowie Masse (K4 und K6) fürdie Applikationen zur Verfügung.Auf den Applikationsbereich kann(muß aber nicht) eine Steckplatinebefestigt werden. Verwenden Sie spe-ziell konfektionierte Steckbrücken mithochwertigen Steckerchen (Conrad
17Elektor 9/99
K2
1
2
3
4
5
6
7
8
9
K8K7
K5 K4
K3 K6
C1
100n
C3
47µ40V
C4
1µ25V
7805
IC2
C2
100n
R1
2k2
D1
K1
S1
P0
P1
P2
P3
P4
P5
P6
P7 P8
P9
P10
P11
P12
P13
P14
P15
Vin
Vin Vin
P0
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
P13
P14
P15
P0
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
P13
P14
P15Sout
Sin
ATN
990050 - 11
5V
5V5V
5V
BASICSTAMP
10
11
12
II
13
14
15
16
17
18
19
20
21
22
23
241
2
3
4
5
6
7
8
9
Bt1
9V
S2
Bild 1. Schaltbild desBoards of Education.
1
´99, S. 1083), denn nur damit erreichenSie sichere Verbindungen und ein lan-ges Leben der Steckplatine.Eine simple Spannungsstabilisierungerlaubt die Versorgung der BASIC-Stamp durch eine Batterie oder einSteckernetzteil. Beide Spannungsquel-len müssen 9 V bei einem Strom von300 mA liefern können. Dazu kommennatürlich noch die angeschlossenenVerbraucher. Ein Aufsteckkühlkörperfür den Spannungsregler kann nichtschaden. Bitte beachten Sie, daßSteckernetzteil und Batterie nichtgleichzeitig angeschlossen sein dür-fen! LED D1 arbeitet als Betriebsspan-nungskontrolle.
K o n s t r u k t i o nPlatinenlayout und Bestückungsplandes Boards of Education sind in Bild 2zu sehen. Die einseitige Platine istinklusive zweier Steckplatinen im EPSerhältlich. Über die Bestellmodalitätenklärt die Service-Seite in der Heftmitteauf. Die Bestückung wirft nicht diegeringsten Probleme auf, wenn Sie diein der Stückliste aufgeführten Teile ver-wenden. Die Kondensatoren C3 undC4 und der Spannungsregler IC1 sindgepolte Bauteile und müssen richtig
18 Elektor 9/99
(C) ELEKTOR
990050-1
C1C2
C3 C4
D1
G G1
H1
H2 H3
H4
IC1
IC2K1
K2
K3
K4K5
K6K7 K8
R1
S1
S2
TT
T T
T
T
0
+
+
++
+ +
+P15
P15 P15P14P14
P13 P13P12P12
P11 P11P10P10
P9 P9P8P7P7
P8
P6 P6P5P5
P4 P4P3P3
P2 P2P1P1
P0 P0VinVin
P15 P15P14P14
P13 P13P12P12
P11 P11P10P10
P9 P9P8P7P7
P8
P6 P6P5P5
P4 P4P3P3
P2 P2P1P1
P0 P0VinVin
P15P14P13P12P11P10P9
P7P8
P6P5P4P3P2P1P0Vin
P14P13P12P11P10P9P8P7P6P5P4P3P2P1P0Vin
Bt1
+
-
990050-1
(C) ELEKTOR
990050-1
Stückliste
Widerstand:R1 = 2k2
Kondensatoren:C1,C2 = 100 nC3 = 47 m/40 V stehendC4 = 1 m/25 V stehend
Halbleiter:D1 = LED, rotIC1 = BASIC-Stamp-2-Modul
(Parallax))IC2 = 7805
Außerdem:Bt1 = 9-V-Block mit ClipK1 = 2polige Platinenan-
schlußklemme, RM7,5K2 = 9poliger Sub-D-Verbinder für
Platinenmontage, gewinkelt, female,mit Montagematerial
K3...K6 = 1˘4poliger Pfostenverbin-der, female, mit gedrehten Pins
K7,K8 = 1˘17poliger Pfostenverbin-der, female, mit gedrehten Pins
S1 = Drucktaster 1˘an, für Platinen-montage (ITC D6-R-RD)
S2 = Schiebeschalter 1˘um für Plati-nenmontage
1 St. 2˘14polige IC-FassungPlatine EPS 990050-1 (inklusive zwei
Steckplatinen)(siehe Service-Seiten in der Heftmitte)
Bild 2. Platinenlayoutund Bestückungsplander im Service erhältli-chen Platine.
2
herum festgelötet werden. Dies trifftnatürlich auch auf die BASIC-Stamp 2zu, die erst dann eingesteckt wird,wenn alle Lötarbeiten beendet und aufFehler (kalte Lötstellen, Lötspritzer)kontrolliert sind.Das von Elektor modifizierte Board ofEducation wird in drei Teile gesägt. Diebeiden separaten Applikationsbereichekann man – auf der Leiterbahnseite (!)ausgestattet mit geeigneten Steckerlei-sten – auf das BoE stecken und damitdie Applikation schnell und unkom-pliziert austauschen, ohne die Steck-platine jedesmal neu verdrahten zumüssen. Ein fertiges BoE weist folgende Fea-tures auf:
Einfache Aufsteckmontage von Appli-kationen, die von der BASIC-Stamp gesteuert werden.
9poliger Sub-D-Verbinder zur Pro-grammierung des BS2-ICs undserielle Kommunikatiomnwährend des Programmablaufs.
Die I/O-Pins P0...P15, Vdd (+5 V) undVss (Masse) stehen zweifach am4,4 cm2 großen Applikationsbe-reich zur Verfügung.
Verbindungslinien auf der Platine zwi-schen den I/O-Ports und dendazugehörenden Pfostenverbin-dern im Applikationsbereich
Batteriesektion mit Umschalter kannvom BoE getrennt werden, wenndieses ausschließlich durch einSteckernetzteil (9 V DC) versorgtwerden soll.
Zwei Aufsteck-Applikationsbereichemit Steckplatinen
L E R N E N O H N E B A U E N ?Natürlich ist es nicht jedermannsSache, die Programmierung derBASIC-Stamp 2 anhand eines Roboter-Modells zu erlernen. Als gut verständ-liches Lehrbuch eignet sich das eng-lischsprachige Curriculum Stamps inClass, daß kostenlos im Internet erhält-lich ist. Das Curriculum bietet Materialfür 36 Unterrichtsstunden plus 20Stunden Laborarbeit aus den Berei-chen Robotik, Sensorik, Umwelt-Meß-technik und Steuerungstechnik, allesauf Oberstufenniveau.Das Konzept, die BASIC-Stamp alsSteuerung für einen Roboter zu edu-
kativen Zwecken zu verwenden,stammt von Chuck Schoeffler, Dozentan der Universität von Idaho. Für seineersten Versuche verwendete Dr. Scho-effler übrigens ein BASIC Stamp 2 Car-rier Board, eine “Low-cost-Version” desBoE mit einem kleinen Lochrasterfeld,Sub-D-Verbinder und Reset-Taster.
(990050-1)rg
19Elektor 9/99
Internet-Adressenwww.parallaxinc.comAuf der Site von Parallax kann man das BASIC Stamp Manual Version 1.9, dieEditoren für die BASIC Stamps 1 und 2 (DOS und Windows) sowie zahlreicheProgrammbeispiele und die Adressen der internationalen Distributoren her-unterladen.
www.stampsinclass.comHier findet man die BoE-Dokumentation, das Robotics-Curriculum, Maß-zeichnungen des BoE-BOT in dxf- und dwg-Zeichenformat sowie eine Dis-kussionsgruppe zur edukativen Anwendung der BASIC-Stamp.
[email protected] des BoE-Bots und Autor dieser Artikelreihe
[email protected] dieses Artikels, technische Assistenz und Ansprechpartner für dasedukative Programm.
www.elektronikladen.deDeutscher Parallax-Distributor.
Bild 3. Dem fertigbestückten Board ofEducation werden inder nächsten FolgeBeine (beziehungs-weise Räder)gemacht.
3