MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner...

1

Transcript of MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner...

Page 1: MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner Roboter ist der ideale Weg, um den Umgang mit Mikrocontrollern und ihrer Verbin-dung

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

Page 2: MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner Roboter ist der ideale Weg, um den Umgang mit Mikrocontrollern und ihrer Verbin-dung

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

Page 3: MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner Roboter ist der ideale Weg, um den Umgang mit Mikrocontrollern und ihrer Verbin-dung

´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

Page 4: MIKROPROZESSOREN Programmieren mit der BASIC-Stamp 2 · Elektor 9/99 Die Konstruktion kleiner Roboter ist der ideale Weg, um den Umgang mit Mikrocontrollern und ihrer Verbin-dung

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